SlideShare a Scribd company logo
1 of 26
May 19, 2023 4:00 PM IST
Hyderabad MuleSoft Meetup
Group Present’s # 29
The ins and outs of RAML
Safe Harbour Statement
● Both the speaker and the host are organizing this meet-up in individual capacity only. We are
not representing our companies here.
● This presentation is strictly for learning purposes only. Organizer/Presenter do not hold any
responsibility that same solution will work for your business requirements.
● This presentation is not meant for any promotional activities.
2
A recording of this meetup will be uploaded to events page within 72 hours.
Questions can be submitted/asked at any time in the Chat/Questions & Answers Tab.
Make it more Interactive!!!
Share us the feedback! Rate this meetup session by filling feedback form at the end of the day.
We Love Feedbacks !!
Housekeeping
3
Organizer’s
About the Speaker :
Introduction
Neha Modi,
Senior Consultant, NJC labs
5
● Working as Senior Consultant @ NJC Labs.
● 7+ years of IT experience, specializing in integration space.
● Certified MuleSoft Developer & Architect.
● Mulesoft Mentor.
● Experience in Mule, Oracle SOA 12c, OSB, AWS, TIBCO BW.
● What is an API
● What is RAML
● API Specification vs API Fragments
● RAML design best practices
● Different Fragment Type and their Usage (Datatypes, Library, Security Schema etc)
● Demo
● Q&A
Agenda
6
All about RAML
● API stands for Application Programming Interface.
● API is way of communicating or interacting between two or more interfaces.
What is API
8
● RESTful API Modeling Language is a YAML based language for describing RESTful APIs.
● It is an API design language that allows developers to take advantage of the full API Design
Lifecycle, meaning that they can visually design their APIs, test them, and get user
feedback without ever having to write a single line of code.
What is RAML
9
An API fragment is a portion of an API specification, which is why understanding it starts at
the API specification level.
API Specification vs API Fragment
10
● Data Type
● Library
● Example
● Security Schemes
● Resource Types
● Traits
Fragment we will discuss
11
RAML file names are in lowercase, alphanumeric characters using kebab case (i.e. hyphen
separated).
For example:
● acme-banking-api.xml
● account-example.raml
● acme-bank-doc.raml
RAML Best Practices
12
● API Titles
○ The title of the API should be a short, plain text label for the API.
■ title: ACME Banking API
● API description
○ The description of the API should be a short, plain text label for the API.
■ description: API for ACME Banking Service
● Version
○ Each API should have a corresponding alphanumeric version number.
■ version: 1.0.0
● Protocols
○ The optional protocols node specifies the protocols that an API supports. If the protocols
node is not explicitly specified, the protocol in the baseUri node is used.
■ protocols: [HTTP, HTTPS]
RAML Header
13
● Specifying the OPTIONAL mediaType node sets the default media type for responses and
requests that have a body.
■ mediaType : application/json
RAML Media Type
14
● RAML DataTypes provide a concise and powerful way of describing the information utilized
within the API.
● DataTypes add rules for validating data against a type declaration.
● The types node within the API RAML is used to refer to external datatype.
Example:
DataType
15
● ResourceType is basically a template that is used to define the descriptions, methods, and parameters
that can be used by multiple resources without writing the duplicate code or repeating code.
● ResourceTypes should be created as separate files and included at the start of the API RAML file.
Example(collection.raml ):
ResourceType
16
● Traits is like function and is used to define common attributes for HTTP method ( PUT, POST,
PATCH, DELETE, etc) such as whether or not they are filterable, searchable, or pageable,etc.
● Traits should be created as separate files and included at the start of the API RAML file.
Examples:
Traits
17
● Each authentication pattern supported by the API must be expressed as an element of the security
Schemes node value.
● The security schemes should be created under a separate folder and included within the API RAML
file. Example:
Security Schemes
18
● RAML libraries are used to combine any collection of data type declarations, resource type
declarations, trait declarations, and security scheme declarations into modular,
externalized, reusable groups. While libraries are intended to define common declarations
in external documents, which are then included where needed, libraries can also be
defined inline.
Libraries
19
Keywords & its Usage
20
Sl.no Component Keyword in library Keywords in main
root raml
Sample
1 datatype types types types:
orderRq: !include /datatype/order.raml
2 resourceTypes resourceTypes resourceTypes resourceTypes:
collection: !include
/resourcetype/collctn.raml
3 traits traits is traits:
clientId: !include traits/clientId.raml
is: [clientId]
4 securityScheme
s
securitySchemes securedBy securitySchemes:
basic: !include /securityscheme/basic.raml
securedBy: [basic]
5 library NA uses uses:
myLib: /library/library.raml
6 examples - !include example: !include /examples/createOrder.xml
7 documentation usage documentation usage:
docs: !include
Demo
References
● https://blogs.mulesoft.com/learn-apis/api-led-connectivity/what-is-an-api-fragment/
● https://www.mulesoft.com/resources/api/design-apis-easily-with-RAML
● https://docs.mulesoft.com/api-manager/2.x/prepare-raml-task
22
Q&A
Take a stand !
24
●Nominate yourself for the next meetup speaker
https://sfdc.co/hyd-meetup-nomination
25
● Share:
○ Tweet using the hashtag #MuleSoftMeetups #MuleSoftCommunity
○ Join Hyderabad Group: https://meetups.mulesoft.com/hyderabad
● Feedback:
○ Fill out the survey feedback and suggest topics for upcoming events
○ Contact MuleSoft at meetups@mulesoft.com for ways to improve the program
What’s next?
Thank You

