There are some typical questions asked by application developers who are getting started with using events:
The simple answer to all the above? IBM Event Endpoint Management.
IBM Event Endpoint Management is already in the market, making the discovery and management of events just as easy as APIs. When working alongside IBM API Connect, it offers discovery and self-service access to both APIs and events together in one portal as part of the IBM Cloud Pak for Integration.
IBM Event Endpoint Management is comprised of three functionalities:
In the last few years, there’s been a lot of traction around AsyncAPI (link resides outside ibm.com), which is emerging as an industry standard on how to describe topics as events. AsyncAPI is the specification we use to document a whole Apache Kafka system—describing the brokers, topics, topic data and things like contact information for the owner of the events. When combined with the Developer Portal and Event Gateway service of IBM Event Endpoint Management, you can describe, document, publish and socialise your clusters, whilst enabling self-service access.
Let’s start our story with Shavon. Shavon is looking for a solution to document topics quickly. She wants to provide other teams in her company self-service access and the ability to re-use these events in new projects—this is where IBM Event Endpoint Management steps in.
API Manager allows Shavon to document the topics and produces a high-quality AsyncAPI document. This can immediately be published to the Event Gateway service and the Developer Portal, where others will be able to discover the event API.
Now we will switch perspective to Andre, an application developer working on an exciting new project. In the Developer Portal, Andre will be able to see a wide range of APIs available to him—a catalog of synchronous and asynchronous APIs, all in the same place. He will be able to browse and find the exact information he is looking for.
Andre can click on the event API Shavon published to see if it is a good fit for his application. The data presented to him is that of the AsyncAPI that Shavon authored. Andre can find out more about the event API thanks to Shavon authoring the technical information. It provides a description of what the event represents and her contact details so that Andre can get in touch if needed.
The Developer Portal also generates code snippets to show an example use of the event API and example payload information (if a schema was provided by Shavon). From here, Andre will be able to see the data that is available and can quickly understand and decide if this is what he needs for his application. Andre can sign up and use this application by simply clicking a button to get access. He goes through the quick flow in which he chooses the level of service he would like from this event API and associates it with his existing application. With just a couple of clicks, he has now signed up to use this event API.
Using IBM Event Endpoint Management, in the space of a few moments, Andre discovers an event API which he didn’t know existed previously and signs up to use it, all without Shavon needing to generate any additional credentials or approve access for Andre.
Having signed up to the event API, Andre can now make use of it. The Developer Portal will update all generated code snippets to include his application. There are different libraries available for him to choose from: Java, kafka-console-consumer, kafkaJS, node-rdkafka and kafkacat. All the configuration Andre needs to get started will be templated into the code snippet, using the library of his choosing. This means he can just copy and paste the generated code into his chosen editor where he will be able to run a real application against IBM Event Endpoint Management, securely accessing Shavon’s cluster and the events it contains.
Just as Andre discovered this application in the Developer Portal, others can also discover the same events and make use of them to fit their use cases and needs. IBM Event Endpoint Management can be used to document, socialise and enable self-service access to any Kafka distribution, from any vendor.
It is very quick and easy to discover and make use of events, as we have been doing with APIs for some time now. Shavon described her Kafka cluster in the API Manager and published it to the Developer Portal. Andre was able to make use of this in his application and securely access that cluster through the Event Gateway.
IBM Event Endpoint Management helped Shavon describe topics with minimal overhead for others to re-use. It also provided Andre a single place to effortlessly discover topics that others have shared, understand them and start using them without having to negotiate access. This has been done through the four D’s: