Application Domains

Application domains enable you to subdivide your event-driven architecture (EDA) into related, manageable pieces. You can create application domains that represent different lines of business, development teams, microservice applications, or any other logical categories that makes sense in your EDA, and then manage applications, events, schemas, and enumerations within the domains. For each application domain you can also specify one or more topic domains to define where the events in the application domain fit into your overall topic structure. You can also control who has access to view, manage, and edit each application domain.

When you open Designer, you see the list of application domains for your organization.

This section includes the following tasks:

You can also create custom attributes for application domains. For more information, see Using Custom Attributes

To help you get started, Solace provides sample application domains that you can download from GitHub and import into Designer. For more information, see Importing Application Domains.

Viewing the List of Application Domains

When you open Designer, you see the list of application domains for your organization.

To return to the list of application domains from any page in Designer, perform the following action:

  • Click Designer in the breadcrumb at the top of the page.

Configuring User Access to Application Domains

The level of access you have to an application domain depends on the user role you're assigned and the permissions granted to that role:

  • Administrators have full access to all application domains. They can add users with the Event Portal User role to application domains and grant them higher-level access to individual domains. Administrators can also assign or modify any roles in PubSub+ Cloud.
  • Event Portal Managers have full access to all application domains. They can add users with the Event Portal User role to application domains and grant them the appropriate level of access to individual domains.
  • Event Portal Users have limited access and viewing capabilities. By default, they can't access an application domain unless they are granted access by someone with an Administrator or Event Portal Manager role. The following access levels can be granted to users with the Event Portal User role for individual application domains:
    • Manager - Event Portal Users with Manager access to an application domain can perform the following functions:
      • Create, view, update, or delete application domain resources (applications, event APIs, events, schemas, and enumerations)
      • Change an object's version state
      • Modify the application domain information, including name, description, and topic domains
      • Assign or un-assign users with the Event Portal User role to the application domain and set their access level.
    • Editor - Event Portal Users with Editor access can create, view, update, and delete application domain resources.
    • Viewer- Event Portal Users with Viewer access can view the application domain resources, export the application domain, and download the AsyncAPI document for applications

For more information about assigning user roles, see Managing Users, Roles, and Permissions.

The following table explains the scope of each role.

Role Administrator Event Portal Manager Event Portal User
Scope of Operation PubSub+ Cloud Event Portal

Assign Event Portal user roles

Access No access No access

View Event Portal users and roles

Access Access Access

Assign application domains and access levels to users with the Event Portal User role

Access Access No access

Designer screen access

Access Access

Limited access1

Create and delete custom attributes

Access Access No access

Runtime Event Manager screen access

Access Access No access

Catalog screen access

Access Access

Limited access2

1. Limited access based on the assigned application domains and access levels.

2. Information is limited to shared events, shared schemas, and assigned application domains.

Setting User Access for an Application Domain

If you have at least Manager level access to an application domain, you can give users with the Event Portal User role access to the application domain. Users with Administrator or Event Portal Manager roles can't be assigned an access level for an application domain because they already have full access to all application domains.

To set user access for an application domain, perform these steps:

  1. When creating or viewing an application domain, click More Actionsthen select Set User Access.

    Screenshot showing the settings described in the surrounding steps.

  2. In the Application Domain User Access dialog, in the Users list type or select the name of the user you want to give access to.
  3. Select the Access Level that you want to give to the user and click Add.
  4. Click Save.

Creating an Application Domain

When you create an application domain you specify the properties of the application domain, including the topic domains and requirements for topic addresses for events that reside in the domain. For more information about topic domains and addresses, see Topic Addresses. You can also specify who has access to the application domain

To create an application domain, perform these steps:

  1. In Designer, in the list of application domains, click Create Application Domain.

    Screenshot showing the settings described in the surrounding steps.

  2. Enter a Name and Description for the application domain. The Description field supports Markdown. Click toggle preview to preview the rendered text.
  3. If you want each event in the application domain to have a unique topic address, select All topic addresses within this application domain must be unique.
  4. To specify a topic domain, click Add Topic Domain and perform these steps:
    1. Select the Broker Type for the topic domain.
    2. Enter the topic domain. Topic domains for Solace event brokers must meet the following conditions; For more information, see Topic Addresses.
      • Don't use the *, >, or ! characters in a topic address.
      • To use an enumeration variable, type an opening brace {, click Configure Variable, and select an enumeration and version. Enumerations are supported only in Solace topic domains.
  5. If you want every event topic addresses to start with one of the application domain's topic domains, select All topic addresses within this application domain must use a topic domain. This option is available only after you have specified at least one topic domain.
  6. (Optional) Add a value for any custom attributes that have been set up in your organization.
  7. (Optional) Click User Access to give Viewer, Editor, or Manager level access to users with the Event Portal User role. For more information, see Configuring User Access to Application Domains.
  8. Click Save.

Updating an Application Domain

After you create an application domain you can add Applications, Event API Products, Event APIs,Events, Schemas, and Enumerations to the application domain. You can also update the name, description, and topic domain settings.

If All topic addresses within this application domain must use a topic domain is selected and you change a topic domain, any events that use the topic domain do not update automatically. The next time you edit an event you'll have to update the topic address in the event before you can save it.

To update an application domain, perform these steps:

  1. On the Application Domains page, select the application domain that you want to update.
  2. Click More Actionsfor the application domain and select Edit.
  3. Update the settings as necessary.
  4. Click Save.

Exporting and Importing Application Domains

You can export application domains from your organization's account and import application domains into your account. Exported application domains includes all objects in the application domain. The exported file is in JSON format and can be a maximum of 10 MB. Custom attributes that apply to all application domains are not included in the export file.

You must have an Administrator or Event Portal Manager role to export or import application domains.

Exporting Application Domains

When you export an application domain, if any objects reference shared objects from other application domains, the application domains that contain the referenced objects are also included in the export file. You can select a single application domain or multiple application domains to export.

To export application domains, perform these steps:

  1. On the Application Domains page, select the application domains that you want to export.

    Screenshot showing the settings described in the surrounding steps.

  2. Perform one of the following actions:
    • In the Actions drop-down list at the top of the list of application domains, select Export.
    • If you selected only one application domain, click More Actionsfor the application domain and select Export Application Domain.
  3. (Optional) Edit the Export Filename.
  4. Review the details of the application domains to be included in the export.
  5. Click Export.

Importing Application Domains

When you import application domains, the application domains and all of the objects they contain are added to Event Portal. The import file must meet the following requirements:

  • Each application domain in the file must have a unique name. If an application domain with the same name already exists in your account, the import fails. You can rename an application domain in the JSON file and try the import again.
  • If the application domain includes Kafka topic domains or topic addresses that use a Kafka delimeter, the delimiter must match the delimiter specified in the account you are importing to.
  • The import file must be smaller than 10 MB.

You can download sample application domains from GitHub and import them into Designer. For more information, see Sample Application Domains

To import an application domain, perform these steps:

  1. On the Application Domains page, click More ActionsScreenshot showing the settings described in the surrounding steps..
  2. Select Import Application Domains.
  3. Select the JSON file to import.
  4. Click Open.

The import may take several minutes.