SlideShare a Scribd company logo
1 of 31
Styleguide for Designing Web APIs with
Oracle Apiary with Swagger & API
Blueprint
Oracle Code Berlin 2019. April 9th 2019
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.
03
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??
18
APIs are the cornerstone for Digital
Transformation. U better design them well
https://thermomix.com/
APIs are building blocks for Digital Transformation.
They enable different channels & create new
businesses.
Copyright https://medium.com/apis-and-digital-transformation/how-api-management-accelerates-digital-business-4ccea9b302df
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 what you
designed
https://www.canva.com/learn/50-meticulous-style-guides-
every-startup-see-launching/
What should be included in the
styleguide
20
1. Context
2. Fundamentals
3. Design Principles and
Patterns
4. Management
5. Tools
6. Operational and
mainteincance
https://www.templatemonster.com/blog/create-brand-style-
guide/
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

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
 
apidays LIVE Paris - How to build better and consistent APIs at scale by Sami...
apidays LIVE Paris - How to build better and consistent APIs at scale by Sami...apidays LIVE Paris - How to build better and consistent APIs at scale by Sami...
apidays LIVE Paris - How to build better and consistent APIs at scale by Sami...apidays
 
apidays LIVE New York - API Code First vs Design First by Phil Sturgeon
apidays LIVE New York - API Code First vs Design First by Phil Sturgeonapidays LIVE New York - API Code First vs Design First by Phil Sturgeon
apidays LIVE New York - API Code First vs Design First by Phil Sturgeonapidays
 
API Design in the Age of Bots, IoT, and Voice
API Design in the Age of Bots, IoT, and VoiceAPI Design in the Age of Bots, IoT, and Voice
API Design in the Age of Bots, IoT, and VoiceLaunchAny
 
INTERFACE, by apidays - Low code APIs that don't break by Zdenek Nemec, Supe...
INTERFACE, by apidays  - Low code APIs that don't break by Zdenek Nemec, Supe...INTERFACE, by apidays  - Low code APIs that don't break by Zdenek Nemec, Supe...
INTERFACE, by apidays - Low code APIs that don't break by Zdenek Nemec, Supe...apidays
 
ProgrammableWeb's eSignature API Research Report
ProgrammableWeb's eSignature API Research ReportProgrammableWeb's eSignature API Research Report
ProgrammableWeb's eSignature API Research ReportProgrammableWeb
 
API Discovery: Visibility, Usability, and Advocacy
API Discovery: Visibility, Usability, and AdvocacyAPI Discovery: Visibility, Usability, and Advocacy
API Discovery: Visibility, Usability, and AdvocacyBill Doerrfeld
 
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
 
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
 
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)
 
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 application programming interface
Api application programming interfaceApi application programming interface
Api application programming interfaceMohit Bishnoi
 
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
 
GET chocolate - apinf.io - Mindtrek 2016
GET chocolate - apinf.io - Mindtrek 2016GET chocolate - apinf.io - Mindtrek 2016
GET chocolate - apinf.io - Mindtrek 2016Mindtrek
 
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
 
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
 
API as a Growth Tool
API as a Growth ToolAPI as a Growth Tool
API as a Growth Tool3scale
 
The best or nothing! (?) What does it mean for your API product?
The best or nothing! (?) What does it mean for your API product?The best or nothing! (?) What does it mean for your API product?
The best or nothing! (?) What does it mean for your API product?Katja Weisheit
 
apidays LIVE Paris 2021 - Test developer experience, not code by Kathrine Osa...
apidays LIVE Paris 2021 - Test developer experience, not code by Kathrine Osa...apidays LIVE Paris 2021 - Test developer experience, not code by Kathrine Osa...
apidays LIVE Paris 2021 - Test developer experience, not code by Kathrine Osa...apidays
 

What's hot (20)

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...
 
apidays LIVE Paris - How to build better and consistent APIs at scale by Sami...
apidays LIVE Paris - How to build better and consistent APIs at scale by Sami...apidays LIVE Paris - How to build better and consistent APIs at scale by Sami...
apidays LIVE Paris - How to build better and consistent APIs at scale by Sami...
 
apidays LIVE New York - API Code First vs Design First by Phil Sturgeon
apidays LIVE New York - API Code First vs Design First by Phil Sturgeonapidays LIVE New York - API Code First vs Design First by Phil Sturgeon
apidays LIVE New York - API Code First vs Design First by Phil Sturgeon
 
API Design Approach
API Design ApproachAPI Design Approach
API Design Approach
 
API Design in the Age of Bots, IoT, and Voice
API Design in the Age of Bots, IoT, and VoiceAPI Design in the Age of Bots, IoT, and Voice
API Design in the Age of Bots, IoT, and Voice
 
INTERFACE, by apidays - Low code APIs that don't break by Zdenek Nemec, Supe...
INTERFACE, by apidays  - Low code APIs that don't break by Zdenek Nemec, Supe...INTERFACE, by apidays  - Low code APIs that don't break by Zdenek Nemec, Supe...
INTERFACE, by apidays - Low code APIs that don't break by Zdenek Nemec, Supe...
 
ProgrammableWeb's eSignature API Research Report
ProgrammableWeb's eSignature API Research ReportProgrammableWeb's eSignature API Research Report
ProgrammableWeb's eSignature API Research Report
 
API Discovery: Visibility, Usability, and Advocacy
API Discovery: Visibility, Usability, and AdvocacyAPI Discovery: Visibility, Usability, and Advocacy
API Discovery: Visibility, Usability, and Advocacy
 
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
 
Continuous API Strategies for Integrated Platforms
 Continuous API Strategies for Integrated Platforms Continuous API Strategies for Integrated Platforms
Continuous API Strategies for Integrated Platforms
 
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
 
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 application programming interface
Api application programming interfaceApi application programming interface
Api application programming interface
 
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
 
GET chocolate - apinf.io - Mindtrek 2016
GET chocolate - apinf.io - Mindtrek 2016GET chocolate - apinf.io - Mindtrek 2016
GET chocolate - apinf.io - Mindtrek 2016
 
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
 
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...
 
API as a Growth Tool
API as a Growth ToolAPI as a Growth Tool
API as a Growth Tool
 
The best or nothing! (?) What does it mean for your API product?
The best or nothing! (?) What does it mean for your API product?The best or nothing! (?) What does it mean for your API product?
The best or nothing! (?) What does it mean for your API product?
 
apidays LIVE Paris 2021 - Test developer experience, not code by Kathrine Osa...
apidays LIVE Paris 2021 - Test developer experience, not code by Kathrine Osa...apidays LIVE Paris 2021 - Test developer experience, not code by Kathrine Osa...
apidays LIVE Paris 2021 - Test developer experience, not code by Kathrine Osa...
 

Similar to Styleguide for Designing Web APIs with Oracle Apiary and Swagger

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
 
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
 
OracleDeveloperMeetup - London 19-12-17
OracleDeveloperMeetup - London 19-12-17OracleDeveloperMeetup - London 19-12-17
OracleDeveloperMeetup - London 19-12-17Phil Wilkins
 
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
 
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
 
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
 
API-Design-Using-ChatGPT
API-Design-Using-ChatGPTAPI-Design-Using-ChatGPT
API-Design-Using-ChatGPTRahul Dighe
 
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
 
Rebooting APIs at scale
Rebooting APIs at scaleRebooting APIs at scale
Rebooting APIs at scaleRahul Dighe
 
2022 apidays LIVE Helsinki & North_How good are your APIs? Really?
2022 apidays LIVE Helsinki & North_How good are your APIs? Really?2022 apidays LIVE Helsinki & North_How good are your APIs? Really?
2022 apidays LIVE Helsinki & North_How good are your APIs? Really?apidays
 
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
 
apidays LIVE Jakarta - What will the next generation of API Portals look like...
apidays LIVE Jakarta - What will the next generation of API Portals look like...apidays LIVE Jakarta - What will the next generation of API Portals look like...
apidays LIVE Jakarta - What will the next generation of API Portals look like...apidays
 
"How to create an efficient API.. with a business model?" by Nicolas Grenié
"How to create an efficient API.. with a business model?" by Nicolas Grenié"How to create an efficient API.. with a business model?" by Nicolas Grenié
"How to create an efficient API.. with a business model?" by Nicolas GreniéTheFamily
 
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
 
Top API Lifecycle Management Trends.pdf
Top API Lifecycle Management Trends.pdfTop API Lifecycle Management Trends.pdf
Top API Lifecycle Management Trends.pdfDhruvD7
 
The API Opportunity: Crossing the Digital Divide
The API Opportunity: Crossing the Digital DivideThe API Opportunity: Crossing the Digital Divide
The API Opportunity: Crossing the Digital DivideCA Technologies
 
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
 