More Related Content

What's hot

How to GraphQL
How to GraphQLHow to GraphQL
How to GraphQLTomasz Bak
 
Four Scenarios for an Integration Service Environment (ISE)
Four Scenarios for an Integration Service Environment (ISE)Four Scenarios for an Integration Service Environment (ISE)
Four Scenarios for an Integration Service Environment (ISE)Daniel Toomey
 
API first Design and Microservices
API first Design and MicroservicesAPI first Design and Microservices
API first Design and MicroservicesSven Bernhardt
 
Application Architecture: The Next Wave | MuleSoft
Application Architecture: The Next Wave | MuleSoftApplication Architecture: The Next Wave | MuleSoft
Application Architecture: The Next Wave | MuleSoftMuleSoft
 
Communication Strategies for a Virtual Age Peer Graded Assignment - LINKEDIN
Communication Strategies for a Virtual Age Peer Graded Assignment - LINKEDINCommunication Strategies for a Virtual Age Peer Graded Assignment - LINKEDIN
Communication Strategies for a Virtual Age Peer Graded Assignment - LINKEDINPinintiHarishReddy
 
Top 50 MuleSoft interview questions
Top 50 MuleSoft interview questionsTop 50 MuleSoft interview questions
Top 50 MuleSoft interview questionstechievarsity
 
Enterprise Application Integration Technologies
Enterprise Application Integration TechnologiesEnterprise Application Integration Technologies
Enterprise Application Integration TechnologiesPeter R. Egli
 
Frequently asked MuleSoft Interview Questions and Answers from Techlightning
Frequently asked MuleSoft Interview Questions and Answers from TechlightningFrequently asked MuleSoft Interview Questions and Answers from Techlightning
Frequently asked MuleSoft Interview Questions and Answers from TechlightningArul ChristhuRaj Alphonse
 
Gathering Operational Intelligence in Complex Environments at Splunk
Gathering Operational Intelligence in Complex Environments at SplunkGathering Operational Intelligence in Complex Environments at Splunk
Gathering Operational Intelligence in Complex Environments at SplunkMuleSoft
 
Introduction to Istio Service Mesh
Introduction to Istio Service MeshIntroduction to Istio Service Mesh
Introduction to Istio Service MeshGeorgios Andrianakis
 
SaaS Springboard API
SaaS Springboard APISaaS Springboard API
SaaS Springboard APIRob Bertholf
 
The Past, Present and Future of Enterprise Integration
The Past, Present and Future of  Enterprise IntegrationThe Past, Present and Future of  Enterprise Integration
The Past, Present and Future of Enterprise IntegrationKasun Indrasiri
 
Kafka pub sub demo
Kafka pub sub demoKafka pub sub demo
Kafka pub sub demoSrish Kumar
 
Introduction to soa suite 12c in 20 slides
Introduction to soa suite 12c in 20 slidesIntroduction to soa suite 12c in 20 slides
Introduction to soa suite 12c in 20 slidesVincenzo Capozzoli
 
