API design concepts [Intro]

Anas Jamil
Anas JamilSoftware Developer
API design
concepts
1
By: Anas Jamil
linkedin.com/in/anasjamil
[Jan 2017]
Contents
1- What is an API?
2- What is API design?
3- Consumer-oriented API design.
4- API design and development approach.
5- API Description languages.
6- Introduction to REST.
7- RAML for API frontend design.
2
1- What is an API?
3
Application programming interface.
- It's a set of clearly defined methods of communication between various software components ( or services).
Why?!
- Web 3.0 .
- It is a product.
- Application Programming eXperience (APX).
2- What is API design?
4
Any type of design needs well-informed decisions :
1- Architectural design decisions.
2- Front-end design decisions.
3- Back-end design decisions.
4- Non-functional design decisions.
2- What is API design?
5
What is the difference between API design & API
architecture?
- API design is one aspect of api architecture
- API client (like mobile app).
Why API design is important?
Changes are difficult when it is ready (live).
3- Consumer-oriented API design.
6
How to put api design into practice?
1 - Is it sport or van?
2 - Is it hybrid or electric ? ( Architectural style)
3 - Create blueprint of car.
4 - Simulate car component and collect feedback
5 - Put all components together.
3- Consumer-oriented API design.
How to put api design into practice?
1- How the majority of users would want to use the new API? mobile app?
Software?
2- Rest OR SOAP (Architectural style)?
3- Design blueprint of the API using RAML.
4- Build prototype of api and collect feedback.
5- Use RAML to generate API.
7
4- API design and development
approach.
8
1- Inside-out approach.
2- Outside-in approach (Consumer oriented).
3- Contract-first approach.
4- Agile design approach
5- Simulation design approach (Time to market).
5- API Description languages.
9
- Originally used for the description of the API, but it can be used for building the API with automated
tools like OpenAPI, RAML.
- Create single source of truth and main reference of API designer and developer.
- Describe "What" instead of "Who", Like "What is the structure of response" instead of "who the
response is computed".
- Used to build the API and the client of API.
- Used as contract between API provider & API consumer.
5- API Description languages.
10
Responsibilities of APIs:
1 Gathering data.
1 Format data.
1 Delivering data from backend.
1 Securing data (do authentication).
5- API Description languages.
11
Properties of API:
1 Simple: easy to learn and easy to use.
1 Clean: like , name of parameters is understandable.
1 Clear: Only one thing.
1 Forgiving compatible: provide hints for fixing mistakes and handle unexpected
input.
6- Introduction to REST.
12
Representational state transfer
- REST is not standard.
- REST is not protocol.
- REST is architectural style. consisting of architectural constraints and agreements
(HTTP).
HTTP :
- Hypertext Transfer Protocol
- HTTP is the foundation of data communication for the World Wide Web.
6- Introduction to REST.
13
Some basic HTTP terminology:
1 Resource.
1 Representation.
1 Uniform HTTP Interface.
1 Uniform Resource identifier (URI)
7- RAML for API frontend design.
14
RESTful API Modeling Language
- Based on YAML
- Human and machine readable.
- Used to generate documentation and api
skeleton.
15
16
17
References:
RESTful API Design (API-University Series), Matthias Biehl
[Nov 2016]
1 of 17

Recommended

apidays LIVE Australia - API Design in Fintech: Challenges and Opportunities ... by
apidays LIVE Australia - API Design in Fintech: Challenges and Opportunities ...apidays LIVE Australia - API Design in Fintech: Challenges and Opportunities ...
apidays LIVE Australia - API Design in Fintech: Challenges and Opportunities ...apidays
104 views21 slides
apidays LIVE Australia - Federating API Development at Australia’s largest bu... by
apidays LIVE Australia - Federating API Development at Australia’s largest bu...apidays LIVE Australia - Federating API Development at Australia’s largest bu...
apidays LIVE Australia - Federating API Development at Australia’s largest bu...apidays
1.1K views29 slides
Mocking APIs Collaboratively with Postman by
Mocking APIs Collaboratively with PostmanMocking APIs Collaboratively with Postman
Mocking APIs Collaboratively with PostmanNordic APIs
478 views11 slides
RAML - APIs By Design by
RAML - APIs By DesignRAML - APIs By Design
RAML - APIs By DesignUri Sarid
6.7K views46 slides
REST vs. GraphQL: Critical Look by
REST vs. GraphQL: Critical LookREST vs. GraphQL: Critical Look
REST vs. GraphQL: Critical LookNordic APIs
1.2K views74 slides
Mule raml by
Mule ramlMule raml
Mule ramlRamakrishna Kapa
583 views7 slides

