Post on 15-Jul-2015
transcript
Service-as-a-Software, (the other SaaS)Jean-Jacques Dubray, Ph.D. Founder, Convergence Modeling LLC @metapgmr jean-jacques.dubray@convergencemodeling.com
Joshua Robin, Mass DOT
• In 2010, Joshua Robin, from the Massachusetts Department of Transportation delivered a seminal talk at eGov 2.0 2010 detailing what happened when the DOT started sharing its data (schedules and real time data) as APIs • Within hours developers
started to build apps • Lots of apps, for different
groups of people and usage patterns
A Profound Transformation is Happening …
Operating System
Operating System
Files
Users[Roles]
Onboard
Apps
The role of an operating System it to govern a (small) number of outcomes: add user, apps, files, login user, start app, …
AirBnB
Actions
(Physical) Service
Users[Roles]
Onboard
Rooms
Search Book Pay …
A set of machine-readable instructions
Software
An orchestration of resources and skills that governs a consistent outcome of activities
Service
AirBnB
Rooms
ActionsUsers
Service-as-a-Software
Onboard
Apps
Search Book Pay …
Service-as-a-Software
is about enabling the consumption of a (physical) service from a set of machine-readable instructions
Why is Service-as-a-Software so important today?
Context, the contexts in which services are consumed is nearly endlessWe never consume a service without a purpose…
and today, end users expect that they will be able to consume services in the context of the activities they want to accomplish
Search is no longer “cool”, in fact it is highly inefficient
actor
Compare how we consume services today…
search
purchase
travel
Activity: I want to visit Sydney
do
1
2
34
Commerce is being Integrated with the Activities People do
actor
search
travel
Activity: I want to visit Sydney for a week in December
do
A
B
4
purchase
3
1
select QoS
2pay
C
reserveD
book
Getty Images Connect APIs
Pictures
ActionsUsers
Onboard
Search Buy Download …
Photographers Media Advertising Agencies
Source: Connect by Getty Images
News Writers can Consume Getty Images’ Service Directly from the Activity they Perform
actor
search
Activity: As a journalist, I want to spend my time writing news articles
publish
AB
3
purchase
1
write article
2select picture
Source: Connect by Getty Images
S D K
Service-as-a-Software
This Transformation has Profound Economic Implications
Sales
dimensions
Sales of single product across all dimensions
Product variants adapted forall dimensions
Sales of variants perdimension
APIs are as important as Business Processes (once were)
Goeffrey Moore: Core vs Context
Core Context
Mission Critical
Enabling
Innovation
Differentiation Standard
Commoditized
How did we get here ?
• Libraries Black boxes
• Limited Data Communications Good Enough
• Business Integration APIs + Apps
• Monolithic Architecture Composite (OAuth)
• Difficult to Scale Cloud
• Business Model Monetization
What just happened? 2007-2010
Anyone Remembers Numerical Recipes?
If there is a single dominant theme in this book, it is that practical methods of numerical computation can be simultaneously efficient, clever, and — important — clear. !The alternative viewpoint, that efficient computational methods must necessarily be so arcane and complex as to be useful only in "black box" form, we firmly reject
Source: Wikipedia
Black Boxes or Libraries?
• As it turned out, the 1980s were fertile years for the "black box" side, yielding important integrated environments like MATLAB and Mathematica
!
!
• Eventually the authors of Numerical Recipe recognized that the book was increasingly valued for their explanatory text than their code examples
Source: Wikipedia
The Web vs The Fallacies of Distributed Computing
1. The network is reliable
2. Latency is zero
3. Bandwidth is infinite
4. Network is Secure
5. Topology doesn’t change
6. There is one administrator
7. Transport Cost is zero
8. The Network is homogeneous
Source: Tim Bray, 2009
Web connections are brief
Web connections are good enough with notable exceptions (e.g. HFT)
Web is good enough
Topology issues are hidden by HTTP
Web may no longer be good enough
Web is (mostly ;-) decentralized
Web is good enough
Finally, yes, the network is!
From Business Integration … to APIs
• EDIFACT (1987) • Convergence between UN and US/ANSI (UN/EDIFACT) • syntax rules to structure data • interactive exchange protocol (I-EDI) • standard messages (multi-country, multi-industry)
Source: David Webber & Anthony Dutton
Computation of the status of a Business Transaction Activity
Source: ebXML BP 2.0.4
… APIs
Software Architecture has Undergone a Tectonic Shift towards Composite Applications
App1
App2
App3
Service Interface
Service Interface
App4
App6
App5
Mon
olith
ic
App
ServiceA
ServiceC
ServiceB
Com
posit
e20
13
20
07
Monetization is the “invisible hand” … … it is not just about distributed computing
search
Activity: As a journalist, I want to spend my time writing news articles
A
B
purchase
S D K
Service-as-a-Software
Are we there yet?
There is still lots of Technical Problems to Solve Mike Amundsen: How to Create Reusable APIs?
• Stop mapping semantics to protocols • Stop hiding update & query rules in human-readable
documentation • Stop requiring devs to be protocol gurus • Stop making everyone use the same object model • Stop describing services as single instances • Stop baking workflow into client code • Stop breaking others people's code • Stop making client devs re-code & re-deploy at random • Stop adding single points of failure • Stop pretending the Web defies the laws of probability and physics
Semantics
Protocols
Object Model
Message
Workflow
Network
Architecture
Where are the hot spots?
Composition / Orchestration
Management Apps
Security Reliable Messaging Transactions
Messaging
Description
ProtocolHTTP
Swagger, WADL, RAML …
JSON, JSON-Schema
ad hoc ad hoc
Hypermedia
API Gateways SDKs
Monetization
Four Principles to Succeed at SOA -> APIs
1. Service Interface shall be decoupled from Service Implementation
2. All Business Logic shall be normalized
3. Changing a service shall be easy
• Changes shall be hidden to service consumers until they are ready
• Changes shall be easy to consume when the consumer is ready
4. Service Versioning shall be based on Compatibility
1
2
3
4
End user
3rd Party Developer
PlatformOperator
Service Owner
Resource Owner(e.g. Digital Asset Producer,...)
trusts
trusts
trusts
trusts
buys assets
buys apps, goods
stores, shares data
utilizes end-user data
utilizes end user data(e.g music lists, eBooks, pictures…)
utilizes end-user data
The “Platform” will come into Play
Actions
Apps
Search Book Pay …
Rooms
Conclusion
!
We Need to Revisit the Way we Think about Services
• Think Service-as-a-Software • Operating System • Services govern Outcomes • On boarding
• Think about services in the broader context of the “Platform” • Platform Oriented Architecture • Activities vs search
• Think Topology • Technology enablers like APIs, Mobile Computing, and Cloud are redefining our societies
• Education: MOOCs • Commerce: Zulily • Presence (Social Media) • …
• We are at the onset of a massive Economic Transformation • Accessible to every human, in the most remote villages • With the potential to optimize and enrich everything we do