MuleSoft Architecture Presentation
MuleSoft Architecture PresentationMuleSoft Architecture Presentation
MuleSoft Architecture PresentationRupesh Sinha
 
MuleSoft Sizing Guidelines - VirtualMuleys
MuleSoft Sizing Guidelines - VirtualMuleysMuleSoft Sizing Guidelines - VirtualMuleys
MuleSoft Sizing Guidelines - VirtualMuleysAngel Alberici
 

What's hot (20)

How to GraphQL
How to GraphQLHow to GraphQL
How to GraphQL
 
Introduction to GraphQL
Introduction to GraphQLIntroduction to GraphQL
Introduction to GraphQL
 
Four Scenarios for an Integration Service Environment (ISE)
Four Scenarios for an Integration Service Environment (ISE)Four Scenarios for an Integration Service Environment (ISE)
Four Scenarios for an Integration Service Environment (ISE)
 
API first Design and Microservices
API first Design and MicroservicesAPI first Design and Microservices
API first Design and Microservices
 
Mule api management
Mule  api managementMule  api management
Mule api management
 
Application Architecture: The Next Wave | MuleSoft
Application Architecture: The Next Wave | MuleSoftApplication Architecture: The Next Wave | MuleSoft
Application Architecture: The Next Wave | MuleSoft
 
Communication Strategies for a Virtual Age Peer Graded Assignment - LINKEDIN
Communication Strategies for a Virtual Age Peer Graded Assignment - LINKEDINCommunication Strategies for a Virtual Age Peer Graded Assignment - LINKEDIN
Communication Strategies for a Virtual Age Peer Graded Assignment - LINKEDIN
 
Wso2 API Manager Fundamentals
Wso2 API Manager FundamentalsWso2 API Manager Fundamentals
Wso2 API Manager Fundamentals
 
Top 50 MuleSoft interview questions
Top 50 MuleSoft interview questionsTop 50 MuleSoft interview questions
Top 50 MuleSoft interview questions
 
Enterprise Application Integration Technologies
Enterprise Application Integration TechnologiesEnterprise Application Integration Technologies
Enterprise Application Integration Technologies
 
Frequently asked MuleSoft Interview Questions and Answers from Techlightning
Frequently asked MuleSoft Interview Questions and Answers from TechlightningFrequently asked MuleSoft Interview Questions and Answers from Techlightning
Frequently asked MuleSoft Interview Questions and Answers from Techlightning
 
Gathering Operational Intelligence in Complex Environments at Splunk
Gathering Operational Intelligence in Complex Environments at SplunkGathering Operational Intelligence in Complex Environments at Splunk
Gathering Operational Intelligence in Complex Environments at Splunk
 
Introduction to Istio Service Mesh
Introduction to Istio Service MeshIntroduction to Istio Service Mesh
Introduction to Istio Service Mesh
 
SaaS Springboard API
SaaS Springboard APISaaS Springboard API
SaaS Springboard API
 
The Past, Present and Future of Enterprise Integration
The Past, Present and Future of  Enterprise IntegrationThe Past, Present and Future of  Enterprise Integration
The Past, Present and Future of Enterprise Integration
 
Kafka pub sub demo
Kafka pub sub demoKafka pub sub demo
Kafka pub sub demo
 
Introduction to soa suite 12c in 20 slides
Introduction to soa suite 12c in 20 slidesIntroduction to soa suite 12c in 20 slides
Introduction to soa suite 12c in 20 slides
 
MuleSoft Architecture Presentation
MuleSoft Architecture PresentationMuleSoft Architecture Presentation
MuleSoft Architecture Presentation
 
MuleSoft Sizing Guidelines - VirtualMuleys
MuleSoft Sizing Guidelines - VirtualMuleysMuleSoft Sizing Guidelines - VirtualMuleys
MuleSoft Sizing Guidelines - VirtualMuleys
 
RabbitMQ & Kafka
RabbitMQ & KafkaRabbitMQ & Kafka
RabbitMQ & Kafka
 

Similar to The ins and outs of RAML

Faridabad MuleSoft Meetup Group (1).pdf
Faridabad MuleSoft Meetup Group (1).pdfFaridabad MuleSoft Meetup Group (1).pdf
Faridabad MuleSoft Meetup Group (1).pdfRohitSingh585124
 