More Related Content

What's hot

apidays LIVE Australia - Contract-first API development with Spot by Francois... by
apidays LIVE Australia - Contract-first API development with Spot by Francois...apidays LIVE Australia - Contract-first API development with Spot by Francois...
apidays LIVE Australia - Contract-first API development with Spot by Francois...apidays
2.4K views44 slides
Mulesoft Raml APIs by
Mulesoft Raml APIsMulesoft Raml APIs
Mulesoft Raml APIsakshay yeluru
172 views45 slides
Rest api best practices – comprehensive handbook by
Rest api best practices – comprehensive handbookRest api best practices – comprehensive handbook
Rest api best practices – comprehensive handbookKaty Slemon
91 views44 slides
apidays LIVE Paris - The Augmented API Design Reviewer by Arnaud Lauret by
apidays LIVE Paris - The Augmented API Design Reviewer by Arnaud Lauretapidays LIVE Paris - The Augmented API Design Reviewer by Arnaud Lauret
apidays LIVE Paris - The Augmented API Design Reviewer by Arnaud Lauretapidays
86 views110 slides
Api clarity webinar by
Api clarity webinarApi clarity webinar
Api clarity webinarLibbySchulze
1K views21 slides
API Presentation by
API PresentationAPI Presentation
API Presentationnityakulkarni
667 views9 slides

What's hot(20)

apidays LIVE Australia - Contract-first API development with Spot by Francois... by apidays
apidays LIVE Australia - Contract-first API development with Spot by Francois...apidays LIVE Australia - Contract-first API development with Spot by Francois...
apidays LIVE Australia - Contract-first API development with Spot by Francois...
apidays2.4K views
Rest api best practices – comprehensive handbook by Katy Slemon
Rest api best practices – comprehensive handbookRest api best practices – comprehensive handbook
Rest api best practices – comprehensive handbook
Katy Slemon91 views
apidays LIVE Paris - The Augmented API Design Reviewer by Arnaud Lauret by apidays
apidays LIVE Paris - The Augmented API Design Reviewer by Arnaud Lauretapidays LIVE Paris - The Augmented API Design Reviewer by Arnaud Lauret
apidays LIVE Paris - The Augmented API Design Reviewer by Arnaud Lauret
apidays86 views
apidays LIVE Hong Kong 2021 - GraphQL : Beyond APIs, graph your enterprise by... by apidays
apidays LIVE Hong Kong 2021 - GraphQL : Beyond APIs, graph your enterprise by...apidays LIVE Hong Kong 2021 - GraphQL : Beyond APIs, graph your enterprise by...
apidays LIVE Hong Kong 2021 - GraphQL : Beyond APIs, graph your enterprise by...
apidays95 views
Build pipelines with TeamCity and Kotlin DSL by Anton Arhipov
Build pipelines with TeamCity and Kotlin DSLBuild pipelines with TeamCity and Kotlin DSL
Build pipelines with TeamCity and Kotlin DSL
Anton Arhipov2.4K views
What is an Application programming interface(API)? by Akmal Ali
What is an Application programming interface(API)?What is an Application programming interface(API)?
What is an Application programming interface(API)?
Akmal Ali630 views
Essential Ingredients for a Successful API Program by Jason Harmon
Essential Ingredients for a Successful API ProgramEssential Ingredients for a Successful API Program
Essential Ingredients for a Successful API Program
Jason Harmon252 views
Api application programming interface by Mohit Bishnoi
Api application programming interfaceApi application programming interface
Api application programming interface
Mohit Bishnoi585 views
API Thinking - How to Design APIs Through Systems Design by LaunchAny
API Thinking - How to Design APIs Through Systems DesignAPI Thinking - How to Design APIs Through Systems Design
API Thinking - How to Design APIs Through Systems Design
LaunchAny2.4K views
Open Event API by Avi Aryan
Open Event APIOpen Event API
Open Event API
Avi Aryan81 views
MongoDB World 2018: A Swift Introduction to Swift by MongoDB
MongoDB World 2018: A Swift Introduction to SwiftMongoDB World 2018: A Swift Introduction to Swift
MongoDB World 2018: A Swift Introduction to Swift
MongoDB202 views
apidays LIVE Hong Kong 2021 - Multi-Protocol APIs at Scale in Adidas by Jesus... by apidays
apidays LIVE Hong Kong 2021 - Multi-Protocol APIs at Scale in Adidas by Jesus...apidays LIVE Hong Kong 2021 - Multi-Protocol APIs at Scale in Adidas by Jesus...
apidays LIVE Hong Kong 2021 - Multi-Protocol APIs at Scale in Adidas by Jesus...
apidays73 views
apidays LIVE Paris - Exploring an API with Blocks by Larry Kluger by apidays
apidays LIVE Paris - Exploring an API with Blocks by Larry Klugerapidays LIVE Paris - Exploring an API with Blocks by Larry Kluger
apidays LIVE Paris - Exploring an API with Blocks by Larry Kluger
apidays61 views
9 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 15 by Open API Initiative (OAI)
9 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 159 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 15
9 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 15
Applying Domain-Driven Design to APIs and Microservices - Austin API Meetup by LaunchAny
Applying Domain-Driven Design to APIs and Microservices  - Austin API MeetupApplying Domain-Driven Design to APIs and Microservices  - Austin API Meetup
Applying Domain-Driven Design to APIs and Microservices - Austin API Meetup
LaunchAny2.2K views

