8. The New Enterprise
SaaS
Cloud platforms
Social
Mobility and Devices
Customers / Partners
/ Suppliers
Packaged apps
Custom apps
Big Databases / Big Files
9. The New Enterprise
1,000s
100s
SaaS
Cloud platforms
Social
1,000,000,000s
100,000s
Mobility and Devices
Customers / Partners
/ Suppliers
Packaged apps
1,000,000s
Custom apps
Big Databases / Big Files
10. The New Enterprise
SaaS
Social
Cloud platforms
Open web APIs
Mobility and Devices
Customers / Partners / Suppliers
B2B APIs
Product APIs
Internal APIs
Packaged apps
Custom apps
The New Enterprise
Databases
13. The API Contract Is Critical
• tells consumer devs what they'll get
• tells implementer devs what to deliver
• enables parallel development
• ensures they'll meet in the end
14. The Contract is Critical
ü where consumers touch you
ü your front door, your lobby, your façade
ü how you want to be seen; your brand
ü versioned more carefully than code
ü better interfaces è better code
ü an organizing principle; alignment forcing function
ü the ultimate testing surface
15. What kind of contract do we want?
1. Describe APIs simply and clearly
2. Design APIs easily and soundly
16. What kind of contract do we want?
Document your API?
or
Model your API?
20. Design For Your Users
UI à UX
Valida
te
API à APX
Capture
Feedback
21. Think APX!
This is a long-lived interface,
ladies and gentlemen
Don't expose dirty laundry
!
users
products
orders
è
invoices
Craft it for your users:
what will they love?
36. No Need to Start From Scratch!
•
•
•
•
•
•
well-known superset of JSON
optimized for human readability
great for hierarchies
cruft-free
broad tooling base
extensible-ish
37. RAML
RESTful API Modeling Language
A new open spec
for RESTful APIs
that's as clean
and as structured
as REST itself
the RAML Workgroup:
raml.org
41. Covers Full HTTP
optional version in baseUri
template URIs
query parameters
headers (on request and response)
response per status code
example (and schema) per media type