The construction of interstate railroads in the 19th century was a catalyst to more efficient and effective inter-state business throughout the US. In the 20th century, the telephone, inter-state highways, and the web provided similar benefits. In the 21st century, a prerequisite for the next leap in economic advancement is a simple way to integrate disparate business systems and enable cross-platform communications. This requirement is realized through RESTful services.
With RESTful services, market-places that support Software-as-a-Service (SaaS) providers and consumers are possible. These market-places will provide consumers the ability to discover SaaS providers, and will also provide processes to facilitate business partnerships.
Join us in this session as we go back in time to see how we got here and ponder the possibilities that lie ahead. We’ll take a look back at approaches that have been used in distributed systems engineering, and we’ll identify what’s different this time around. In closing, we’ll identify the challenges to players in the “API Economy”, all the while making a case for why we should all jump in.
2. About Me
• Consultant, coach, trainer
•
•
•
•
Web Service and API design
REST
SOA
Distributed systems engineering
• Past Positions
• Director of Architecture, Monster.com
• Manager of Application Development, Fidelity.com
• Etc.
•
•
•
•
Author of Service Design Patterns
Frequent speaker at technology conferences
Podcasts, e-zine articles
Microsoft MVP
Copyright 2013, Rob Daigneau, All Rights Reserved
4. The Internet is the New Highway!
Thanks Al!
Web APIs are
a compelling new
destination!
Copyright 2013, Rob Daigneau, All Rights Reserved
5. Application Programming Interface
Defines how client developers invoke …
Native platform functions
Remote functions
Enables client developers to create new
solutions
e.g. Amazon Web Services
Copyright 2013, Rob Daigneau, All Rights Reserved
6. We’re Talking
About APIs for
Distributed
Systems
Copyright 2013, Rob Daigneau, All Rights Reserved
7. “Logical computers” are assigned
responsibility for individual tasks in a larger
goal
Communication occurs through “messages”
Computer memory is not shared
Note: not referring to clustered machines
Lack of central controller and “time clock”
Asynchronous, parallel processing
Copyright 2013, Rob Daigneau, All Rights Reserved
8. To scale and tune specific functions
e.g. web servers, database servers, etc.
This concept is often scaled to higher abstraction levels …
e.g. functional business areas
Workload distribution
http://www.seti.org
Fault-tolerance
Natural divisions of labor
Client apps (e.g. mobile, desktop) and server
Copyright 2013, Rob Daigneau, All Rights Reserved
9. Unreliable, slow networks
Latency and bandwidth
Changing network topologies and protocols
Multiple administrators
And they’re all human!!!
Security
Copyright 2013, Rob Daigneau, All Rights Reserved
11. How did we get here?
Let’s look back
Copyright 2013, Rob Daigneau, All Rights Reserved
12. Early Conferences
Symposium on Principles of Distributed Computing 1982
International Symposium on Distributed Computing 1985
TCP Socket programming
Berkeley sockets, 1983
2-Tier Client-Server, 1980s, 1990s
3-Tier/N-Tier, 1990s, 2000s
Distributed objects (i.e. CORBA, DCOM)
Peer-to-Peer, 1990s and on
SOAP/WSDL, 2000s
RESTful Web APIs, 2000s
Copyright 2013, Rob Daigneau, All Rights Reserved
13. Simplicity productivity
Standardized, truly cross-platform
Choices
Each platform has a plethora of frameworks to
choose from
All implementing the same simple approach
Framework selection often determined by “stylistic
differences” vs. capabilities
Copyright 2013, Rob Daigneau, All Rights Reserved
15. “A global market-place in which providers of
automated “business services” compete for the
attention of client developers” … Rob Daigneau
Relies on Web APIs
i.e. HTTP specification, RFC 2616
Web APIs allow companies to
Easily create and publish Business Services
i.e. SaaS offerings
Monetize these offerings
Copyright 2013, Rob Daigneau, All Rights Reserved
16. Thought Leadership
We have an opportunity to define a new
“platform” and (industry) standard
Gravitational Pull, Lock-in, e.g. ….
Sabre (reservation systems)
Microsoft (developer platform)
SalesForce (Force.com)
Apple (iTunes marketplace)
Facebook (Social Graph)
Several Revenue Opportunities
Copyright 2013, Rob Daigneau, All Rights Reserved
18. The API must be simple, intuitive, and flexible
Service Level Agreements (SLAs)
How to monetize?
Per transaction, subscriptions, other?
How do customers find (or become aware of)
your services?
Forget the UDDI approach
How do you evolve your API and meet the
needs of different clients?
Copyright 2013, Rob Daigneau, All Rights Reserved