2. 2
Organizers
Jitendra Bafna
Senior Solution Architect
Capgemini
About the organizer:
Working as Senior Solution Architect at Capgemini.
Surat MuleSoft Meetup Leader and MuleSoft Ambassador.
12.5+ Years of Experience in Integrations and API
Technologies.
Certified MuleSoft Integration Architect and platform
Architect.
3. 3
Organizers
Nitish Jain
Consultant
IBM
About the organizer :
Working as Consultant at IBM.
Surat MuleSoft Meetup Leader.
2.5+ Years of Experience in Integrations and API Technologies.
Certified MuleSoft Developer and Platform Architect.
4. 4
Speakers
Jitendra Bafna
Senior Solution Architect
Capgemini
About the speaker:
Working as Senior Solution Architect at Capgemini.
Surat MuleSoft Meetup Leader and MuleSoft Ambassador.
12.5+ Years of Experience in Integrations and API
Technologies.
Certified MuleSoft Integration Architect and platform
Architect.
5. CHEERS..!!
We have prizes to give away!
3 Winners a special prize is ready
5
A SHOW OF HANDS:
New Members With Us.!!
6. Agenda
What is RAML?
Traits and
Resource Types
Library and
Fragments
Security
Schemes
Overlays and
Extensions
Live
Demonstration
Trivia Quiz
8. ❖ API stands for Application Programming Interface.
❖ API is way of communicating or interacting between two or more interfaces.
❖ API is a software intermediary that allows two applications to talk to each other. Each time you
use an app like Facebook, send an instant message, or check the weather on your phone,
you’re using an API.
8
What is API?
9. Richardson API Maturity Model
9
Level 0: The Swamp of POX
Level 1: Resources
Level 2: HTTP Verbs
Level 3: Hypermedia Controls
12. ❖ RAML was first proposed in 2013. The initial RAML specification was authored by Uri Sarid,
Emiliano Lesende, Santiago Vacas and Damian Martinez, and garnered support from
technology leaders like MuleSoft, AngularJS, Intuit, Box, PayPal, Programmable Web and API
Web Science, Kin Lane, SOA Software, and Cisco. Development is managed by the RAML
Workgroup.
❖ RESTful API Modeling Language is a YAML-based language for describing RESTful APIs. It
provides all the information necessary to describe RESTful or practically RESTful APIs.
❖ RAML is capable of describing APIs that do not obey all constraints of REST (hence the
description "practically RESTful"). It encourages reuse, enables discovery and pattern-sharing
and aims for merit-based emergence of best practices.
12
RAML
15. ❖ List all accounts for customers.
❖ List single account.
❖ List Balances for account.
❖ Create Account.
❖ List Transaction for account.
❖ List single transaction for account.
❖ List Statements for account.
❖ List single statements for account.
❖ List Customers details.
❖ Create Customers.
15
Use Case
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.
Resource Types
16
17. ● Traits is like function and is used to define common attributes for HTTP method (GET, PUT,
POST, PATCH, DELETE, etc) such as whether or not they are filterable, searchable, or
pageable.
Traits
17
19. Security Schemes
19
#%RAML 1.0 SecurityScheme
type: x-client-authorization
description: It is Client Enforcement
authoriztaion describedBy:
headers:
client_id:
description: 'Send ClientId in request'
client_secret:
description: 'Send Client Secret in request'
responses:
401:
description: 401-You are not authorized to access API
securitySchemes:
customerSecurity: !include security-
scheme/customSecurityScheme.raml
20. ● 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.
uses:
custType: libraries/customer-library-fragment.raml
20
Libraries
21. ● Overlays and extensions are modules defined in external files that are used to extend an
API. An overlay is used to extend non-behavioral aspects of an API, such as descriptions,
usage directions, and user documentation items, whereas an extension is used to extend or
override behavioral aspects of the API.
21
Overlays
22. Get ready to WIN a Special Gift from MuleSoft Community
Quiz Time
23. Question 1
Which components is used to extends to override
behavioral aspects of APIs?
a. Extension
b. Overlays
c. Resource Types
d. None of the Above
23
24. Question 2
Can we define multiple data types in Library
a. True
b. False
24
25. Question 3
Can we have publish fragments into Anypoint Exchange
a. API Auto Discovery
b. API Proxy
c. API Analytics
d. API Security
25
26. 26
Share:
○ Tweet your pictures using the hashtag #SuratMuleSoftMeetup
○ Invite your network to join: https://meetups.mulesoft.com/surat/
Feedback:
○ Fill out the survey feedback and suggest topics for upcoming events
○ Contact MuleSoft at meetups@mulesoft.com for ways to improve the program
○ Reach out to either Jitendra Bafna or Nitish Jainto suggest topics for next Meetup
What’s next?