SlideShare una empresa de Scribd logo
1 de 31
Descargar para leer sin conexión
Lessons From The Battlefield
Understand the maturity of design and delivery of an API and be
open about its state	
Define a contract: having an API in place takes consumer website
to market without destabilizing the enterprise back-end	
1	
  
If the API is good enough, ship it. The layer Cake, APIs on APIS, is
good! Problem with code-first approach: Use APIs to decouple
systems rather than expose internal systems. 	
2	
  
3	
  
Let’s Talk	
	
APX	
Application Programming eXperience
Now?	
In the Future?	
Don’t fall prey to
paralysis! Limit
pool of customers	
Commonality is good
in API BUT
Shoehorning is not!	
Who Is Your Customer?
Orchestrating Service Provider 	
 OR
What Is Your Value Add?	
Core Single-Purpose Service	
Front End 	
Think Consumer Experience	
Back End 	
Think business processes	
Looking Backwards	
Straight-through Proxy: Abstract
Way of Expressing Domain
Model Behind You	
Looking Forward 	
New Facade: Create a new
service based upon
capabilities behind you	
OR
OR
Think APX	
	
3 Critical Principles To Remember
This is a long-lived interface 	
Expose the interface you want
your clients to develop a
dependency on. 	
	
1
Three Critical Principles
of APX
Don’t Expose Dirty Laundry	
Don’t simply reflect your back
end model. Instead, come up
with simple, long-lasting
domain model. 	
2
Three Critical Principles
of APX
Craft API for your users	
What will they love? If your API
is really good, your users will
get attached to it.	
3
Three Critical Principles
of APX
Discover it?	
Explore it?	
Access it?	
Build on it?	
Verify it?	
Run on it?	
Say goodbye?	
Checklist	
Publish it?	
Describe it?	
Expose it?	
Implement it?	
Sandbox it?	
Operate it?	
Version/deprecate?	
How Will You….	
How Will They….
Discover it?	
Explore it?	
Access it?	
Build on it?	
Verify it?	
Run on it?	
Say goodbye?	
Solution	
Publish it?	
Describe it?	
Expose it?	
Implement it?	
Sandbox it?	
Operate it?	
Version/deprecate?	
How Will You….	
How Will They….	
API Portal	
RAML tooling	
API Manager	
APIkit	
Mule/
ClToudHub	
API Manager	
API Portal
What Kinds 	
Of API?
What Kinds of API?	
SOAP and WSDL over HTTP	
REST: HTTP taken seriously	
•  e.g. GET /users ß a page/data representing users	
	
Mix & Match:	
•  Google protocol buffers over HTTP	
•  <something> over websockets	
API facades:	
•  the RESTmullet (REST in front,
SOAP in back)	
•  mobile REST/GPB/MQTT on
top of SOA
What Kinds of API?	
SOAP and WSDL over HTTP	
REST: HTTP taken seriously	
•  e.g. GET /users ß a page/data representing users	
	
Mix & Match:	
•  Google protocol buffers over HTTP	
•  <something> over websockets	
API facades:	
•  the RESTmullet (REST in front,
SOAP in back)	
•  mobile REST/GPB/MQTT on
top of SOA	
My Focus Today
Why REST?	
	
It’s simple!
•  /users
•  /users?zip=94301&subscribed=true
•  /users/me
•  /users/5638
•  /users/5638/books
•  /users/5638/books/20467
•  /books
•  /books/20467
Nouns: Resources	
	
	
Carefully consider your domain objects	
Query params are refinements on resources
Verbs: Methods	
GET retrieve (idempotent!)
POST create in container
PUT update – replace (usually)
PATCH update – partial
DELETE remove
HEAD GET w/o body (headers)
OPTIONS metadata, e.g. methods
Status codes	
•  Standardized	
•  Use them!	
•  Don't return 200
unless it's really
OK	
•  No surprises pleas	
	
	
	
Headers	
•  Standardized	
•  Use them!
How to describe your	
specific API?	
	
Your Answer: 	
RAML
Clean, clear, powerful	
	
 100% natural & organic	
Open, vendor-neutral	
	
 Practical	
	
 Pattern-based design is 	
	
 built in	
