SlideShare a Scribd company logo
1 of 28
Styleguide for Designing Web APIs with
Oracle Apiary with Swagger & API
Blueprint
Oracle Code New York 2019. May 21st
S&P Solutions
Rolando Carrasco
Email: rcarrasco@spsolutions.com.mx
Twitter: @borland_c
Blog: oracleradio.blogspot.com
Linkedin: linkedin.com/in/rolandocarrasco/
Blvd Manuel Avila Camacho #36-10
Lomas de Chapultepec CP 11000
+52 55 91721478
AGENDA
1. API. A brief introduction.
2. API Context. The momentum.
3. API Styleguide
4. API Design principles.
5. DEMO. Apiary.io CLI, Dredd utilities to validate your API Design.
Live Demo. Live Coding.
S&P Solutions
Part of our work. Published books.
02
S&P Solutions 03
http://oracle-integration.cloud/
(2017)
New
http://apiplatform.cloud/
(2018)
Technical
Reviewer
Part of our work. Published books.
S&P Solutions
Oracle ACE. Red Expert Alliance. Groundbreaker Ambassador.
04
http://www.oracle.com/technetwork/community/oracle-ace/index.html
https://www.redexpertalliance.com/map-page/
https://blogs.oracle.com/developers/ne
w-developer-champion-program
Digital Transformation turned me
speachless. Thank u APIs!!!
05
But…are we living on
a hAPI world?
What do u think?
06
Are we living on a
hAPI world?
What do u think?
07
https://www.programmableweb.com/news/research-shows-interest-providing-apis-still-
high/research/2018/02/23?_lrsc=deb9ff17-8477-4d0e-9f43-9c050e3deb83
APIs here, there and everywhere.
08
https://www.gizmodo.com.au/2015/11/is-australia-ready-for-a-more-connected-world/
Ultimately, what is an API?
09
1. First of all we are talking about Web APIs during this
presentation. That is our interest for the upcoming 45
minutes
2. What is the relationship with:
• Web Services – REST or SOAP
• Services
• Microservices
• Functions
10
(APIs = Web Services = Services = MicroService = Function
???)
11
They are not the same thing.
Not …at all. They look alike,
but are different things.
https://streetsmartbrazil.com/different-part-2/
12
They share the protocol, the interface.
But ultimately, they are intended for
different purposes and things.
HTTPS/XML/JSON
HTTPS/XML/JSON
HTTPS/XML/JSON
HTTPS/XML/JSON
MICROSERVICE A
MICROSERVICE B
SERVICE X
WEB SERVICE Y
Key elements to take care about our
APIs
13
1. While service orientation is targeted to reduce costs,
through services reusability, APIs are targeted to
generate money. External APIs may have that purpose.
2. An API is a product for your company. It needs to be
well designed, well presented, well documented
3. It has to be designed to be durable. For longevity
and not ephimeral
14
That is why we need Design Principles.
http://slideplayer.com/slide/7571761/
15
It’s your product. C’mon! Do
not hesitate on good design.
http://thjomas.com/39-shocking-famous-product-designers-photo-design/famous-product-designers-youtube-shocking-photo-design/
15
Good APIs are
like love at first
sight.
• Simplicity (Flexibility-Usability Trade-off)
• Self-Explanatory
• Consistency
• Forgiveness
https://api-as-a-product.com/articles/hierarchy-api-design-principles/
http://thjomas.com/39-shocking-famous-product-designers-
photo-design/famous-product-designers-youtube-shocking-
photo-design/
16
We need to build ready-to-use APIs.
http://www.campbellsoup.ca/en-ca/products/campbells-broths/campbells-ready-to-use-vegetable-
broth
17
API First, Contract First, Design First!!
http://www.campbellsoup.ca/en-ca/products/campbells-broths/campbells-ready-to-use-vegetable-broth
Really??
Styleguide
19
1. It is normal to start with
one API , but then? You will
not stop creating and
mantaining
2. You need a styleguide to
follow. You need uniformity
3. You need a tool to validate
that the APIs are in
conform to your
styleguide
https://www.canva.com/learn/50-meticulous-style-guides-
every-startup-see-launching/
Eight APIs design principles…and one
suggestion
23
1. Discoverability
2. Adaptability
3. Abstraction
4. Versioning
5. Standardized API Contract
6. Autonomy
7. Longevity
8. Naming Convention (resources,
response codes, parameters, etc)
And one suggestion: Forgiveness…
“Learn to Design for Developers
and
for non-Developers.”
http://apievangelist.com/2018/05/08/api-design-either-
provider-does-the-work-or-the-consumer-does-the-work/
24
But…where can I design good APIs?
25
What’s next?
26
What’s next?
Let’s demonstrate it
using Apiary.io
Here we go
References
28
1. Apiary styleguide
https://docs.oracle.com/cloud/apiary/tools/style-
guide/index.html
2. CLI reference
https://docs.oracle.com/cloud/apiary/tools/apiary-cli/
3. Video
https://www.youtube.com/watch?v=Jv4FCl6JmWI&t=