Similar to API design concepts [Intro]

Api design part 1 by
Api design part 1Api design part 1
Api design part 1Ibrahim Elsawaf
215 views78 slides
INTERFACE, by apidays - How to Win Friends and Influence People with API First by
INTERFACE, by apidays - How to Win Friends and Influence People with API FirstINTERFACE, by apidays - How to Win Friends and Influence People with API First
INTERFACE, by apidays - How to Win Friends and Influence People with API Firstapidays
47 views43 slides
apidays LIVE Helsinki & North 2022_How to Win Friends and Influence People wi... by
apidays LIVE Helsinki & North 2022_How to Win Friends and Influence People wi...apidays LIVE Helsinki & North 2022_How to Win Friends and Influence People wi...
apidays LIVE Helsinki & North 2022_How to Win Friends and Influence People wi...apidays
265 views46 slides
Empathic API-Design by
Empathic API-DesignEmpathic API-Design
Empathic API-DesignCorneil du Plessis
374 views24 slides
mulesoft birmingham meetup_api_designing_with_raml by
mulesoft birmingham meetup_api_designing_with_ramlmulesoft birmingham meetup_api_designing_with_raml
mulesoft birmingham meetup_api_designing_with_ramlmohammadsakifuddin
274 views35 slides
Building APIs with Node.js and MonogDB by
Building APIs with Node.js and MonogDBBuilding APIs with Node.js and MonogDB
Building APIs with Node.js and MonogDBCharlie Key
1.4K views17 slides

Similar to API design concepts [Intro](20)

INTERFACE, by apidays - How to Win Friends and Influence People with API First by apidays
INTERFACE, by apidays - How to Win Friends and Influence People with API FirstINTERFACE, by apidays - How to Win Friends and Influence People with API First
INTERFACE, by apidays - How to Win Friends and Influence People with API First
apidays47 views
apidays LIVE Helsinki & North 2022_How to Win Friends and Influence People wi... by apidays
apidays LIVE Helsinki & North 2022_How to Win Friends and Influence People wi...apidays LIVE Helsinki & North 2022_How to Win Friends and Influence People wi...
apidays LIVE Helsinki & North 2022_How to Win Friends and Influence People wi...
apidays265 views
mulesoft birmingham meetup_api_designing_with_raml by mohammadsakifuddin
mulesoft birmingham meetup_api_designing_with_ramlmulesoft birmingham meetup_api_designing_with_raml
mulesoft birmingham meetup_api_designing_with_raml
mohammadsakifuddin274 views
Building APIs with Node.js and MonogDB by Charlie Key
Building APIs with Node.js and MonogDBBuilding APIs with Node.js and MonogDB
Building APIs with Node.js and MonogDB
Charlie Key1.4K views
API Design Principles using Oracle Apiary.io by Rolando Carrasco
API Design Principles using Oracle Apiary.ioAPI Design Principles using Oracle Apiary.io
API Design Principles using Oracle Apiary.io
Rolando Carrasco125 views
MuleSoft Surat Meetup#39 - Pragmatic API Led Connectivity by Jitendra Bafna
MuleSoft Surat Meetup#39 - Pragmatic API Led ConnectivityMuleSoft Surat Meetup#39 - Pragmatic API Led Connectivity
MuleSoft Surat Meetup#39 - Pragmatic API Led Connectivity
Jitendra Bafna574 views
REST-API's for architects and managers by Patrick Savalle
REST-API's for architects and managersREST-API's for architects and managers
REST-API's for architects and managers
Patrick Savalle979 views
GlueCon 2015 - How REST APIs can glue all types of devices together by Restlet
GlueCon 2015 - How REST APIs can glue all types of devices togetherGlueCon 2015 - How REST APIs can glue all types of devices together
GlueCon 2015 - How REST APIs can glue all types of devices together
Restlet2.8K views
Rebooting APIs at scale by Rahul Dighe
Rebooting APIs at scaleRebooting APIs at scale
Rebooting APIs at scale
Rahul Dighe246 views
API First - Best Practices for consistent API management by Sven Bernhardt
API First - Best Practices for consistent API managementAPI First - Best Practices for consistent API management
API First - Best Practices for consistent API management
Sven Bernhardt1.7K views
API Documentation.pptx by RahulCR31
API Documentation.pptxAPI Documentation.pptx
API Documentation.pptx
RahulCR3157 views

