Strategies for
APIs in the

Enterprise
Ross Mason @rossmason
About me
•
•
•
•

Created the Mule project
Founded MuleSoft
API eye for the SOAP guy
Thingologist (thingology.org)

@rossm...
Why would an enterprise company
buy ProgrammableWeb.com?

+

All contents Copyright © 2013, MuleSoft Inc.

=?

@rossmason
Web APIs are the
Playbook for the

enterprise

All contents Copyright © 2013, MuleSoft Inc.

@rossmason
…or 13,000 ideas
to steal

adapt

All contents Copyright © 2013, MuleSoft Inc.

@rossmason
RESTful APIs

All contents Copyright © 2013, MuleSoft Inc.

#MuleSoftWebinar

@rossmason
Open APIs are the tip of the iceberg
13,000

@rossmason
Open APIs are the tip of the iceberg
13,000

1,000,000s
of APIs
in the
enterprise

@rossmason
Enterprise APIs = API delivery at scale
- 3Cs: Clean, Clear, Consistent
- Across teams, across orgs
- Rapid creation, iter...
API

SOA

@rossmason
Enterprise SOA
- 3Cs: Clean, Clear, Consistent
- Across teams, across orgs
- Rapid creation, iteration, lifecycle
manageme...
APIs in the Enterprise
Developer

Internal
projects
Customers

Your
APIs

Partners

Your Assets
Affiliates
Mobile

@rossma...
What we see in the Enterprise
Developer

Internal
projects
Customers

Your
APIs

Partners

Your Assets
Affiliates
Mobile

...
API types and business opportunities

Source: Forrester, Establish your API design, June 2013
@rossmason
APX: Between Form and Function

APX
Application Programming eXperience
@rossmason
Delight your API consumers
•
•
•
•

Design for them
Iterate quickly
Model cleanly and consistently
Engage

@rossmason
What is your value add?
consumer devs

• Orchestrating service provider…
• …or core single-purpose service?

• Back end…
•...
Think APX!
• This is a long-lived interface,
• ladies and gentlemen

Don't expose dirty laundry



Craft it for your user...
Forms of APIs
• SOAP and WSDL over HTTP
• REST: HTTP taken seriously

my focus today

• e.g. GET /users  a page/data repr...
The 3Cs in Action
(Clean, Clear, Consistent)

All contents Copyright © 2013, MuleSoft Inc.

@rossmason
Practical REST, be Clear
• Nouns: resources
•
•
•
•
•
•
•
•
•
•

Carefully consider your domain objects
Query params are r...
Practical REST, be Clear and Consistent
• Verbs: methods
GET

retrieve (idempotent!)

POST

create in container

PUT

upda...
How to describe your specific API?
•We like RAML: RESTful API Modeling Language
•
•
•
•
•

Clean, clear, powerful
100% nat...
Clean, align to a logical model: users &
groups

@rossmason
Clean, align to a logical model:
eCommerce

@rossmason
Consistent patterns:
resource types
collections and
members

"special" id's

read-only resources
one-off resources

@rossm...
Consistent patterns: method traits

@rossmason
Be Clear: body schemas
XML schema
JSON schema

or just use good ol'
form data:

examples
@rossmason
Be Clear: security schemes
username/password; cleartext or use digest
end user allows app to access their data
better to p...
Enterprise APIs
- 3Cs: Clean, Clear, Consistent (APX)
- Across teams, across orgs (RAML.org)
- Rapid creation, iteration, ...
Good APIs aren't trivial
But with the proper approach…
…they can be your home-court advantage
"First one home wins?"

"Dea...
Thank you
Twitter: @rossmason
Company: http://mulesoft.com

All contents Copyright © 2013, MuleSoft Inc.
Upcoming SlideShare
Loading in …5
×

API Strategies in the Enterprise

1,800 views

Published on

Ross will give a view for how enterprise APIs have evolved over the past 2 years, and the strategies for companies leveraging them today. This API Meetup community is focused on APIs in the enterprise, with all that can be learned and leveraged from the world of open APIs, and this discussion begins 2014 with that in mind. Ross had delivered such noted talks as; Welcome to the API Economy which has been viewed widely.

This talk introduces the notion of APIs in the Enterprise and some strategies for creating APIs in an enterprise environment.

Published in: Technology
  • Be the first to comment

