How can we orchestrate and integrate different SaaS products to support end-to-end business processes? What affordances do SaaS providers need to design into their APIs to help deliver the Composable Enterprise.
Saul CaganoffPrincipal & CTO, Platform Engineering à Deloitte
2. The Web is Now Programmable
• We need to talk about consuming APIs
• Each API will have thousands or millions of consumers
• Enterprise digital initiatives – lean, SaaS, PaaS, IaaS
• How to enable the Composable Enterprise?
4. SaaS - Different Levels of Specialization
• Infrastructure – storage, compute, management, integration
• Commodity – people, places, things, payment, security…
• Functional – sales, marketing, service management, financial,
human resources…
• Industry – healthcare, education, supply-chain…
• Your unique business value depends on how you integrate
and operate all these services
– The end-to-end business process
6. This is what you want…
• The business process ensemble
• Coordination between process and API?
• API is constrained by its underlying state model
• Business Process has its own goal to achieve
7. This is what you get…
• Each SaaS is built as an island
…or with point integrations
• Not designed for integration
• An awful lot of polling going on
“We’ve got a long way to go” - @njyx
14. HATEOAS and Events
• State Model
• Business Process = a path through the state model
• Duality between state transitions and events
• An external observer can infer the state of a resource from its
event-stream
– This is the essence of event-sourcing & CQRS
• Affordances
– Expose hyperlinks that represent available state transitions
– Publish events that notify actual state transitions
15. Event Transports: Syndication
• API exposes list of events – e.g. an RSS/atom feed
• Consumers do all the hard work:
– Subscription
– State Management (where am I up to?)
– Retries
• Positives
– Very easy…well-known pattern
• Negatives
– Polling
– High latency
16. Event Transports: WebHooks
• Service POSTs events to subscribers
• Publishers do all the hard work:
– Subscriber management
– Consumers must provide an endpoint
• Positives
– Not polling, relatively lower latency
• Negatives
– Subscription management & guaranteed delivery must be done yourself
– Reliability requires coordination between publisher & subscriber
17. Check out RESTHooks
• Sponsored by Zapier
• WebHooks with
• RESTful Subscription Management
resthooks.org
20. Affordances for Business Automation
• Have an explicit State Model
– With published hypermedia controls
• Track changes
– Allow query of changes since last “poll”
• Even better - notify changes
– Event streams
– WebHooks or REST Hooks
– Notification Services
• Consider the importance of event reliability