mulesoft birmingham meetup_api_designing_with_raml
mulesoft birmingham meetup_api_designing_with_ramlmulesoft birmingham meetup_api_designing_with_raml
mulesoft birmingham meetup_api_designing_with_ramlmohammadsakifuddin
 
API Specifications and Best Practices | MuleSoft Mysore Meetup #4
API Specifications and Best Practices | MuleSoft Mysore Meetup #4API Specifications and Best Practices | MuleSoft Mysore Meetup #4
API Specifications and Best Practices | MuleSoft Mysore Meetup #4MysoreMuleSoftMeetup
 
MuleSoft Surat Virtual Meetup#9 - RAML Reusability and Simplified
MuleSoft Surat Virtual Meetup#9 - RAML Reusability and SimplifiedMuleSoft Surat Virtual Meetup#9 - RAML Reusability and Simplified
MuleSoft Surat Virtual Meetup#9 - RAML Reusability and SimplifiedJitendra Bafna
 
Mule soft meetup_4_mty_online_oct_2020
Mule soft meetup_4_mty_online_oct_2020Mule soft meetup_4_mty_online_oct_2020
Mule soft meetup_4_mty_online_oct_2020Veyra Celina
 
Faridabad Mulesoft Meetup Oct 10
Faridabad Mulesoft Meetup Oct 10Faridabad Mulesoft Meetup Oct 10
Faridabad Mulesoft Meetup Oct 10Amit Singh
 
Deep Dive into REST API Development | MuleSoft Mysore Meetup #16
Deep Dive into REST API Development | MuleSoft Mysore Meetup #16Deep Dive into REST API Development | MuleSoft Mysore Meetup #16
Deep Dive into REST API Development | MuleSoft Mysore Meetup #16MysoreMuleSoftMeetup
 
#7 Deep Dive into RAML 1.0 .pptx
#7 Deep Dive into RAML 1.0 .pptx#7 Deep Dive into RAML 1.0 .pptx
#7 Deep Dive into RAML 1.0 .pptxJohnMathewPhilip1
 
Engineering Student MuleSoft Meetup#2 - API Design Using Restful API Modelin...
Engineering Student MuleSoft  Meetup#2 - API Design Using Restful API Modelin...Engineering Student MuleSoft  Meetup#2 - API Design Using Restful API Modelin...
Engineering Student MuleSoft Meetup#2 - API Design Using Restful API Modelin...Jitendra Bafna
 
API design concepts [Intro]
API design concepts [Intro]API design concepts [Intro]
API design concepts [Intro]Anas Jamil
 
Mule soft meetup__official__feb-27_2021
Mule soft meetup__official__feb-27_2021Mule soft meetup__official__feb-27_2021
Mule soft meetup__official__feb-27_2021sumitahuja94
 
MuleSoft Surat Meetup#39 - Pragmatic API Led Connectivity
MuleSoft Surat Meetup#39 - Pragmatic API Led ConnectivityMuleSoft Surat Meetup#39 - Pragmatic API Led Connectivity
MuleSoft Surat Meetup#39 - Pragmatic API Led ConnectivityJitendra Bafna
 
Dublin_mulesoft_meetup_API_specifications.pptx
Dublin_mulesoft_meetup_API_specifications.pptxDublin_mulesoft_meetup_API_specifications.pptx
Dublin_mulesoft_meetup_API_specifications.pptxKunal Gupta
 
Mumbai MuleSoft Meetup #15
Mumbai MuleSoft Meetup #15Mumbai MuleSoft Meetup #15
Mumbai MuleSoft Meetup #15Akshata Sawant
 
A Tool For Big Data Analysis using Apache Spark
A Tool For Big Data Analysis using Apache SparkA Tool For Big Data Analysis using Apache Spark
A Tool For Big Data Analysis using Apache Sparkdatamantra
 
API (Application program interface)
API (Application program interface)API (Application program interface)
API (Application program interface)Muhammad Jahanzaib
 