RESTful API Modeling Language
API Design 	
Considerations
Align to a logical model:
users & groups
Align to a logical model:
eCommerce
collections
and members	
Patterns: resource types	
"special" id's	
one-off resources	
read-only resources
Patterns: method traits
Patterns: body schemas	
or just use good ol'
form data:
XML schema	
JSON schema	
examples
Patterns: security schemes	
username/password; cleartext or use digest	
end user allows app to access their data	
better to put token in header, not query	
the OAuth multi-step dance
Username/password:	
• End-user vs server	
• Who stores credentials?	
• Beware of reuse; if you do store, one-way hash w/salt	
• Minimize client & in-transit exposure	
Tokenization	
• Short-lived and long-
lived; refreshing	
• App token vs user tokens	
OAuth2 if you
need 3-way
auth	
•  Be aware of its types	
•  Don't reinvent this
particular wheel	
Elements of API security	
HTTP
security
principles
still apply	
•  Beware of chatty
errors	
•  Good URL hygiene
The nature of the API	
Coarse-grained or fine – chatty or concise?	
Usecases! à you often need both	
Latency: remember the speed of light	
	
Bandwidth a problem?	
Compression, tokenization	
Partial requests and responses	
Reconsider format and protocol	
	
Implementability?	
Befriend your integration/orchestration layer	
Think layers; think cacheing
Good APIs aren't trivial	
But with the proper
approach, they can be
your home-court
advantage	
 "First one home wins?"	
 "Deal"	
"#$*%!"
Designing a Great API Consumer Experience

Más contenido relacionado

Destacado

Creating Restful Web Services with restish
Creating Restful Web Services with restishCreating Restful Web Services with restish
Creating Restful Web Services with restishGrig Gheorghiu
 
APIs in a .NET World
APIs in a .NET WorldAPIs in a .NET World
APIs in a .NET WorldMuleSoft
 
CIO Panel: Digital Transformation to Achieve Speed and Control
CIO Panel: Digital Transformation to Achieve Speed and ControlCIO Panel: Digital Transformation to Achieve Speed and Control
CIO Panel: Digital Transformation to Achieve Speed and ControlMuleSoft
 
Launch Mobile Applications with Speed While Maintaining Control
Launch Mobile Applications with Speed While Maintaining ControlLaunch Mobile Applications with Speed While Maintaining Control
Launch Mobile Applications with Speed While Maintaining ControlMuleSoft
 
Product Keynote: How to Compete in the API Economy
Product Keynote: How to Compete in the API EconomyProduct Keynote: How to Compete in the API Economy
Product Keynote: How to Compete in the API EconomyMuleSoft
 
Transform Your Business with API-led Connectivity
Transform Your Business with API-led ConnectivityTransform Your Business with API-led Connectivity
Transform Your Business with API-led ConnectivityMuleSoft
 
Connecting the New Enterprise | MuleSoft
Connecting the New Enterprise | MuleSoftConnecting the New Enterprise | MuleSoft
Connecting the New Enterprise | MuleSoftMuleSoft
 
The Blueprint for Change: How the Best Are Succeeding in Transformation
The Blueprint for Change: How the Best Are Succeeding in TransformationThe Blueprint for Change: How the Best Are Succeeding in Transformation
The Blueprint for Change: How the Best Are Succeeding in TransformationMuleSoft
 
Why Integrate using an API? | MuleSoft
Why Integrate using an API? | MuleSoftWhy Integrate using an API? | MuleSoft
Why Integrate using an API? | MuleSoftMuleSoft
 
Introduction to IBM API Management
Introduction to IBM API Management Introduction to IBM API Management
Introduction to IBM API Management Patrick Bouillaud
 
Guide to Application Performance: Planning to Continued Optimization
Guide to Application Performance: Planning to Continued OptimizationGuide to Application Performance: Planning to Continued Optimization
Guide to Application Performance: Planning to Continued OptimizationMuleSoft
 
Rethinking it for digital transformation
Rethinking it for digital transformationRethinking it for digital transformation
Rethinking it for digital transformationMuleSoft
 
