You can setup an integration between Event Endpoint Management and IBM API Connect.
Note: To set up this integration, API Connect 10.0.6 is required, and both your Event Endpoint Management and API Connect instances must be deployed as part of IBM Cloud Pak for Integration on the same OpenShift cluster.
Event Endpoint Management provides the capability to describe and catalog the APIs of Kafka event sources, and to socialize those APIs with application developers.
Consuming event-driven APIs can be described as asynchronous because your application does not need to poll or know when to request data. Instead, your application subscribes to a stream of events, and will receive events as they become available. This is different from the immediate request-response mechanism of synchronous APIs, such as REST.
Asynchronous APIs can be described by using the AsyncAPI specification, the industry standard for documenting event-driven services.
With Event Endpoint Management, you can generate an AsyncAPI document that describes the API of a Kafka event source.
Using the “gateway director” model, Event Endpoint Management provides the Event Gateway for use in API Connect. This means Event Endpoint Management can be registered as an Event Gateway Service in the Cloud Manager. From Event Endpoint Management, you can export the AsyncAPI document that defines an event source, and then use API Manager to add it to a catalog, making the API details available in the Developer Portal. This enables the management of events and APIs in one place.
Application developers can discover the event source and configure their applications to subscribe to the stream of events, providing self-service access to the message content from the event stream.
The following diagram provides an overview of integrating Event Endpoint Management with API Connect.
- The Kafka administrator describes the Kafka topic, which is the event source. They can select a topic from an existing Kafka cluster or specify a new cluster, after which the topics on that cluster can be made available by adding and describing them.
- The Kafka administrator adds the Kafka topic to the Event Endpoint Management UI.
- The system administrator registers Event Endpoint Management as an Event Gateway Service in Cloud Manager.
- The Event Gateway Service is made available in API Manager, and can be linked to a catalog.
- The API developer exports the AsyncAPI document that describes the Kafka topic from the Event Endpoint Management UI.
- The API developer imports the AsyncAPI document to API Manager.
- The API developer publishes the API by including it in a product, and publishing the product to a catalog. The API is then available in the associated catalog in the Developer Portal. The published product is also sent to the Event Gateway.
- Using the Developer Portal, the application developer discovers information about event sources, and based on the information provided in the AsyncAPI document, can decide which one to use in their applications.
- The application developer creates an application to generate credentials (API key and secret) in the portal to use them later for subscribing to the event stream.
- The application developer subscribes their application to the event source by choosing the event API product in the portal, copying the provided snippet into their application, updating it with the previously created credentials, and selecting a plan to use.
- The application developer connects their application to the event source by using the snippets and credentials provided, and this sets up their application to consume from the selected topic through the Event Gateway.
- The application connects to the Event Gateway for access to the topic’s event stream.
- The Event Gateway routes traffic securely to and from the Kafka cluster that holds the relevant topic content, providing the content to the application as required.