PubSub+ Platform is an event streaming, management and monitoring platform that gives you everything you need to design, deploy and manage an event-driven system. We built a great GUI, but we know, architects and developers often need our tools to work in the environments they work in and take an API-first approach to their work. This whitepaper focuses on how our customers use our APIs in their environments.
Taking a Design-First Approach to EDA with Solace PubSub+ Event Portal
If you think about EDA from a design-first perspective, you start with the architecture of your event flows. PubSub+ Event Portal adds design, governance, and other event management capabilities to PubSub+ Platform. With it, you can model applications and associate events to them, use topic addresses to define and categorize events into a taxonomy, and catalog events for reuse.
Event Portal gives you fine-grained access control and version control of objects, lifecycle states on version objects of design objects, and promotion of modeled event mesh to various operational environments. These features, when exposed as APIs empower developers to build smart and functional applications to manage EDA.
Just like an API portal enables architects and developers to catalog, document, discover, collaborate, and be productive using RESTful APIs, Event Portal does the same thing for events. Just like the API Portal is linked to the API Gateways to manage these REST applications, Event Portal is linked to event brokers.
Though EDA and SDLC are well-understood, bringing them together can be challenging due to a lack of correct approaches and tools. PubSub+ Cloud REST APIs come to aid, unlock the power of Event Portal and enable teams to approach EDA with SDLC focus on management and automation in an API-first, programmatic manner. PubSub+ Cloud REST APIs expose the required interfaces to accomplish that. The complete API reference can be found here – Using PubSub+ Cloud REST APIs.
The list of APIs are constantly growing as new features are added to the platform, so keep an eye on the documentation and head on over to the Solace Community if you have any feedback or questions.
Designer APIs
Extending Model Building and Management of Your Event Mesh with Popular SDLC Tools using PubSub+ Event Portal
Event Portal is a cloud-based event management tool that helps you to design your event-driven architecture (EDA). You can use Event Portal to design and track the relationships that exist between applications in a highly decoupled EDA. You can model applications and associate events to them, use topic addresses to define and categorize events into a taxonomy, and catalog events for reuse.
Event Portal helps you model your event meshes for the multiple operational environments that you maintain in a software development lifecycle. You can have multiple versions of applications, events, schemas, and enumerations, which enables you to maintain production versions while you develop and test new versions to extend and enhance your EDA at the same time.
Designer APIs extend these functionalities as REST APIs, which can be used to build applications to programmatically manage event portal resources like application domains, applications, events, schemas, enumerations, event APIs, and event API products. Using these APIs, you can extend the model building and management activities to external tools like IntelliJ, Slack, and Confluence among others.
Check out the blog Supercharge your Software Development Lifecycle with PubSub+ Event Portal which talks about the integration of Event Portal with various SDLC tools using the designer REST APIs. Just to give you a hint, Event Portal already has integration in the form of an app/plugin to some of the most popular SDLC tools.
Designer APIs are a set of REST APIs allowing access to Event Portal design-time objects.
Get a list of event portal objects | An event portal resource is one of the following:
|
|
Create an event portal object | ||
Delete an event portal object | ||
Update an event portal object | ||
Update an event portal object | ||
Get a list of event portal object versions |
Some convenience APIs that offer specialized functionality:
Create Application Domain and their entities from import | |
Replace messaging service association for an Application, Event and Event API versions | |
Replace messaging service association of an Event version | |
Update the state of an Application, Event, Event API, and Event API Product version | |
Get the AsyncAPI specification for an Application and Event API version | |
Get, Create, Delete, and Update custom attributes of provided Application Domain | |
Create, Delete an association between gateway messaging service and an Event API Product version |
You can read more about PubSub+ Event Portal objects and their relationship here
Runtime APIs
Discover and Model your Event Mesh using PubSub+ Event Portal
Runtime Event Manager brings together your EDA design with data from your event brokers to help you design accurate models of your EDA. Event Portal – Runtime APIs help you manage operational environments in your organization, model event flows or a full event mesh, and discover runtime data from event brokers using an agent or by importing collected data. They can be used to build applications to programmatically manage environments, event management agents, event mesh, and messaging services.
Runtime APIs are a set of REST APIs allowing access to Event Portal runtime resources and activities.
Environments |
|
|
Event Management Regions |
|
|
Event Management Agent |
|
|
Event Mesh |
|
|
Messaging Service |
|
|
Messaging Service Scan |
|
|
Messaging Service Scan Log |
|
|
Messaging Service Scan Data |
|
You can learn more about the PubSub+ Event Portal runtime management here.
Mission Control APIs
Extending your CI/CD Processes to Manage your Event Brokers
PubSub+ Mission Control is a centralized management console to create, deploy and manage event brokers and brokers connected into an event mesh. It makes creating, deploying, and managing Client Profiles and Event Broker Services easy. Mission Control APIs extend this functionality as REST APIs, which can be used to build applications to programmatically manage client profiles, event brokers, and monitor the health of an event-driven system.
As an example, Mission Control APIs can be used during your CI/CD process to programmatically deploy and configure your event broker services and manage Client Profiles permissions programmatically.
Event Broker Services
|
|
|
|
|
|
|
Client Profiles
|
|
|
|
|
|
|
|
|
Platform APIs
Model and Manage Different Stages of SDLC with Multiple Environments
Environments are used to model instances of your event meshes at different stages of the EDA’s lifecycle. At runtime, an EDA platform may have to support multiple environments. You can create environments in PubSub+ Cloud to represent the operational environments within your organization. For example, you may want to have multiple development environments, a testing environment, a staging environment, and a production environment.
Few considerations around creating and managing environments:
- You create environments at the PubSub+ Cloud account level.
- Each PubSub+ Cloud account must have at least one environment and can have up to 50 environments with each environment having a unique name.
Platform APIs are a set of REST APIs to manage environments.
|
|
|
|
|
|
|
You can learn more about the environments here.
Billing APIs
Monitor and Optimize your Services Use in a Centralized Tool
If your organization uses a cloud-managed drawdown subscription, you can view your usage in PubSub+ Cloud Console. This information can be accessed programmatically using REST API as well. The billing usage API is available for customers subscribed to a drawdown billing plan and gives access to usage summary between two dates.
Billing APIs are a set of REST APIs to generate usage summary of your organization.
|
You can learn more about the billing and usage APIs here.
Using the REST APIs
All REST API endpoints have a base URL portion that depends on your PubSub+ home cloud.
- United States: https://api.solace.cloud/
- Australia: https://api.solacecloud.com.au/
When you want to use the REST APIs, your client applications must have connectivity to access the base URLs. If your applications run within a private network, you may need to set up networking to permit access to the Solace Home Cloud.
Here are the basics to use the REST API for PubSub+ Cloud:
- Create an API token. The REST APIs use Bearer Token authentication. You can learn more about authentication here.
- The documentation on the PubSub+ Cloud REST APIs allows you to see the REST API endpoints that are available.
- As you use the API calls, you can:
- Filter and paginate the results when you use GET operations. For more information, see Filtering and Pagination.
- To better understand the various response codes and error codes in the errors, see Error Handling.
- The REST APIs include all methods at various levels of development from General Availability to Early Access. To understand more about how the versions are specified, see Versioning.
About Legacy APIs
PubSub+ Cloud has v0 and v1 APIs that are in the process of being modernized to the framework. As new APIs that provide v0/v1 API functionality become available, we encourage you to use APIs when possible because they closely follow set standards, have full reference documentation, and have consistent interfaces and usage. You can continue to use v0/v1 APIs for managing users, authentication, and certificates.
In general, you can mix the usage of different API versions in your application except for Event Portal APIs. Event Portal APIs align with the version of the Event Portal you are using. For example, if you’re using Event Portal 2.0, you must use only Event Portal APIs.