Mule : Building Blocks for Microservices
Mule : Building Blocks for MicroservicesMule : Building Blocks for Microservices
Mule : Building Blocks for MicroservicesAnirudh Pandit
 
Mule ESB Tutorial Part 2
Mule ESB Tutorial Part 2Mule ESB Tutorial Part 2
Mule ESB Tutorial Part 2Srikanth N
 

Destacado (17)

Creating Restful Web Services with restish
Creating Restful Web Services with restishCreating Restful Web Services with restish
Creating Restful Web Services with restish
 
APIs in a .NET World
APIs in a .NET WorldAPIs in a .NET World
APIs in a .NET World
 
CIO Panel: Digital Transformation to Achieve Speed and Control
CIO Panel: Digital Transformation to Achieve Speed and ControlCIO Panel: Digital Transformation to Achieve Speed and Control
CIO Panel: Digital Transformation to Achieve Speed and Control
 
Launch Mobile Applications with Speed While Maintaining Control
Launch Mobile Applications with Speed While Maintaining ControlLaunch Mobile Applications with Speed While Maintaining Control
Launch Mobile Applications with Speed While Maintaining Control
 
Product Keynote: How to Compete in the API Economy
Product Keynote: How to Compete in the API EconomyProduct Keynote: How to Compete in the API Economy
Product Keynote: How to Compete in the API Economy
 
MAX-CONNECT launches MAX-Jobs
MAX-CONNECT launches MAX-JobsMAX-CONNECT launches MAX-Jobs
MAX-CONNECT launches MAX-Jobs
 
Transform Your Business with API-led Connectivity
Transform Your Business with API-led ConnectivityTransform Your Business with API-led Connectivity
Transform Your Business with API-led Connectivity
 
Connecting the New Enterprise | MuleSoft
Connecting the New Enterprise | MuleSoftConnecting the New Enterprise | MuleSoft
Connecting the New Enterprise | MuleSoft
 
The Blueprint for Change: How the Best Are Succeeding in Transformation
The Blueprint for Change: How the Best Are Succeeding in TransformationThe Blueprint for Change: How the Best Are Succeeding in Transformation
The Blueprint for Change: How the Best Are Succeeding in Transformation
 
Munit Mule ESB
Munit Mule ESBMunit Mule ESB
Munit Mule ESB
 
Why Integrate using an API? | MuleSoft
Why Integrate using an API? | MuleSoftWhy Integrate using an API? | MuleSoft
Why Integrate using an API? | MuleSoft
 
Introduction to IBM API Management
Introduction to IBM API Management Introduction to IBM API Management
Introduction to IBM API Management
 
Guide to Application Performance: Planning to Continued Optimization
Guide to Application Performance: Planning to Continued OptimizationGuide to Application Performance: Planning to Continued Optimization
Guide to Application Performance: Planning to Continued Optimization
 
Rethinking it for digital transformation
Rethinking it for digital transformationRethinking it for digital transformation
Rethinking it for digital transformation
 
Mule ESB Training
Mule ESB TrainingMule ESB Training
Mule ESB Training
 
Mule : Building Blocks for Microservices
Mule : Building Blocks for MicroservicesMule : Building Blocks for Microservices
Mule : Building Blocks for Microservices
 
Mule ESB Tutorial Part 2
Mule ESB Tutorial Part 2Mule ESB Tutorial Part 2
Mule ESB Tutorial Part 2
 

Más de MuleSoft

The CIO's Guide to Digital Transformation
The CIO's Guide to Digital TransformationThe CIO's Guide to Digital Transformation
The CIO's Guide to Digital TransformationMuleSoft
 
Gluecon 2017: Metadata is the Glue
Gluecon 2017: Metadata is the GlueGluecon 2017: Metadata is the Glue
Gluecon 2017: Metadata is the GlueMuleSoft
 
Gluecon 2017: API Modelling Framework - A Toolbox for Interacting With API S...
Gluecon 2017: API Modelling Framework -  A Toolbox for Interacting With API S...Gluecon 2017: API Modelling Framework -  A Toolbox for Interacting With API S...
Gluecon 2017: API Modelling Framework - A Toolbox for Interacting With API S...MuleSoft
 
How to Get Unstuck
How to Get Unstuck How to Get Unstuck
How to Get Unstuck MuleSoft
 