More Related Content

What's hot

apidays LIVE Paris - How to position the API driven Architecture to support t...
apidays LIVE Paris - How to position the API driven Architecture to support t...apidays LIVE Paris - How to position the API driven Architecture to support t...
apidays LIVE Paris - How to position the API driven Architecture to support t...apidays
 
API Marketing: First Comes Usability, Then Discoverability
API Marketing: First Comes Usability, Then DiscoverabilityAPI Marketing: First Comes Usability, Then Discoverability
API Marketing: First Comes Usability, Then DiscoverabilityBill Doerrfeld
 
API Discovery: Visibility, Usability, and Advocacy
API Discovery: Visibility, Usability, and AdvocacyAPI Discovery: Visibility, Usability, and Advocacy
API Discovery: Visibility, Usability, and AdvocacyBill Doerrfeld
 
ProgrammableWeb's eSignature API Research Report
ProgrammableWeb's eSignature API Research ReportProgrammableWeb's eSignature API Research Report
ProgrammableWeb's eSignature API Research ReportProgrammableWeb
 
Application Programming Interface Implementation For Building Software Applic...
Application Programming Interface Implementation For Building Software Applic...Application Programming Interface Implementation For Building Software Applic...
Application Programming Interface Implementation For Building Software Applic...SlideTeam
 
API Architecture
API ArchitectureAPI Architecture
API ArchitectureRyan Kolak
 
APIdays Zurich 2019 - API management for event driven microservices, Fran Men...
APIdays Zurich 2019 - API management for event driven microservices, Fran Men...APIdays Zurich 2019 - API management for event driven microservices, Fran Men...
APIdays Zurich 2019 - API management for event driven microservices, Fran Men...apidays
 
Spring 17 Salesforce Viewing Party : New Delhi Salesforce Developer Group
Spring 17 Salesforce Viewing Party : New Delhi Salesforce Developer GroupSpring 17 Salesforce Viewing Party : New Delhi Salesforce Developer Group
Spring 17 Salesforce Viewing Party : New Delhi Salesforce Developer GroupAtul Gupta(8X)
 
APIDays - API Design Workshop
APIDays - API Design WorkshopAPIDays - API Design Workshop
APIDays - API Design WorkshopRestlet
 
apidays LIVE Paris - Data with a mission: a COVID-19 API case study by Matt M...
apidays LIVE Paris - Data with a mission: a COVID-19 API case study by Matt M...apidays LIVE Paris - Data with a mission: a COVID-19 API case study by Matt M...
apidays LIVE Paris - Data with a mission: a COVID-19 API case study by Matt M...apidays
 