INTERFACE by apidays 2023 - API Design Governance, Nauman Ali, Stoplight
INTERFACE by apidays 2023 - API Design Governance, Nauman Ali, StoplightINTERFACE by apidays 2023 - API Design Governance, Nauman Ali, Stoplight
INTERFACE by apidays 2023 - API Design Governance, Nauman Ali, Stoplightapidays
 

Similar to The ins and outs of RAML (20)

Faridabad MuleSoft Meetup Group (1).pdf
Faridabad MuleSoft Meetup Group (1).pdfFaridabad MuleSoft Meetup Group (1).pdf
Faridabad MuleSoft Meetup Group (1).pdf
 
mulesoft birmingham meetup_api_designing_with_raml
mulesoft birmingham meetup_api_designing_with_ramlmulesoft birmingham meetup_api_designing_with_raml
mulesoft birmingham meetup_api_designing_with_raml
 
API Specifications and Best Practices | MuleSoft Mysore Meetup #4
API Specifications and Best Practices | MuleSoft Mysore Meetup #4API Specifications and Best Practices | MuleSoft Mysore Meetup #4
API Specifications and Best Practices | MuleSoft Mysore Meetup #4
 
MuleSoft Surat Virtual Meetup#9 - RAML Reusability and Simplified
MuleSoft Surat Virtual Meetup#9 - RAML Reusability and SimplifiedMuleSoft Surat Virtual Meetup#9 - RAML Reusability and Simplified
MuleSoft Surat Virtual Meetup#9 - RAML Reusability and Simplified
 
Mule soft meetup_4_mty_online_oct_2020
Mule soft meetup_4_mty_online_oct_2020Mule soft meetup_4_mty_online_oct_2020
Mule soft meetup_4_mty_online_oct_2020
 
Faridabad Mulesoft Meetup Oct 10
Faridabad Mulesoft Meetup Oct 10Faridabad Mulesoft Meetup Oct 10
Faridabad Mulesoft Meetup Oct 10
 
Deep Dive into REST API Development | MuleSoft Mysore Meetup #16
Deep Dive into REST API Development | MuleSoft Mysore Meetup #16Deep Dive into REST API Development | MuleSoft Mysore Meetup #16
Deep Dive into REST API Development | MuleSoft Mysore Meetup #16
 
#7 Deep Dive into RAML 1.0 .pptx
#7 Deep Dive into RAML 1.0 .pptx#7 Deep Dive into RAML 1.0 .pptx
#7 Deep Dive into RAML 1.0 .pptx
 
Engineering Student MuleSoft Meetup#2 - API Design Using Restful API Modelin...
Engineering Student MuleSoft  Meetup#2 - API Design Using Restful API Modelin...Engineering Student MuleSoft  Meetup#2 - API Design Using Restful API Modelin...
Engineering Student MuleSoft Meetup#2 - API Design Using Restful API Modelin...
 
API design concepts [Intro]
API design concepts [Intro]API design concepts [Intro]
API design concepts [Intro]
 
Software Development with PHP & Laravel
Software Development  with PHP & LaravelSoftware Development  with PHP & Laravel
Software Development with PHP & Laravel
 
Mule soft meetup__official__feb-27_2021
Mule soft meetup__official__feb-27_2021Mule soft meetup__official__feb-27_2021
Mule soft meetup__official__feb-27_2021
 
Empathic API-Design
Empathic API-DesignEmpathic API-Design
Empathic API-Design
 
MuleSoft Surat Meetup#39 - Pragmatic API Led Connectivity
MuleSoft Surat Meetup#39 - Pragmatic API Led ConnectivityMuleSoft Surat Meetup#39 - Pragmatic API Led Connectivity
MuleSoft Surat Meetup#39 - Pragmatic API Led Connectivity
 
Dublin_mulesoft_meetup_API_specifications.pptx
Dublin_mulesoft_meetup_API_specifications.pptxDublin_mulesoft_meetup_API_specifications.pptx
Dublin_mulesoft_meetup_API_specifications.pptx
 
Mumbai MuleSoft Meetup #15
Mumbai MuleSoft Meetup #15Mumbai MuleSoft Meetup #15
Mumbai MuleSoft Meetup #15
 
A Tool For Big Data Analysis using Apache Spark
A Tool For Big Data Analysis using Apache SparkA Tool For Big Data Analysis using Apache Spark
A Tool For Big Data Analysis using Apache Spark
 