Similar to Styleguide for Designing Web APIs with Oracle Apiary and Swagger (20)

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
 
SlideShare Test-1
SlideShare Test-1SlideShare Test-1
SlideShare Test-1
 
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
 
OracleDeveloperMeetup - London 19-12-17
OracleDeveloperMeetup - London 19-12-17OracleDeveloperMeetup - London 19-12-17
OracleDeveloperMeetup - London 19-12-17
 
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...
 
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
 
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
 
API-Design-Using-ChatGPT
API-Design-Using-ChatGPTAPI-Design-Using-ChatGPT
API-Design-Using-ChatGPT
 
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
 
Rebooting APIs at scale
Rebooting APIs at scaleRebooting APIs at scale
Rebooting APIs at scale
 
2022 apidays LIVE Helsinki & North_How good are your APIs? Really?
2022 apidays LIVE Helsinki & North_How good are your APIs? Really?2022 apidays LIVE Helsinki & North_How good are your APIs? Really?
2022 apidays LIVE Helsinki & North_How good are your APIs? Really?
 
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
 
apidays LIVE Jakarta - What will the next generation of API Portals look like...
apidays LIVE Jakarta - What will the next generation of API Portals look like...apidays LIVE Jakarta - What will the next generation of API Portals look like...
apidays LIVE Jakarta - What will the next generation of API Portals look like...
 
"How to create an efficient API.. with a business model?" by Nicolas Grenié
"How to create an efficient API.. with a business model?" by Nicolas Grenié"How to create an efficient API.. with a business model?" by Nicolas Grenié
"How to create an efficient API.. with a business model?" by Nicolas Grenié
 
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
 
Ruby on rails api Development case study
Ruby on rails api Development case studyRuby on rails api Development case study
Ruby on rails api Development case study
 
Top API Lifecycle Management Trends.pdf
Top API Lifecycle Management Trends.pdfTop API Lifecycle Management Trends.pdf
Top API Lifecycle Management Trends.pdf
 
The API Opportunity: Crossing the Digital Divide
The API Opportunity: Crossing the Digital DivideThe API Opportunity: Crossing the Digital Divide
The API Opportunity: Crossing the Digital Divide
 
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
 

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
 
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 (7)

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
 
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

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
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
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
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
 
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
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
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
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 

Recently uploaded (20)

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
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...
 
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
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
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
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 

Styleguide for Designing Web APIs with Oracle Apiary and Swagger

  • 1. Styleguide for Designing Web APIs with Oracle Apiary with Swagger & API Blueprint Oracle Code Berlin 2019. April 9th 2019 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. 03
  • 6. 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
  • 7. Digital Transformation turned me speachless. Thank u APIs!!! 05
  • 8. But…are we living on a hAPI world? What do u think? 06
  • 9. 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
  • 10. APIs here, there and everywhere. 08 https://www.gizmodo.com.au/2015/11/is-australia-ready-for-a-more-connected-world/
  • 11. 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
  • 12. 10 APIs = Web Services = Services = MicroService = Function (?)
  • 13. 11 They are not the same thing. Not …at all. They look alike, but are different things. https://streetsmartbrazil.com/different-part-2/
  • 14. 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
  • 15. 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
  • 16. 14 That is why we need Design Principles. http://slideplayer.com/slide/7571761/
  • 17. 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/
  • 18. 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/
  • 19. 16 We need to build ready-to-use APIs. http://www.campbellsoup.ca/en-ca/products/campbells-broths/campbells-ready-to-use-vegetable- broth
  • 20. 17 API First, Contract First, Design First!! http://www.campbellsoup.ca/en-ca/products/campbells-broths/campbells-ready-to-use-vegetable-broth Really??
  • 21. 18 APIs are the cornerstone for Digital Transformation. U better design them well https://thermomix.com/ APIs are building blocks for Digital Transformation. They enable different channels & create new businesses. Copyright https://medium.com/apis-and-digital-transformation/how-api-management-accelerates-digital-business-4ccea9b302df
  • 22. 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 what you designed https://www.canva.com/learn/50-meticulous-style-guides- every-startup-see-launching/
  • 23. What should be included in the styleguide 20 1. Context 2. Fundamentals 3. Design Principles and Patterns 4. Management 5. Tools 6. Operational and mainteincance https://www.templatemonster.com/blog/create-brand-style- guide/
  • 24.
  • 25.
  • 26. 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/
  • 27. 24 But…where can I design good APIs?
  • 31. 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=