Recently uploaded

The details of description: Techniques, tips, and tangents on alternative tex... by
The details of description: Techniques, tips, and tangents on alternative tex...The details of description: Techniques, tips, and tangents on alternative tex...
The details of description: Techniques, tips, and tangents on alternative tex...BookNet Canada
127 views24 slides
STKI Israeli Market Study 2023 corrected forecast 2023_24 v3.pdf by
STKI Israeli Market Study 2023   corrected forecast 2023_24 v3.pdfSTKI Israeli Market Study 2023   corrected forecast 2023_24 v3.pdf
STKI Israeli Market Study 2023 corrected forecast 2023_24 v3.pdfDr. Jimmy Schwarzkopf
19 views29 slides
Zero to Automated in Under a Year by
Zero to Automated in Under a YearZero to Automated in Under a Year
Zero to Automated in Under a YearNetwork Automation Forum
15 views23 slides
Democratising digital commerce in India-Report by
Democratising digital commerce in India-ReportDemocratising digital commerce in India-Report
Democratising digital commerce in India-ReportKapil Khandelwal (KK)
15 views161 slides
Transcript: The Details of Description Techniques tips and tangents on altern... by
Transcript: The Details of Description Techniques tips and tangents on altern...Transcript: The Details of Description Techniques tips and tangents on altern...
Transcript: The Details of Description Techniques tips and tangents on altern...BookNet Canada
136 views15 slides
STPI OctaNE CoE Brochure.pdf by
STPI OctaNE CoE Brochure.pdfSTPI OctaNE CoE Brochure.pdf
STPI OctaNE CoE Brochure.pdfmadhurjyapb
14 views1 slide

Recently uploaded(20)

The details of description: Techniques, tips, and tangents on alternative tex... by BookNet Canada
The details of description: Techniques, tips, and tangents on alternative tex...The details of description: Techniques, tips, and tangents on alternative tex...
The details of description: Techniques, tips, and tangents on alternative tex...
BookNet Canada127 views
STKI Israeli Market Study 2023 corrected forecast 2023_24 v3.pdf by Dr. Jimmy Schwarzkopf
STKI Israeli Market Study 2023   corrected forecast 2023_24 v3.pdfSTKI Israeli Market Study 2023   corrected forecast 2023_24 v3.pdf
STKI Israeli Market Study 2023 corrected forecast 2023_24 v3.pdf
Transcript: The Details of Description Techniques tips and tangents on altern... by BookNet Canada
Transcript: The Details of Description Techniques tips and tangents on altern...Transcript: The Details of Description Techniques tips and tangents on altern...
Transcript: The Details of Description Techniques tips and tangents on altern...
BookNet Canada136 views
STPI OctaNE CoE Brochure.pdf by madhurjyapb
STPI OctaNE CoE Brochure.pdfSTPI OctaNE CoE Brochure.pdf
STPI OctaNE CoE Brochure.pdf
madhurjyapb14 views
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... by Bernd Ruecker
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
Bernd Ruecker37 views
Serverless computing with Google Cloud (2023-24) by wesley chun
Serverless computing with Google Cloud (2023-24)Serverless computing with Google Cloud (2023-24)
Serverless computing with Google Cloud (2023-24)
wesley chun11 views
Igniting Next Level Productivity with AI-Infused Data Integration Workflows by Safe Software
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Safe Software263 views
Piloting & Scaling Successfully With Microsoft Viva by Richard Harbridge
Piloting & Scaling Successfully With Microsoft VivaPiloting & Scaling Successfully With Microsoft Viva
Piloting & Scaling Successfully With Microsoft Viva
Unit 1_Lecture 2_Physical Design of IoT.pdf by StephenTec
Unit 1_Lecture 2_Physical Design of IoT.pdfUnit 1_Lecture 2_Physical Design of IoT.pdf
Unit 1_Lecture 2_Physical Design of IoT.pdf
StephenTec12 views
Attacking IoT Devices from a Web Perspective - Linux Day by Simone Onofri
Attacking IoT Devices from a Web Perspective - Linux Day Attacking IoT Devices from a Web Perspective - Linux Day
Attacking IoT Devices from a Web Perspective - Linux Day
Simone Onofri16 views
Voice Logger - Telephony Integration Solution at Aegis by Nirmal Sharma
Voice Logger - Telephony Integration Solution at AegisVoice Logger - Telephony Integration Solution at Aegis
Voice Logger - Telephony Integration Solution at Aegis
Nirmal Sharma39 views

