DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Please enter at least three characters to search
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

The software you build is only as secure as the code that powers it. Learn how malicious code creeps into your software supply chain.

Apache Cassandra combines the benefits of major NoSQL databases to support data management needs not covered by traditional RDBMS vendors.

Generative AI has transformed nearly every industry. How can you leverage GenAI to improve your productivity and efficiency?

Modernize your data layer. Learn how to design cloud-native database architectures to meet the evolving demands of AI and GenAI workloads.

Related

  • How to Build an OpenAI Custom GPT With a Third-Party API
  • Implement OpenAPI for AWS Lambda in Quarkus Using API Gateway Integrator
  • What Is API-First?
  • The Easiest and Quickest Way to Generate an OpenAPI Spec for an Existing Website

Trending

  • How to Ensure Cross-Time Zone Data Integrity and Consistency in Global Data Pipelines
  • Understanding IEEE 802.11(Wi-Fi) Encryption and Authentication: Write Your Own Custom Packet Sniffer
  • How Kubernetes Cluster Sizing Affects Performance and Cost Efficiency in Cloud Deployments
  • Orchestrating Microservices with Dapr: A Unified Approach
  1. DZone
  2. Software Design and Architecture
  3. Integration
  4. RAML or OpenAPI - How About Both?

RAML or OpenAPI - How About Both?

Struggling to decide which API spec to adopt, RAML or OpenAPI? Mulesoft recently lowered the risk of your choice by making the decision to support both specifications.

By 
John Vester user avatar
John Vester
DZone Core CORE ·
May. 09, 17 · News
Likes (4)
Comment
Save
Tweet
Share
14.9K Views

Join the DZone community and get the full member experience.

Join For Free

For those who remember the debate between VHS and Betamax or Blu-ray and HD DVD, there were vendors on both sides of the technology - banking that their decision would be the chosen standard. Until VHS and Blu-ray were victorious, a great deal of effort was put into the Betamax and HD DVD technology, which was lost when the rival solutions became victorious.

In technology, there have been competing standards over the years. Some may remember the Internet browser wars (Internet Explorer versus Netscape), the whole video streaming competition (Microsoft and RealNetworks), and even the three-way battle for the de facto standard for office productivity (Microsoft, Borland, and Lotus).

Today, I am focusing on the race for an API standard, with the two major specifications being RAML and OpenAPI.

About RAML

RESTful API Modeling Language (RAML) is a language intended to describe RESTful APIs. The RAML effort was first proposed in 2013 and garnered support from technology leaders like MuleSoft, AngularJS, Intuit, Box, PayPal, Programmable Web and API Web Science, Kin Lane, SOA Software, and Cisco.

The goal of RAML is to provide all the necessary information to describe RESTful APIs, thus providing a simpler way to design APIs.

About OpenAPI

The OpenAPI specification provides support from Google, IBM, and Microsoft and was built from the Swagger specification, owned by SmartBear software since March 2015. Using the OpenAPI specification within program code, files can automatically be created to document methods, parameters, and even models.

The goal of OpenAPI is to keep documentation, client libraries and source code all in sync.

Which to Pick?

Depending on prior projects, I have been able to utilize both approaches. Honestly, both specifications have a great deal of promise and have the "right" end goal in mind - to provide easy/automatic descriptions and documentation around APIs.

From a functional perspective, Swagger has been a proven solution - providing strong documentation tied directly to the source code, which is a nice feature. RAML seems to be a step ahead - providing the idea to conceptualize and simulate the functionality, which is certainly a benefit in the design phase.

Mulesoft's Approach

Until recently, Mulesoft was a strong contributor to the RAML effort. In fact, a great deal of their training and media announcements included references to RAML as a benefit to using their preferred specification.

As detailed in the "Open API and RAML: Better Together" blog entry by Uri Sarid, Mulesoft is now adding support for the OpenAPI specification into their API toolset. The addition of the API Modeling Framework (AMF) open-source offering should provide comfort for those using the Mulesoft platform for their API needs.

To compare Mulesoft's approach with similar standards battles, it would be like Mulesoft mass producing both VCR and Betamax devices or Blu-ray and HD DVD devices. Certainly, the effort involved wasn't minimal and the additional tasks involved were not required, but their decision to continue to focus on the greater good of the API specification is evident with their decision.

Which standard do you think will win in the end?

Have a really great day!

Blu-ray OpenAPI Specification API

Opinions expressed by DZone contributors are their own.

Related

  • How to Build an OpenAI Custom GPT With a Third-Party API
  • Implement OpenAPI for AWS Lambda in Quarkus Using API Gateway Integrator
  • What Is API-First?
  • The Easiest and Quickest Way to Generate an OpenAPI Spec for an Existing Website

Partner Resources

×

Comments
Oops! Something Went Wrong

The likes didn't load as expected. Please refresh the page and try again.

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends:

Likes
There are no likes...yet! 👀
Be the first to like this post!
It looks like you're not logged in.
Sign in to see who liked this post!