Raml
RamlRaml
Raml
 
API (Application program interface)
API (Application program interface)API (Application program interface)
API (Application program interface)
 
INTERFACE by apidays 2023 - API Design Governance, Nauman Ali, Stoplight
INTERFACE by apidays 2023 - API Design Governance, Nauman Ali, StoplightINTERFACE by apidays 2023 - API Design Governance, Nauman Ali, Stoplight
INTERFACE by apidays 2023 - API Design Governance, Nauman Ali, Stoplight
 

More from MuleSoft Meetups

MuleSoft + Augmented Reality & ChatGPT
MuleSoft + Augmented Reality & ChatGPTMuleSoft + Augmented Reality & ChatGPT
MuleSoft + Augmented Reality & ChatGPTMuleSoft Meetups
 
Anypoint API Manager Custom Policies & Best Practices
Anypoint API Manager Custom Policies & Best PracticesAnypoint API Manager Custom Policies & Best Practices
Anypoint API Manager Custom Policies & Best PracticesMuleSoft Meetups
 
Anypoint Custom Metrics Mastery
Anypoint Custom Metrics MasteryAnypoint Custom Metrics Mastery
Anypoint Custom Metrics MasteryMuleSoft Meetups
 
DataWeave Extension Library
DataWeave Extension LibraryDataWeave Extension Library
DataWeave Extension LibraryMuleSoft Meetups
 
MuleSoft + Augmented Reality & ChatGPT
MuleSoft + Augmented Reality & ChatGPTMuleSoft + Augmented Reality & ChatGPT
MuleSoft + Augmented Reality & ChatGPTMuleSoft Meetups
 

More from MuleSoft Meetups (6)

MuleSoft + Augmented Reality & ChatGPT
MuleSoft + Augmented Reality & ChatGPTMuleSoft + Augmented Reality & ChatGPT
MuleSoft + Augmented Reality & ChatGPT
 
Anypoint API Manager Custom Policies & Best Practices
Anypoint API Manager Custom Policies & Best PracticesAnypoint API Manager Custom Policies & Best Practices
Anypoint API Manager Custom Policies & Best Practices
 
API LifeCycle Management
API LifeCycle ManagementAPI LifeCycle Management
API LifeCycle Management
 
Anypoint Custom Metrics Mastery
Anypoint Custom Metrics MasteryAnypoint Custom Metrics Mastery
Anypoint Custom Metrics Mastery
 
DataWeave Extension Library
DataWeave Extension LibraryDataWeave Extension Library
DataWeave Extension Library
 
MuleSoft + Augmented Reality & ChatGPT
MuleSoft + Augmented Reality & ChatGPTMuleSoft + Augmented Reality & ChatGPT
MuleSoft + Augmented Reality & ChatGPT
 

Recently uploaded

Auto Affiliate AI Earns First Commission in 3 Hours..pdf
Auto Affiliate  AI Earns First Commission in 3 Hours..pdfAuto Affiliate  AI Earns First Commission in 3 Hours..pdf
Auto Affiliate AI Earns First Commission in 3 Hours..pdfSelfMade bd
 
Weeding your micro service landscape.pdf
Weeding your micro service landscape.pdfWeeding your micro service landscape.pdf
Weeding your micro service landscape.pdftimtebeek1
 
Transformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with LinksTransformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with LinksJinanKordab
 
The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)Roberto Bettazzoni
 
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-CloudAlluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-CloudAlluxio, Inc.
 
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...Abortion Clinic
 
Community is Just as Important as Code by Andrea Goulet
Community is Just as Important as Code by Andrea GouletCommunity is Just as Important as Code by Andrea Goulet
Community is Just as Important as Code by Andrea GouletAndrea Goulet
 
GraphSummit Milan - Neo4j: The Art of the Possible with Graph
GraphSummit Milan - Neo4j: The Art of the Possible with GraphGraphSummit Milan - Neo4j: The Art of the Possible with Graph
GraphSummit Milan - Neo4j: The Art of the Possible with GraphNeo4j
 
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit MilanWorkshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit MilanNeo4j
 
Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Eraconfluent
 
Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Henry Schreiner
 
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdfAzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdfryanfarris8
 
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale IbridaUNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale IbridaNeo4j
 