API design concepts [Intro]

  • 1. API design concepts 1 By: Anas Jamil linkedin.com/in/anasjamil [Jan 2017]
  • 2. Contents 1- What is an API? 2- What is API design? 3- Consumer-oriented API design. 4- API design and development approach. 5- API Description languages. 6- Introduction to REST. 7- RAML for API frontend design. 2
  • 3. 1- What is an API? 3 Application programming interface. - It's a set of clearly defined methods of communication between various software components ( or services). Why?! - Web 3.0 . - It is a product. - Application Programming eXperience (APX).
  • 4. 2- What is API design? 4 Any type of design needs well-informed decisions : 1- Architectural design decisions. 2- Front-end design decisions. 3- Back-end design decisions. 4- Non-functional design decisions.
  • 5. 2- What is API design? 5 What is the difference between API design & API architecture? - API design is one aspect of api architecture - API client (like mobile app). Why API design is important? Changes are difficult when it is ready (live).
  • 6. 3- Consumer-oriented API design. 6 How to put api design into practice? 1 - Is it sport or van? 2 - Is it hybrid or electric ? ( Architectural style) 3 - Create blueprint of car. 4 - Simulate car component and collect feedback 5 - Put all components together.
  • 7. 3- Consumer-oriented API design. How to put api design into practice? 1- How the majority of users would want to use the new API? mobile app? Software? 2- Rest OR SOAP (Architectural style)? 3- Design blueprint of the API using RAML. 4- Build prototype of api and collect feedback. 5- Use RAML to generate API. 7
  • 8. 4- API design and development approach. 8 1- Inside-out approach. 2- Outside-in approach (Consumer oriented). 3- Contract-first approach. 4- Agile design approach 5- Simulation design approach (Time to market).
  • 9. 5- API Description languages. 9 - Originally used for the description of the API, but it can be used for building the API with automated tools like OpenAPI, RAML. - Create single source of truth and main reference of API designer and developer. - Describe "What" instead of "Who", Like "What is the structure of response" instead of "who the response is computed". - Used to build the API and the client of API. - Used as contract between API provider & API consumer.
  • 10. 5- API Description languages. 10 Responsibilities of APIs: 1 Gathering data. 1 Format data. 1 Delivering data from backend. 1 Securing data (do authentication).
  • 11. 5- API Description languages. 11 Properties of API: 1 Simple: easy to learn and easy to use. 1 Clean: like , name of parameters is understandable. 1 Clear: Only one thing. 1 Forgiving compatible: provide hints for fixing mistakes and handle unexpected input.
  • 12. 6- Introduction to REST. 12 Representational state transfer - REST is not standard. - REST is not protocol. - REST is architectural style. consisting of architectural constraints and agreements (HTTP). HTTP : - Hypertext Transfer Protocol - HTTP is the foundation of data communication for the World Wide Web.
  • 13. 6- Introduction to REST. 13 Some basic HTTP terminology: 1 Resource. 1 Representation. 1 Uniform HTTP Interface. 1 Uniform Resource identifier (URI)
  • 14. 7- RAML for API frontend design. 14 RESTful API Modeling Language - Based on YAML - Human and machine readable. - Used to generate documentation and api skeleton.
  • 15. 15
  • 16. 16
  • 17. 17 References: RESTful API Design (API-University Series), Matthias Biehl [Nov 2016]