Evolution of the Web
API vs. Services
Public APIs
Protected APIs
Private APIs
By End of 2014, 75% ofthe Fortune 1000 will offer public Web APIs
By 2016, 50% of B2B collaboration will take place through Web APIs
- Service deals with implementation
- API deals with consumption
- Lifecycles are independent
- Open to any developer
- Targeted towards end consumers
- Fosters external innovation
- Enter new customer facing ecosystems
- Exposed only within the enterprise
- Targeted at enterprise employees
- Driven by channel consistency, productivity through re-use, and internal innovation
- Open to select business partners
- Targeted at end consumers or business users
- Driven by the ability to automate processes, exchange data, and accelerate partner on-boarding
SOA Governance
API Management
Managing services with known consumers.
Managing external APIs where consumers are unknown.
Benefits
Managing a big ball of wibbly-wobbly...timey-wimey...SERVICES
Protocols
- Maximize Asset Value
- Self Service
- Shorter Time to Market
- Enforce Consistency
- Save Licensing Costs
- Leverage Caching
- Decouple Systems
Management Console
- Endpoint Configuration
- Protocol translation
- Packaging *
- Security
- Filtering *
- Limits
- Notifications
Developer Portal
- SOAP = Simple Object Access Protocol
- HTTP = Hypertext Transfer Protocol
- REST = architecture style
- REST != implementation or protocol
- Service Documentation ***
- Contract Specifications
- Usage Examples
- Test Harness
- Service Level Agreements
- Packages & Plans
- Access Requests
Traffic Manager
- Cloud vs. Local
- Protocol support *
- REST (HTML)
- SOAP
- Caching
- Analytics
Strategy
Gaines Kergosien
- What data do you have?
- Who is interested in it?
- Think in terms of use cases
Versioning
@gainesk - dotnetdude.net
Solutions Architect
Vanick Digital
- Version as a query parameter
- Netflix - /catalog/titles/series/70023522?v=1.5
- Google Data API - "v=X.0" or "GData-Version: X.0"
- Version as part of URI
- Salesforce - /services/data/v20.0/sobjects/Account/
- Twitter - /1.1/statuses/mentions_timeline.json
- Version as a date in URI
- Twilio - /2010-04-01/Accounts/{AccountSid}/Calls
- Version as a
- Custom HTTP Header
- Accept Header
Functionality
- Users Management
- API Publication
- API Security
- Analytics
- SLA control
- Throttling / Rate Limiting
- API Versioning