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 Sample 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 one of the following actions:

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

  • On the navigation bar, select Designer.

Configuring User Access to Application Domains

The level of access you have to an application domain depends on the role you're assigned in PubSub+ Cloud and the permissions granted to that role. Roles can be assigned directly to users or, if your organization has SSO enabled, through user groups. For more information, see Managing Users, Groups, Roles, and Permissions.

Event Portal Users
PubSub+ Cloud users with the Event Portal User role have limited access and viewing capabilities. They can't open an application domain unless they are granted access by someone with Manager level access to the application domain. The following application domain access levels can be granted to users and user groups with the Event Portal User role:
Application Domain Viewer
Event Portal Users with Viewer access to an application domain can perform these functions:
  • View the objects (applications, events, schemas, enumerations, event APIs, and Event API Products) in the application domain
  • Download the AsyncAPI document for applications and event APIs in the application domain
Application Domain Editor
Event Portal Users with Editor access to an application domain perform the same functions as users with Viewer access. They can also create, update, and delete objects in the application domain.
Application Domain Manager
Event Portal Users with Manager access to an application domain can perform the same functions as users with Editor access. They can also perform these functions:
  • Change an object's version state
  • Modify the application domain information, including name, description, and topic domains
  • Add and delete custom attributes in the application domain
  • Give users with the Event Portal User role access to the application domain
Event Portal Managers
PubSub+ Cloud users with the Event Portal Manager role have full access to all Event Portal capabilities in Designer, Catalog, and Runtime Event Manager. They also have application domain Manager level access to all application domains.
Administrators
PubSub+ Cloud users with the Administrator role have full access to all PubSub+ Cloud capabilities. Administrators can assign users any role in PubSub+ Cloud. In Event Portal, Administrators have the same access as Event Portal Managers.

For more information about assigning user roles for PubSub+ Cloud, see Managing Users, Groups, Roles, and Permissions.

The following table explains the scope of each role and access level:

Role Administrator Event Portal Manager Event Portal User with Manager Access Event Portal User with Editor Access Event Portal User with Viewer Access
Scope of Operation PubSub+ Cloud Event Portal Application Domain

Assign Event Portal Manager and Event Portal User roles

Access No access No access No access No access

View Event Portal users and roles

Access Access Access Access Access

Assign application domain access to users with the Event Portal User role

Access Access Access No access No access

Designer screen access

Access Access

Access

Access

Access

Create and delete custom attributes

Access Access

Limited access1

No access No access

Export and import application domains

Access Access No access No access No access

Runtime Event Manager screen access

Access Access No access No access No access

Catalog screen access

Access Access

Limited access2

Limited access2

Limited access2

  1. Custom attributes for individual application domains only. Event Portal Users with Manager level access can't create and delete custom attributes that apply to all application domains.
  2. Information displayed is limited to shared events, shared schemas, and application domains with Manager or Editor level access.

Setting User Access for an Application Domain

If you have 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 give Event Portal Users access to an application domain, perform these steps:

  1. When creating or viewing an application domain, click More Actions and then select Set User Access.
  2. Click Add and, if your organization has user groups enabled, select either Add User Group or Add User.

    Screenshot showing the settings described in the surrounding steps.

  3. In the Name list, type or select the name of the user or user group you want to give access to. Only users and user groups with the Event Portal User role whom you have not already set an access level for appear in the list.
  4. Select the Access Level that you want to give to the user or user group.
  5. Repeat steps 2-4 to give access to another user or user group.
  6. To remove access from a user or user group with the Event Portal User role, click Remove in the row for the user or user group.
  7. 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, above 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 address 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, custom attributes, 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 Actions for the application domain and select Edit.
  3. Update the settings as necessary.
  4. Click Save.

Moving Objects Between Application Domains

You can move applications, events, schemas, and enumerations from one application domain to another if you have at least Editor access to both the source and destination application domains. Moving objects is useful to reorganize your resources or to make corrections if you import objects into the wrong application domain.

When you move objects that reference or are referenced by other objects in the same application domain, any affected objects that are not shared will be changed to shared to allow all references to be maintained across application domains.

If you move an object with a value set for a custom attribute, the value is maintained and the custom attribute is added to the destination application domain if it doesn't already exist. For more information, see Using Custom Attributes

To move objects to another application domain, perform these steps:

  1. On the Application Domains page, select the application domain that contains the objects you want to move.
  2. Select the Applications, Events, Schemas, or Enumerations tab.
  3. Select the check boxes next to the objects that you want to move.
  4. Click the Actions drop-down list and select Move Object-type.
  5. Select the Destination Application Domain.
  6. (Optional) In the message that appears when the move is complete, click Go to Application Domain to open the destination application domain.

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 the 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 Actions for 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 Actions .
  2. Select Import Application Domains.
  3. Select the JSON file to import.
  4. Click Open.

The import may take several minutes.