APIs have become ubiquitous as a way of exposing the capabilities of the enterprise both internally and externally. However, are APIs alone enough? There is a strong resurgence in interest in asynchronous communication and event driven architecture. Applications want to receive events immediately so they can respond in real time, and furthermore they also want the benefit of being decoupled from the availability and performance characteristics of the systems providing that data. However, whilst the way that APIs are socialised, exposed, versioned etc. is well matured in the form of API management technology. We are now on the cusp of seeing first class support for event endpoint management to provide the same sophistication for discovering, exposing and consuming events.
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Â
Should we manage events like APIs? | Alan Chatt and Kim Clark, IBM
1. Should we manage events like APIs?
Kim Clark
Integration Architect and Strategist
IBM
kim.clark@uk.ibm.com
Alan Chatt
Offering Manager for Event-Driven Integration
IBM Automation
alan.chatt@uk.ibm.com
4. Boundaries make complex environments manageable
4
Managed API gateways define and enforce application boundaries
µService
µService
µService
µService
µService
µService
µService
µService
µService
µService
µService
µService
µService
µService µService
µService
µService
Silo
application
Silo
application
µService
µService
API
Application
boundary
Microservice
component
API
https://developer.ibm.com/apiconnect/2018/10/09/apis-microservices-defining-boundaries
& Event management
(sync and async)
5. High level API and Event interaction patterns
Request Action
Request State
Notifications
Ack
Req
API
Resp
Req
API
Topic
Topic
Request State
(pre-received)
5
10. IBM Confidential
Describing Events
Events need to be described so developers can
quickly understand what they are and how to
consume them
• Understood by people
• Supported by tooling
• Consistent with API definitions
Decentralised
Discoverable
Described
Decoupled
E n g a g i n g a n d
I n t e l l i g e n t a p p s
R e s p o n s i v e
e x p e r i e n c e s
Event
Transport
IBM already contributing into the Async API specification
https://github.com/asyncapi/bindings/tree/master/ibmmq
Ingredients for an enterprise Events Backbone
11. IBM Confidential
Decentralised
Discoverable
Described
Decoupled
E n g a g i n g a n d
I n t e l l i g e n t a p p s
R e s p o n s i v e
e x p e r i e n c e s
Event
Transport
Discovering events exists
An interface that cannot be found is no use to
anyone
• Catalogued in one place
• Searchable
• Understandable and ready to consume
Ingredients for an enterprise Events Backbone
12. IBM Confidential
Decentralised
Discoverable
Described
Decoupled
E n g a g i n g a n d
I n t e l l i g e n t a p p s
R e s p o n s i v e
e x p e r i e n c e s
Event
Transport
Decentralise access
Innovation flows best when people have the
freedom to explore
• Self-service access
• Policy based controls and enforcement
• Trackable use
Ingredients for an enterprise Events Backbone
13. IBM Confidential
Decentralised
Discoverable
Described
Decoupled
E n g a g i n g a n d
I n t e l l i g e n t a p p s
R e s p o n s i v e
e x p e r i e n c e s
Event
Transport
Decoupled systems
Loosely coupled systems are more flexible and
less fragile. The technology emitting the event
should not dictate how it must be consumed
• Data transformation and enrichment
• Protocol translation
• Interface versioning
• Connectivity to anything
Ingredients for an enterprise Events Backbone