Product Vision and Roadmap for Anypoint Platform
Product Vision and Roadmap for Anypoint PlatformProduct Vision and Roadmap for Anypoint Platform
Product Vision and Roadmap for Anypoint PlatformMuleSoft
 
How API Enablement Drives Legacy Modernization
How API Enablement Drives Legacy ModernizationHow API Enablement Drives Legacy Modernization
How API Enablement Drives Legacy ModernizationMuleSoft
 
Microservices on Anypoint Platform
Microservices on Anypoint PlatformMicroservices on Anypoint Platform
Microservices on Anypoint PlatformMuleSoft
 
Applying UX principles and methods to APIs
Applying UX principles and methods to APIs Applying UX principles and methods to APIs
Applying UX principles and methods to APIs MuleSoft
 
Secure by design: Scaling security across the enterprise
Secure by design: Scaling security across the enterpriseSecure by design: Scaling security across the enterprise
Secure by design: Scaling security across the enterpriseMuleSoft
 
Gathering Operational Intelligence in Complex Environments at Splunk
Gathering Operational Intelligence in Complex Environments at SplunkGathering Operational Intelligence in Complex Environments at Splunk
Gathering Operational Intelligence in Complex Environments at SplunkMuleSoft
 
CloudHub and other Cloud Deployment Options
CloudHub and other Cloud Deployment OptionsCloudHub and other Cloud Deployment Options
CloudHub and other Cloud Deployment OptionsMuleSoft
 
Governing and Sharing your Integration Assets
Governing and Sharing your Integration AssetsGoverning and Sharing your Integration Assets
Governing and Sharing your Integration AssetsMuleSoft
 
MuleSoft's Approach to Driving Customer Outcomes
MuleSoft's Approach to Driving Customer Outcomes MuleSoft's Approach to Driving Customer Outcomes
MuleSoft's Approach to Driving Customer Outcomes MuleSoft
 
Designing and building Mule applications
Designing and building Mule applicationsDesigning and building Mule applications
Designing and building Mule applicationsMuleSoft
 
Object Store
Object StoreObject Store
Object StoreMuleSoft
 
Introducing Anypoint Exchange 2.0
Introducing Anypoint Exchange 2.0Introducing Anypoint Exchange 2.0
Introducing Anypoint Exchange 2.0MuleSoft
 
Troubleshooting Anypoint Platform
Troubleshooting Anypoint PlatformTroubleshooting Anypoint Platform
Troubleshooting Anypoint PlatformMuleSoft
 
Relevancy in a Rapidly Changing World (Yvonne Wassenaar)
Relevancy in a Rapidly Changing World (Yvonne Wassenaar)Relevancy in a Rapidly Changing World (Yvonne Wassenaar)
Relevancy in a Rapidly Changing World (Yvonne Wassenaar)MuleSoft
 
Leveraging APIs and the Cloud to Transform Veteran Care (Steve Rushing)
Leveraging APIs and the Cloud to Transform Veteran Care (Steve Rushing)Leveraging APIs and the Cloud to Transform Veteran Care (Steve Rushing)
Leveraging APIs and the Cloud to Transform Veteran Care (Steve Rushing)MuleSoft
 
Role of Technology in the Evolution of P&C Insurance (Marcus Ryu)
Role of Technology in the Evolution of P&C Insurance (Marcus Ryu)Role of Technology in the Evolution of P&C Insurance (Marcus Ryu)
Role of Technology in the Evolution of P&C Insurance (Marcus Ryu)MuleSoft
 

Más de MuleSoft (20)

The CIO's Guide to Digital Transformation
The CIO's Guide to Digital TransformationThe CIO's Guide to Digital Transformation
The CIO's Guide to Digital Transformation
 
Gluecon 2017: Metadata is the Glue
Gluecon 2017: Metadata is the GlueGluecon 2017: Metadata is the Glue
Gluecon 2017: Metadata is the Glue
 
Gluecon 2017: API Modelling Framework - A Toolbox for Interacting With API S...
Gluecon 2017: API Modelling Framework -  A Toolbox for Interacting With API S...Gluecon 2017: API Modelling Framework -  A Toolbox for Interacting With API S...
Gluecon 2017: API Modelling Framework - A Toolbox for Interacting With API S...
 