Prompt Engineering - an Art, a Science, or your next Job Title?
Prompt Engineering - an Art, a Science, or your next Job Title?Prompt Engineering - an Art, a Science, or your next Job Title?
Prompt Engineering - an Art, a Science, or your next Job Title?Maxim Salnikov
 
Rapidoform for Modern Form Building and Insights
Rapidoform for Modern Form Building and InsightsRapidoform for Modern Form Building and Insights
Rapidoform for Modern Form Building and Insightsrapidoform
 
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024SimonedeGijt
 

Recently uploaded (20)

Auto Affiliate AI Earns First Commission in 3 Hours..pdf
Auto Affiliate  AI Earns First Commission in 3 Hours..pdfAuto Affiliate  AI Earns First Commission in 3 Hours..pdf
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
 
Weeding your micro service landscape.pdf
Weeding your micro service landscape.pdfWeeding your micro service landscape.pdf
Weeding your micro service landscape.pdf
 
Transformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with LinksTransformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with Links
 
The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)
 
Abortion Clinic In Pongola ](+27832195400*)[ 🏥 Safe Abortion Pills In Pongola...
Abortion Clinic In Pongola ](+27832195400*)[ 🏥 Safe Abortion Pills In Pongola...Abortion Clinic In Pongola ](+27832195400*)[ 🏥 Safe Abortion Pills In Pongola...
Abortion Clinic In Pongola ](+27832195400*)[ 🏥 Safe Abortion Pills In Pongola...
 
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-CloudAlluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
 
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
 
Community is Just as Important as Code by Andrea Goulet
Community is Just as Important as Code by Andrea GouletCommunity is Just as Important as Code by Andrea Goulet
Community is Just as Important as Code by Andrea Goulet
 
GraphSummit Milan - Neo4j: The Art of the Possible with Graph
GraphSummit Milan - Neo4j: The Art of the Possible with GraphGraphSummit Milan - Neo4j: The Art of the Possible with Graph
GraphSummit Milan - Neo4j: The Art of the Possible with Graph
 
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
 
Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...
Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...
Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...
 
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit MilanWorkshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
 
Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Era
 
Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024
 
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdfAzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
 
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale IbridaUNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
 
Prompt Engineering - an Art, a Science, or your next Job Title?
Prompt Engineering - an Art, a Science, or your next Job Title?Prompt Engineering - an Art, a Science, or your next Job Title?
Prompt Engineering - an Art, a Science, or your next Job Title?
 
Rapidoform for Modern Form Building and Insights
Rapidoform for Modern Form Building and InsightsRapidoform for Modern Form Building and Insights
Rapidoform for Modern Form Building and Insights
 
Abortion Clinic In Stanger ](+27832195400*)[ 🏥 Safe Abortion Pills In Stanger...
Abortion Clinic In Stanger ](+27832195400*)[ 🏥 Safe Abortion Pills In Stanger...Abortion Clinic In Stanger ](+27832195400*)[ 🏥 Safe Abortion Pills In Stanger...
Abortion Clinic In Stanger ](+27832195400*)[ 🏥 Safe Abortion Pills In Stanger...
 
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
 

The ins and outs of RAML

  • 1. May 19, 2023 4:00 PM IST Hyderabad MuleSoft Meetup Group Present’s # 29 The ins and outs of RAML
  • 2. Safe Harbour Statement ● Both the speaker and the host are organizing this meet-up in individual capacity only. We are not representing our companies here. ● This presentation is strictly for learning purposes only. Organizer/Presenter do not hold any responsibility that same solution will work for your business requirements. ● This presentation is not meant for any promotional activities. 2
  • 3. A recording of this meetup will be uploaded to events page within 72 hours. Questions can be submitted/asked at any time in the Chat/Questions & Answers Tab. Make it more Interactive!!! Share us the feedback! Rate this meetup session by filling feedback form at the end of the day. We Love Feedbacks !! Housekeeping 3
  • 5. About the Speaker : Introduction Neha Modi, Senior Consultant, NJC labs 5 ● Working as Senior Consultant @ NJC Labs. ● 7+ years of IT experience, specializing in integration space. ● Certified MuleSoft Developer & Architect. ● Mulesoft Mentor. ● Experience in Mule, Oracle SOA 12c, OSB, AWS, TIBCO BW.
  • 6. ● What is an API ● What is RAML ● API Specification vs API Fragments ● RAML design best practices ● Different Fragment Type and their Usage (Datatypes, Library, Security Schema etc) ● Demo ● Q&A Agenda 6
  • 8. ● API stands for Application Programming Interface. ● API is way of communicating or interacting between two or more interfaces. What is API 8
  • 9. ● RESTful API Modeling Language is a YAML based language for describing RESTful APIs. ● It is an API design language that allows developers to take advantage of the full API Design Lifecycle, meaning that they can visually design their APIs, test them, and get user feedback without ever having to write a single line of code. What is RAML 9
  • 10. An API fragment is a portion of an API specification, which is why understanding it starts at the API specification level. API Specification vs API Fragment 10
  • 11. ● Data Type ● Library ● Example ● Security Schemes ● Resource Types ● Traits Fragment we will discuss 11
  • 12. RAML file names are in lowercase, alphanumeric characters using kebab case (i.e. hyphen separated). For example: ● acme-banking-api.xml ● account-example.raml ● acme-bank-doc.raml RAML Best Practices 12
  • 13. ● API Titles ○ The title of the API should be a short, plain text label for the API. ■ title: ACME Banking API ● API description ○ The description of the API should be a short, plain text label for the API. ■ description: API for ACME Banking Service ● Version ○ Each API should have a corresponding alphanumeric version number. ■ version: 1.0.0 ● Protocols ○ The optional protocols node specifies the protocols that an API supports. If the protocols node is not explicitly specified, the protocol in the baseUri node is used. ■ protocols: [HTTP, HTTPS] RAML Header 13
  • 14. ● Specifying the OPTIONAL mediaType node sets the default media type for responses and requests that have a body. ■ mediaType : application/json RAML Media Type 14
  • 15. ● RAML DataTypes provide a concise and powerful way of describing the information utilized within the API. ● DataTypes add rules for validating data against a type declaration. ● The types node within the API RAML is used to refer to external datatype. Example: DataType 15
  • 16. ● ResourceType is basically a template that is used to define the descriptions, methods, and parameters that can be used by multiple resources without writing the duplicate code or repeating code. ● ResourceTypes should be created as separate files and included at the start of the API RAML file. Example(collection.raml ): ResourceType 16
  • 17. ● Traits is like function and is used to define common attributes for HTTP method ( PUT, POST, PATCH, DELETE, etc) such as whether or not they are filterable, searchable, or pageable,etc. ● Traits should be created as separate files and included at the start of the API RAML file. Examples: Traits 17
  • 18. ● Each authentication pattern supported by the API must be expressed as an element of the security Schemes node value. ● The security schemes should be created under a separate folder and included within the API RAML file. Example: Security Schemes 18
  • 19. ● RAML libraries are used to combine any collection of data type declarations, resource type declarations, trait declarations, and security scheme declarations into modular, externalized, reusable groups. While libraries are intended to define common declarations in external documents, which are then included where needed, libraries can also be defined inline. Libraries 19
  • 20. Keywords & its Usage 20 Sl.no Component Keyword in library Keywords in main root raml Sample 1 datatype types types types: orderRq: !include /datatype/order.raml 2 resourceTypes resourceTypes resourceTypes resourceTypes: collection: !include /resourcetype/collctn.raml 3 traits traits is traits: clientId: !include traits/clientId.raml is: [clientId] 4 securityScheme s securitySchemes securedBy securitySchemes: basic: !include /securityscheme/basic.raml securedBy: [basic] 5 library NA uses uses: myLib: /library/library.raml 6 examples - !include example: !include /examples/createOrder.xml 7 documentation usage documentation usage: docs: !include
  • 21. Demo
  • 23. Q&A
  • 24. Take a stand ! 24 ●Nominate yourself for the next meetup speaker https://sfdc.co/hyd-meetup-nomination
  • 25. 25 ● Share: ○ Tweet using the hashtag #MuleSoftMeetups #MuleSoftCommunity ○ Join Hyderabad Group: https://meetups.mulesoft.com/hyderabad ● Feedback: ○ Fill out the survey feedback and suggest topics for upcoming events ○ Contact MuleSoft at meetups@mulesoft.com for ways to improve the program What’s next?