API Strategies in the Enterprise

  1. 1. Strategies for APIs in the Enterprise Ross Mason @rossmason
  2. 2. About me • • • • Created the Mule project Founded MuleSoft API eye for the SOAP guy Thingologist (thingology.org) @rossmason
  3. 3. Why would an enterprise company buy ProgrammableWeb.com? + All contents Copyright © 2013, MuleSoft Inc. =? @rossmason
  4. 4. Web APIs are the Playbook for the enterprise All contents Copyright © 2013, MuleSoft Inc. @rossmason
  5. 5. …or 13,000 ideas to steal adapt All contents Copyright © 2013, MuleSoft Inc. @rossmason
  6. 6. RESTful APIs All contents Copyright © 2013, MuleSoft Inc. #MuleSoftWebinar @rossmason
  7. 7. Open APIs are the tip of the iceberg 13,000 @rossmason
  8. 8. Open APIs are the tip of the iceberg 13,000 1,000,000s of APIs in the enterprise @rossmason
  9. 9. Enterprise APIs = API delivery at scale - 3Cs: Clean, Clear, Consistent - Across teams, across orgs - Rapid creation, iteration, lifecycle management All contents Copyright © 2013, MuleSoft Inc. @rossmason
  10. 10. API SOA @rossmason
  11. 11. Enterprise SOA - 3Cs: Clean, Clear, Consistent - Across teams, across orgs - Rapid creation, iteration, lifecycle management All contents Copyright © 2013, MuleSoft Inc. @rossmason
  12. 12. APIs in the Enterprise Developer Internal projects Customers Your APIs Partners Your Assets Affiliates Mobile @rossmason
  13. 13. What we see in the Enterprise Developer Internal projects Customers Your APIs Partners Your Assets Affiliates Mobile @rossmason
  14. 14. API types and business opportunities Source: Forrester, Establish your API design, June 2013
  15. 15. @rossmason
  16. 16. APX: Between Form and Function APX Application Programming eXperience @rossmason
  17. 17. Delight your API consumers • • • • Design for them Iterate quickly Model cleanly and consistently Engage @rossmason
  18. 18. What is your value add? consumer devs • Orchestrating service provider… • …or core single-purpose service? • Back end… • …or front end? • Straight-through proxy… • …or new façade? @rossmason
  19. 19. Think APX! • This is a long-lived interface, • ladies and gentlemen Don't expose dirty laundry  Craft it for your users: what will they love? users products orders invoices  @rossmason
  20. 20. Forms of APIs • SOAP and WSDL over HTTP • REST: HTTP taken seriously my focus today • 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 @rossmason
  21. 21. The 3Cs in Action (Clean, Clear, Consistent) All contents Copyright © 2013, MuleSoft Inc. @rossmason
  22. 22. Practical REST, be Clear • Nouns: resources • • • • • • • • • • Carefully consider your domain objects Query params are refinements on resources /users /users?zip=94301&subscribed=true /users/me /users/5638 /users/5638/books /users/5638/books/20467 /books /books/20467 @rossmason
  23. 23. Practical REST, be Clear and Consistent • 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 please Headers • Standardized • Use them! @rossmason
  24. 24. How to describe your specific API? •We like RAML: RESTful API Modeling Language • • • • • Clean, clear, powerful 100% natural & organic Open, vendor-neutral Practical Pattern-based design is built in @rossmason
  25. 25. Clean, align to a logical model: users & groups @rossmason
  26. 26. Clean, align to a logical model: eCommerce @rossmason
  27. 27. Consistent patterns: resource types collections and members "special" id's read-only resources one-off resources @rossmason
  28. 28. Consistent patterns: method traits @rossmason
  29. 29. Be Clear: body schemas XML schema JSON schema or just use good ol' form data: examples @rossmason
  30. 30. Be Clear: 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 @rossmason
  31. 31. Enterprise APIs - 3Cs: Clean, Clear, Consistent (APX) - Across teams, across orgs (RAML.org) - Rapid creation, iteration, lifecycle management (APIhub.com) All contents Copyright © 2013, MuleSoft Inc. @rossmason
  32. 32. Good APIs aren't trivial But with the proper approach… …they can be your home-court advantage "First one home wins?" "Deal" "#$*%!" @rossmason
  33. 33. Thank you Twitter: @rossmason Company: http://mulesoft.com All contents Copyright © 2013, MuleSoft Inc.

×