How to Get Unstuck
How to Get Unstuck How to Get Unstuck
How to Get Unstuck
 
Product Vision and Roadmap for Anypoint Platform
Product Vision and Roadmap for Anypoint PlatformProduct Vision and Roadmap for Anypoint Platform
Product Vision and Roadmap for Anypoint Platform
 
How API Enablement Drives Legacy Modernization
How API Enablement Drives Legacy ModernizationHow API Enablement Drives Legacy Modernization
How API Enablement Drives Legacy Modernization
 
Microservices on Anypoint Platform
Microservices on Anypoint PlatformMicroservices on Anypoint Platform
Microservices on Anypoint Platform
 
Applying UX principles and methods to APIs
Applying UX principles and methods to APIs Applying UX principles and methods to APIs
Applying UX principles and methods to APIs
 
Secure by design: Scaling security across the enterprise
Secure by design: Scaling security across the enterpriseSecure by design: Scaling security across the enterprise
Secure by design: Scaling security across the enterprise
 
Gathering Operational Intelligence in Complex Environments at Splunk
Gathering Operational Intelligence in Complex Environments at SplunkGathering Operational Intelligence in Complex Environments at Splunk
Gathering Operational Intelligence in Complex Environments at Splunk
 
CloudHub and other Cloud Deployment Options
CloudHub and other Cloud Deployment OptionsCloudHub and other Cloud Deployment Options
CloudHub and other Cloud Deployment Options
 
Governing and Sharing your Integration Assets
Governing and Sharing your Integration AssetsGoverning and Sharing your Integration Assets
Governing and Sharing your Integration Assets
 
MuleSoft's Approach to Driving Customer Outcomes
MuleSoft's Approach to Driving Customer Outcomes MuleSoft's Approach to Driving Customer Outcomes
MuleSoft's Approach to Driving Customer Outcomes
 
Designing and building Mule applications
Designing and building Mule applicationsDesigning and building Mule applications
Designing and building Mule applications
 
Object Store
Object StoreObject Store
Object Store
 
Introducing Anypoint Exchange 2.0
Introducing Anypoint Exchange 2.0Introducing Anypoint Exchange 2.0
Introducing Anypoint Exchange 2.0
 
Troubleshooting Anypoint Platform
Troubleshooting Anypoint PlatformTroubleshooting Anypoint Platform
Troubleshooting Anypoint Platform
 
Relevancy in a Rapidly Changing World (Yvonne Wassenaar)
Relevancy in a Rapidly Changing World (Yvonne Wassenaar)Relevancy in a Rapidly Changing World (Yvonne Wassenaar)
Relevancy in a Rapidly Changing World (Yvonne Wassenaar)
 
Leveraging APIs and the Cloud to Transform Veteran Care (Steve Rushing)
Leveraging APIs and the Cloud to Transform Veteran Care (Steve Rushing)Leveraging APIs and the Cloud to Transform Veteran Care (Steve Rushing)
Leveraging APIs and the Cloud to Transform Veteran Care (Steve Rushing)
 
Role of Technology in the Evolution of P&C Insurance (Marcus Ryu)
Role of Technology in the Evolution of P&C Insurance (Marcus Ryu)Role of Technology in the Evolution of P&C Insurance (Marcus Ryu)
Role of Technology in the Evolution of P&C Insurance (Marcus Ryu)
 

Último

AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...kalichargn70th171
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...software pro Development
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 

Último (20)

AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 