APIdays Helsinki 2019 - Balancing Between Internal and External Developer (AP...
APIdays Helsinki 2019 - Balancing Between Internal and External Developer (AP...APIdays Helsinki 2019 - Balancing Between Internal and External Developer (AP...
APIdays Helsinki 2019 - Balancing Between Internal and External Developer (AP...apidays
 
Continuous API Strategies for Integrated Platforms
 Continuous API Strategies for Integrated Platforms Continuous API Strategies for Integrated Platforms
Continuous API Strategies for Integrated PlatformsBill Doerrfeld
 
APIStrat 2017: API Design in the Age of Bots, IoT, and Voice
APIStrat 2017: API Design in the Age of Bots, IoT, and VoiceAPIStrat 2017: API Design in the Age of Bots, IoT, and Voice
APIStrat 2017: API Design in the Age of Bots, IoT, and VoiceLaunchAny
 
APIs for your Business + Stages of the API Lifecycle
APIs for your Business + Stages of the API LifecycleAPIs for your Business + Stages of the API Lifecycle
APIs for your Business + Stages of the API Lifecycle3scale
 
Api clarity webinar
Api clarity webinarApi clarity webinar
Api clarity webinarLibbySchulze
 
Austin API Summit 2019 Lean and Business-oriented APIs
Austin API Summit 2019 Lean and Business-oriented APIsAustin API Summit 2019 Lean and Business-oriented APIs
Austin API Summit 2019 Lean and Business-oriented APIsMarjukka Niinioja
 
What is an API? propel con.com
What is an API?  propel con.comWhat is an API?  propel con.com
What is an API? propel con.comPaul Heirendt
 
Mulesoft intergrate for android app
Mulesoft intergrate for android appMulesoft intergrate for android app
Mulesoft intergrate for android appSon Nguyen
 
APIdays Helsinki 2019 - To What Extent are APIs a Strategic Tool for a Global...
APIdays Helsinki 2019 - To What Extent are APIs a Strategic Tool for a Global...APIdays Helsinki 2019 - To What Extent are APIs a Strategic Tool for a Global...
APIdays Helsinki 2019 - To What Extent are APIs a Strategic Tool for a Global...apidays
 

What's hot (20)

apidays LIVE Paris - How to position the API driven Architecture to support t...
apidays LIVE Paris - How to position the API driven Architecture to support t...apidays LIVE Paris - How to position the API driven Architecture to support t...
apidays LIVE Paris - How to position the API driven Architecture to support t...
 
API Marketing: First Comes Usability, Then Discoverability
API Marketing: First Comes Usability, Then DiscoverabilityAPI Marketing: First Comes Usability, Then Discoverability
API Marketing: First Comes Usability, Then Discoverability
 
API Discovery: Visibility, Usability, and Advocacy
API Discovery: Visibility, Usability, and AdvocacyAPI Discovery: Visibility, Usability, and Advocacy
API Discovery: Visibility, Usability, and Advocacy
 
ProgrammableWeb's eSignature API Research Report
ProgrammableWeb's eSignature API Research ReportProgrammableWeb's eSignature API Research Report
ProgrammableWeb's eSignature API Research Report
 
Application Programming Interface Implementation For Building Software Applic...
Application Programming Interface Implementation For Building Software Applic...Application Programming Interface Implementation For Building Software Applic...
Application Programming Interface Implementation For Building Software Applic...
 
API Architecture
API ArchitectureAPI Architecture
API Architecture
 
APIdays Zurich 2019 - API management for event driven microservices, Fran Men...
APIdays Zurich 2019 - API management for event driven microservices, Fran Men...APIdays Zurich 2019 - API management for event driven microservices, Fran Men...
APIdays Zurich 2019 - API management for event driven microservices, Fran Men...
 
Spring 17 Salesforce Viewing Party : New Delhi Salesforce Developer Group
Spring 17 Salesforce Viewing Party : New Delhi Salesforce Developer GroupSpring 17 Salesforce Viewing Party : New Delhi Salesforce Developer Group
Spring 17 Salesforce Viewing Party : New Delhi Salesforce Developer Group
 
APIDays - API Design Workshop
APIDays - API Design WorkshopAPIDays - API Design Workshop
APIDays - API Design Workshop
 
apidays LIVE Paris - Data with a mission: a COVID-19 API case study by Matt M...
apidays LIVE Paris - Data with a mission: a COVID-19 API case study by Matt M...apidays LIVE Paris - Data with a mission: a COVID-19 API case study by Matt M...
apidays LIVE Paris - Data with a mission: a COVID-19 API case study by Matt M...
 
APIdays Helsinki 2019 - Balancing Between Internal and External Developer (AP...
APIdays Helsinki 2019 - Balancing Between Internal and External Developer (AP...APIdays Helsinki 2019 - Balancing Between Internal and External Developer (AP...
APIdays Helsinki 2019 - Balancing Between Internal and External Developer (AP...
 
Continuous API Strategies for Integrated Platforms
 Continuous API Strategies for Integrated Platforms Continuous API Strategies for Integrated Platforms
Continuous API Strategies for Integrated Platforms
 
APIStrat 2017: API Design in the Age of Bots, IoT, and Voice
APIStrat 2017: API Design in the Age of Bots, IoT, and VoiceAPIStrat 2017: API Design in the Age of Bots, IoT, and Voice
APIStrat 2017: API Design in the Age of Bots, IoT, and Voice
 
APIs for your Business + Stages of the API Lifecycle
APIs for your Business + Stages of the API LifecycleAPIs for your Business + Stages of the API Lifecycle
APIs for your Business + Stages of the API Lifecycle
 
Api clarity webinar
Api clarity webinarApi clarity webinar
Api clarity webinar
 
Austin API Summit 2019 Lean and Business-oriented APIs
Austin API Summit 2019 Lean and Business-oriented APIsAustin API Summit 2019 Lean and Business-oriented APIs
Austin API Summit 2019 Lean and Business-oriented APIs
 
What is an API? propel con.com
What is an API?  propel con.comWhat is an API?  propel con.com
What is an API? propel con.com
 
Mulesoft intergrate for android app
Mulesoft intergrate for android appMulesoft intergrate for android app
Mulesoft intergrate for android app
 
API Design Approach
API Design ApproachAPI Design Approach
API Design Approach
 
APIdays Helsinki 2019 - To What Extent are APIs a Strategic Tool for a Global...
APIdays Helsinki 2019 - To What Extent are APIs a Strategic Tool for a Global...APIdays Helsinki 2019 - To What Extent are APIs a Strategic Tool for a Global...
APIdays Helsinki 2019 - To What Extent are APIs a Strategic Tool for a Global...
 

Similar to Styleguide for your APIs

OracleDeveloperMeetup - London 19-12-17
OracleDeveloperMeetup - London 19-12-17OracleDeveloperMeetup - London 19-12-17
OracleDeveloperMeetup - London 19-12-17Phil Wilkins
 
apidays Singapore 2023 - Beyond REST, Claudio Tag, IBM
apidays Singapore 2023 - Beyond REST, Claudio Tag, IBMapidays Singapore 2023 - Beyond REST, Claudio Tag, IBM
apidays Singapore 2023 - Beyond REST, Claudio Tag, IBMapidays
 
Auckland API & Microservices Meetup 1: API led design
Auckland API & Microservices Meetup 1: API led designAuckland API & Microservices Meetup 1: API led design
Auckland API & Microservices Meetup 1: API led designDamian Harvey
 
Web API Design: Crafting Interfaces that Developers Love
Web API Design:  Crafting Interfaces that Developers LoveWeb API Design:  Crafting Interfaces that Developers Love
Web API Design: Crafting Interfaces that Developers LoveJamison K. Bell | OvenPOP 360
 
Practical guide to building public APIs
Practical guide to building public APIsPractical guide to building public APIs
Practical guide to building public APIsReda Hmeid MBCS
 
I am sorry Developer, your API just became a Product.pdf
I am sorry Developer, your API just became a Product.pdfI am sorry Developer, your API just became a Product.pdf
I am sorry Developer, your API just became a Product.pdfFrancisco Picolini
 
LF_APIStrat17_API Marketing: First Comes Usability, then Discoverability
LF_APIStrat17_API Marketing: First Comes Usability, then DiscoverabilityLF_APIStrat17_API Marketing: First Comes Usability, then Discoverability
LF_APIStrat17_API Marketing: First Comes Usability, then DiscoverabilityLF_APIStrat
 
INTERFACE, by apidays - How to Win Friends and Influence People with API First
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
 
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 LIVE Helsinki & North 2022_How to Win Friends and Influence People wi...apidays
 
API Design – More than just a Payload Definition
API Design – More than just a Payload DefinitionAPI Design – More than just a Payload Definition
API Design – More than just a Payload DefinitionPhil Wilkins
 
The API SlideShare for Bankers and Fintech Executives
The API SlideShare for Bankers and Fintech ExecutivesThe API SlideShare for Bankers and Fintech Executives
The API SlideShare for Bankers and Fintech ExecutivesMX
 
SOA in the API World - Facades, Transactions, Stateless Services
SOA in the API World - Facades, Transactions, Stateless Services SOA in the API World - Facades, Transactions, Stateless Services
SOA in the API World - Facades, Transactions, Stateless Services Apigee | Google Cloud
 
[WSO2 Integration Summit Bern 2019] API-led Integration
[WSO2 Integration Summit Bern 2019] API-led Integration[WSO2 Integration Summit Bern 2019] API-led Integration
[WSO2 Integration Summit Bern 2019] API-led IntegrationWSO2
 
Rebooting APIs at scale
Rebooting APIs at scaleRebooting APIs at scale
Rebooting APIs at scaleRahul Dighe
 
Top 7 wrong common beliefs about Enterprise API implementation
Top 7 wrong common beliefs about Enterprise API implementationTop 7 wrong common beliefs about Enterprise API implementation
Top 7 wrong common beliefs about Enterprise API implementationOCTO Technology
 
Top API Lifecycle Management Trends.pdf
Top API Lifecycle Management Trends.pdfTop API Lifecycle Management Trends.pdf
Top API Lifecycle Management Trends.pdfDhruvD7
 
API Introduction - API Management Workshop Munich from Ronnie Mitra
API Introduction - API Management Workshop Munich from Ronnie MitraAPI Introduction - API Management Workshop Munich from Ronnie Mitra
API Introduction - API Management Workshop Munich from Ronnie MitraCA API Management
 

Similar to Styleguide for your APIs (20)

OracleDeveloperMeetup - London 19-12-17
OracleDeveloperMeetup - London 19-12-17OracleDeveloperMeetup - London 19-12-17
OracleDeveloperMeetup - London 19-12-17
 
SlideShare Test-1
SlideShare Test-1SlideShare Test-1
SlideShare Test-1
 
apidays Singapore 2023 - Beyond REST, Claudio Tag, IBM
apidays Singapore 2023 - Beyond REST, Claudio Tag, IBMapidays Singapore 2023 - Beyond REST, Claudio Tag, IBM
apidays Singapore 2023 - Beyond REST, Claudio Tag, IBM
 
Auckland API & Microservices Meetup 1: API led design
Auckland API & Microservices Meetup 1: API led designAuckland API & Microservices Meetup 1: API led design
Auckland API & Microservices Meetup 1: API led design
 
Web API Design
Web API DesignWeb API Design
Web API Design
 
Web API Design: Crafting Interfaces that Developers Love
Web API Design:  Crafting Interfaces that Developers LoveWeb API Design:  Crafting Interfaces that Developers Love
Web API Design: Crafting Interfaces that Developers Love
 
Practical guide to building public APIs
Practical guide to building public APIsPractical guide to building public APIs
Practical guide to building public APIs
 
I am sorry Developer, your API just became a Product.pdf
I am sorry Developer, your API just became a Product.pdfI am sorry Developer, your API just became a Product.pdf
I am sorry Developer, your API just became a Product.pdf
 
LF_APIStrat17_API Marketing: First Comes Usability, then Discoverability
LF_APIStrat17_API Marketing: First Comes Usability, then DiscoverabilityLF_APIStrat17_API Marketing: First Comes Usability, then Discoverability
LF_APIStrat17_API Marketing: First Comes Usability, then Discoverability
 
INTERFACE, by apidays - How to Win Friends and Influence People with API First
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
 
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 LIVE Helsinki & North 2022_How to Win Friends and Influence People wi...
 
API Design – More than just a Payload Definition
API Design – More than just a Payload DefinitionAPI Design – More than just a Payload Definition
API Design – More than just a Payload Definition
 
The API SlideShare for Bankers and Fintech Executives
The API SlideShare for Bankers and Fintech ExecutivesThe API SlideShare for Bankers and Fintech Executives
The API SlideShare for Bankers and Fintech Executives
 
SOA in the API World - Facades, Transactions, Stateless Services
SOA in the API World - Facades, Transactions, Stateless Services SOA in the API World - Facades, Transactions, Stateless Services
SOA in the API World - Facades, Transactions, Stateless Services
 
[WSO2 Integration Summit Bern 2019] API-led Integration
[WSO2 Integration Summit Bern 2019] API-led Integration[WSO2 Integration Summit Bern 2019] API-led Integration
[WSO2 Integration Summit Bern 2019] API-led Integration
 
Rebooting APIs at scale
Rebooting APIs at scaleRebooting APIs at scale
Rebooting APIs at scale
 
Top 7 wrong common beliefs about Enterprise API implementation
Top 7 wrong common beliefs about Enterprise API implementationTop 7 wrong common beliefs about Enterprise API implementation
Top 7 wrong common beliefs about Enterprise API implementation
 
Octo API-days 2015
Octo API-days 2015Octo API-days 2015
Octo API-days 2015
 
Top API Lifecycle Management Trends.pdf
Top API Lifecycle Management Trends.pdfTop API Lifecycle Management Trends.pdf
Top API Lifecycle Management Trends.pdf
 
API Introduction - API Management Workshop Munich from Ronnie Mitra
API Introduction - API Management Workshop Munich from Ronnie MitraAPI Introduction - API Management Workshop Munich from Ronnie Mitra
API Introduction - API Management Workshop Munich from Ronnie Mitra
 

More from Rolando Carrasco

REAL Expert Alliance OCI series part 4 - OKE
REAL Expert Alliance OCI series part 4 - OKEREAL Expert Alliance OCI series part 4 - OKE
REAL Expert Alliance OCI series part 4 - OKERolando Carrasco
 
Introduction to Serverless. Oracle Fn Project.
Introduction to Serverless. Oracle Fn Project.Introduction to Serverless. Oracle Fn Project.
Introduction to Serverless. Oracle Fn Project.Rolando Carrasco
 
Mis APIs. Tus APIs. Las APIs de todos.
Mis APIs. Tus APIs. Las APIs de todos.Mis APIs. Tus APIs. Las APIs de todos.
Mis APIs. Tus APIs. Las APIs de todos.Rolando Carrasco
 
Oracle Developer Tour Santiago, Chile. Oracle Intelligent Bot Introduction.
Oracle Developer Tour Santiago, Chile. Oracle Intelligent Bot Introduction.Oracle Developer Tour Santiago, Chile. Oracle Intelligent Bot Introduction.
Oracle Developer Tour Santiago, Chile. Oracle Intelligent Bot Introduction.Rolando Carrasco
 
La importancia de las APIs en los chatbots
La importancia de las APIs en los chatbotsLa importancia de las APIs en los chatbots
La importancia de las APIs en los chatbotsRolando Carrasco
 
iPaaS. Oracle ICS the best option
iPaaS. Oracle ICS the best optioniPaaS. Oracle ICS the best option
iPaaS. Oracle ICS the best optionRolando Carrasco
 
El Rol del Desarrollador en la Transformación Digital
El Rol del Desarrollador en la Transformación DigitalEl Rol del Desarrollador en la Transformación Digital
El Rol del Desarrollador en la Transformación DigitalRolando Carrasco
 

More from Rolando Carrasco (8)

REAL Expert Alliance OCI series part 4 - OKE
REAL Expert Alliance OCI series part 4 - OKEREAL Expert Alliance OCI series part 4 - OKE
REAL Expert Alliance OCI series part 4 - OKE
 
Introduction to Serverless. Oracle Fn Project.
Introduction to Serverless. Oracle Fn Project.Introduction to Serverless. Oracle Fn Project.
Introduction to Serverless. Oracle Fn Project.
 
Mis APIs. Tus APIs. Las APIs de todos.
Mis APIs. Tus APIs. Las APIs de todos.Mis APIs. Tus APIs. Las APIs de todos.
Mis APIs. Tus APIs. Las APIs de todos.
 
Oracle Developer Tour Santiago, Chile. Oracle Intelligent Bot Introduction.
Oracle Developer Tour Santiago, Chile. Oracle Intelligent Bot Introduction.Oracle Developer Tour Santiago, Chile. Oracle Intelligent Bot Introduction.
Oracle Developer Tour Santiago, Chile. Oracle Intelligent Bot Introduction.
 
La importancia de las APIs en los chatbots
La importancia de las APIs en los chatbotsLa importancia de las APIs en los chatbots
La importancia de las APIs en los chatbots
 
Apiary workshop.
Apiary workshop.Apiary workshop.
Apiary workshop.
 
iPaaS. Oracle ICS the best option
iPaaS. Oracle ICS the best optioniPaaS. Oracle ICS the best option
iPaaS. Oracle ICS the best option
 
El Rol del Desarrollador en la Transformación Digital
El Rol del Desarrollador en la Transformación DigitalEl Rol del Desarrollador en la Transformación Digital
El Rol del Desarrollador en la Transformación Digital
 

Recently uploaded

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 

Recently uploaded (20)

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

Styleguide for your APIs

  • 1. Styleguide for Designing Web APIs with Oracle Apiary with Swagger & API Blueprint Oracle Code New York 2019. May 21st S&P Solutions Rolando Carrasco Email: rcarrasco@spsolutions.com.mx Twitter: @borland_c Blog: oracleradio.blogspot.com Linkedin: linkedin.com/in/rolandocarrasco/ Blvd Manuel Avila Camacho #36-10 Lomas de Chapultepec CP 11000 +52 55 91721478
  • 2. AGENDA 1. API. A brief introduction. 2. API Context. The momentum. 3. API Styleguide 4. API Design principles. 5. DEMO. Apiary.io CLI, Dredd utilities to validate your API Design. Live Demo. Live Coding.
  • 3. S&P Solutions Part of our work. Published books. 02
  • 5. S&P Solutions Oracle ACE. Red Expert Alliance. Groundbreaker Ambassador. 04 http://www.oracle.com/technetwork/community/oracle-ace/index.html https://www.redexpertalliance.com/map-page/ https://blogs.oracle.com/developers/ne w-developer-champion-program
  • 6. Digital Transformation turned me speachless. Thank u APIs!!! 05
  • 7. But…are we living on a hAPI world? What do u think? 06
  • 8. Are we living on a hAPI world? What do u think? 07 https://www.programmableweb.com/news/research-shows-interest-providing-apis-still- high/research/2018/02/23?_lrsc=deb9ff17-8477-4d0e-9f43-9c050e3deb83
  • 9. APIs here, there and everywhere. 08 https://www.gizmodo.com.au/2015/11/is-australia-ready-for-a-more-connected-world/
  • 10. Ultimately, what is an API? 09 1. First of all we are talking about Web APIs during this presentation. That is our interest for the upcoming 45 minutes 2. What is the relationship with: • Web Services – REST or SOAP • Services • Microservices • Functions
  • 11. 10 (APIs = Web Services = Services = MicroService = Function ???)
  • 12. 11 They are not the same thing. Not …at all. They look alike, but are different things. https://streetsmartbrazil.com/different-part-2/
  • 13. 12 They share the protocol, the interface. But ultimately, they are intended for different purposes and things. HTTPS/XML/JSON HTTPS/XML/JSON HTTPS/XML/JSON HTTPS/XML/JSON MICROSERVICE A MICROSERVICE B SERVICE X WEB SERVICE Y
  • 14. Key elements to take care about our APIs 13 1. While service orientation is targeted to reduce costs, through services reusability, APIs are targeted to generate money. External APIs may have that purpose. 2. An API is a product for your company. It needs to be well designed, well presented, well documented 3. It has to be designed to be durable. For longevity and not ephimeral
  • 15. 14 That is why we need Design Principles. http://slideplayer.com/slide/7571761/
  • 16. 15 It’s your product. C’mon! Do not hesitate on good design. http://thjomas.com/39-shocking-famous-product-designers-photo-design/famous-product-designers-youtube-shocking-photo-design/
  • 17. 15 Good APIs are like love at first sight. • Simplicity (Flexibility-Usability Trade-off) • Self-Explanatory • Consistency • Forgiveness https://api-as-a-product.com/articles/hierarchy-api-design-principles/ http://thjomas.com/39-shocking-famous-product-designers- photo-design/famous-product-designers-youtube-shocking- photo-design/
  • 18. 16 We need to build ready-to-use APIs. http://www.campbellsoup.ca/en-ca/products/campbells-broths/campbells-ready-to-use-vegetable- broth
  • 19. 17 API First, Contract First, Design First!! http://www.campbellsoup.ca/en-ca/products/campbells-broths/campbells-ready-to-use-vegetable-broth Really??
  • 20. Styleguide 19 1. It is normal to start with one API , but then? You will not stop creating and mantaining 2. You need a styleguide to follow. You need uniformity 3. You need a tool to validate that the APIs are in conform to your styleguide https://www.canva.com/learn/50-meticulous-style-guides- every-startup-see-launching/
  • 21.
  • 22.
  • 23. Eight APIs design principles…and one suggestion 23 1. Discoverability 2. Adaptability 3. Abstraction 4. Versioning 5. Standardized API Contract 6. Autonomy 7. Longevity 8. Naming Convention (resources, response codes, parameters, etc) And one suggestion: Forgiveness… “Learn to Design for Developers and for non-Developers.” http://apievangelist.com/2018/05/08/api-design-either- provider-does-the-work-or-the-consumer-does-the-work/
  • 24. 24 But…where can I design good APIs?
  • 28. References 28 1. Apiary styleguide https://docs.oracle.com/cloud/apiary/tools/style- guide/index.html 2. CLI reference https://docs.oracle.com/cloud/apiary/tools/apiary-cli/ 3. Video https://www.youtube.com/watch?v=Jv4FCl6JmWI&t=