In this Post

    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.

    Figure 1 - PubSub+ Platform combines event management, event streaming, and event observability with all the needed components for enterprise development.

    Figure 1 – PubSub+ Platform combines event management, event streaming, and event observability with all the needed components for enterprise development.

    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.

    Figure 2 – Event Portal features to support role-based access and object versioning with support for multiple environments.

    Figure 2 – Event Portal features to support role-based access and object versioning with support for multiple environments.

    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.

    Figure 3 – Focus areas of PubSub+ Cloud REST APIs.

    Figure 3 – Focus areas of 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.

    vent Portal with various SDLC tools

    Designer APIs are a set of REST APIs allowing access to Event Portal design-time objects.

    REST APIs Get a list of event portal objects An event portal resource is one of the following:

    • Application Domain
    • Application & Application Version
    • Event & Event Version
    • Schema & Schema Version
    • Enumeration
    • Event API & Event API version
    • Event API Product and Event API Product version
    • Custom Attributes
    • States
    • Topic Domains
    • Consumers
    • Configuration & Configuration Types
    Create Create an event portal object
    Delete Delete an event portal object
    Update Update an event portal object
    Update an event object Update an event portal object
    Get a list of event portal object versions Get a list of event portal object versions

    Some convenience APIs that offer specialized functionality:

    Create Application Domain Create Application Domain and their entities from import
    Replace messaging service Replace messaging service association for an Application, Event and Event API versions
    Replace messaging service Replace messaging service association of an Event version
    Update the state of an Application, Event, Event API Update the state of an Application, Event, Event API, and Event API Product version
    Get the AsyncAPI specification Get the AsyncAPI specification for an Application and Event API version
    get Application Domain
    post Application Domain
    delete Application Domain
    patch Application Domain
    Get, Create, Delete, and Update custom attributes of provided Application Domain
    create Event API Product version
    delete Event API Product version
    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.

    Get APIs Environments
    • Get a list of Environments
    • Get an Environment by Id
    Rest Event Management Regions
    • Get a list of event management regions
    Rest
    Rest Post
    Rest Delete
    Rest Put
    Rest Patch
    Event Management Agent
    • Get a list of EMAs
    • Get an EMA object by Id
    • Create an EMA object
    • Update an EMA object
    • Delete an EMA object
    • Get the raw configs of an EMA object as a file
    Rest Event Mesh
    Post Event Mesh
    Delete Event Mesh
    Put Event Mesh
    Patch Event Mesh
    Event Mesh
    • Get a list of Event Meshes
    • Get an Event Mesh by Id
    • Create an Event Mesh
    • Update an Event Mesh
    • Delete an Event Mesh

    Post Messaging Service
    Delete Messaging Service
    Put Messaging Service
    Patch Messaging Service
    Messaging Service
    • Get a list of Messaging Services
    • Get a Messaging Service by Id
    • Create a Messaging Service
    • Update a Messaging Service
    • Delete a Messaging Service
    • Initiate scan request on a Messaging Service
    • Remove the association between a messaging service and a requested entity
    rest Messaging Service Scan
    delete Messaging Service Scan
    Messaging Service Scan
    • Get a list of Messaging Service Scans
    • Get a Messaging Service Scans by Id
    • Delete a Messaging Service Scans
    get Messaging Service Scan Log Messaging Service Scan Log
    • Get a list of Messaging Service Scan logs
    get Messaging Service Scan Data Messaging Service Scan Data
    • Get a list of Messaging Service Scan data
    • Get a Messaging Service Scan data by Id

    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

    Get a list of event broker services
    • Get a list of event broker services and service versions
    • Get the status of a service operation
    • Get a list of service classes
    • Get a specific service class by id
    • Get a list of data centers
    • Get a specific data center by id
    post Create an event broker service
    • Create an event broker service
    Delete an event broker service
    • Delete an event broker service
    Update an event broker service
    • Update an event broker service

    Client Profiles

    Get a list of client profiles
    • Get a list of client profiles
    • Get a specific client profile by name
    Create a client profile
    • Create a client profile
    • Delete a client profile
    Delete a client profile
    • Replace a client profile
    Update a client profile
    •  Update a client profile

    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.

    Get a list of environments
    • Get a list of environments
    • Get a specific environment by id
    Reset
    • Create an environment
    Rest
    • Delete an environment
    Update
    • Update an environment

    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.

    Get
    • Get usage summary between two points of time

    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.