Designing a Great API Consumer Experience

  • 1.
  • 2. Lessons From The Battlefield
  • 3. Understand the maturity of design and delivery of an API and be open about its state Define a contract: having an API in place takes consumer website to market without destabilizing the enterprise back-end 1   If the API is good enough, ship it. The layer Cake, APIs on APIS, is good! Problem with code-first approach: Use APIs to decouple systems rather than expose internal systems. 2   3  
  • 5. Now? In the Future? Don’t fall prey to paralysis! Limit pool of customers Commonality is good in API BUT Shoehorning is not! Who Is Your Customer?
  • 6. Orchestrating Service Provider OR What Is Your Value Add? Core Single-Purpose Service Front End Think Consumer Experience Back End Think business processes Looking Backwards Straight-through Proxy: Abstract Way of Expressing Domain Model Behind You Looking Forward New Facade: Create a new service based upon capabilities behind you OR OR
  • 7. Think APX 3 Critical Principles To Remember
  • 8. This is a long-lived interface Expose the interface you want your clients to develop a dependency on. 1 Three Critical Principles of APX
  • 9. Don’t Expose Dirty Laundry Don’t simply reflect your back end model. Instead, come up with simple, long-lasting domain model. 2 Three Critical Principles of APX
  • 10. Craft API for your users What will they love? If your API is really good, your users will get attached to it. 3 Three Critical Principles of APX
  • 11. Discover it? Explore it? Access it? Build on it? Verify it? Run on it? Say goodbye? Checklist Publish it? Describe it? Expose it? Implement it? Sandbox it? Operate it? Version/deprecate? How Will You…. How Will They….
  • 12. Discover it? Explore it? Access it? Build on it? Verify it? Run on it? Say goodbye? Solution Publish it? Describe it? Expose it? Implement it? Sandbox it? Operate it? Version/deprecate? How Will You…. How Will They…. API Portal RAML tooling API Manager APIkit Mule/ ClToudHub API Manager API Portal
  • 14. What Kinds of API? SOAP and WSDL over HTTP REST: HTTP taken seriously •  e.g. GET /users ß a page/data representing users Mix & Match: •  Google protocol buffers over HTTP •  <something> over websockets API facades: •  the RESTmullet (REST in front, SOAP in back) •  mobile REST/GPB/MQTT on top of SOA
  • 15. What Kinds of API? SOAP and WSDL over HTTP REST: HTTP taken seriously •  e.g. GET /users ß a page/data representing users Mix & Match: •  Google protocol buffers over HTTP •  <something> over websockets API facades: •  the RESTmullet (REST in front, SOAP in back) •  mobile REST/GPB/MQTT on top of SOA My Focus Today
  • 17. •  /users •  /users?zip=94301&subscribed=true •  /users/me •  /users/5638 •  /users/5638/books •  /users/5638/books/20467 •  /books •  /books/20467 Nouns: Resources Carefully consider your domain objects Query params are refinements on resources
  • 18. Verbs: Methods GET retrieve (idempotent!) POST create in container PUT update – replace (usually) PATCH update – partial DELETE remove HEAD GET w/o body (headers) OPTIONS metadata, e.g. methods Status codes •  Standardized •  Use them! •  Don't return 200 unless it's really OK •  No surprises pleas Headers •  Standardized •  Use them!
  • 19. How to describe your specific API? Your Answer: RAML
  • 20. Clean, clear, powerful 100% natural & organic Open, vendor-neutral Practical Pattern-based design is built in RESTful API Modeling Language
  • 22. Align to a logical model: users & groups
  • 23. Align to a logical model: eCommerce
  • 24. collections and members Patterns: resource types "special" id's one-off resources read-only resources
  • 26. Patterns: body schemas or just use good ol' form data: XML schema JSON schema examples
  • 27. Patterns: security schemes username/password; cleartext or use digest end user allows app to access their data better to put token in header, not query the OAuth multi-step dance
  • 28. Username/password: • End-user vs server • Who stores credentials? • Beware of reuse; if you do store, one-way hash w/salt • Minimize client & in-transit exposure Tokenization • Short-lived and long- lived; refreshing • App token vs user tokens OAuth2 if you need 3-way auth •  Be aware of its types •  Don't reinvent this particular wheel Elements of API security HTTP security principles still apply •  Beware of chatty errors •  Good URL hygiene
  • 29. The nature of the API Coarse-grained or fine – chatty or concise? Usecases! à you often need both Latency: remember the speed of light Bandwidth a problem? Compression, tokenization Partial requests and responses Reconsider format and protocol Implementability? Befriend your integration/orchestration layer Think layers; think cacheing
  • 30. Good APIs aren't trivial But with the proper approach, they can be your home-court advantage "First one home wins?" "Deal" "#$*%!"