Designer

Designer enables you to design and view all of the objects in your event-driven architecture (EDA). You can use Designer to create events, associate payload schemas to the events, specify the events that applications publish and subscribe to, and create event APIs and Event API Products to share events.

If you're just getting started designing an EDA, you should also have a look at the Getting Started tutorial, Designing Your Event-Driven Architecture.

This section includes the following tasks:

Opening Designer

If you have at least the Event Portal User role, you can view the list of application domains on the Designer homepage, and open all of the application domains that you have at least Viewer level access to. For more information, see Configuring User Access to Application Domains.

To open Designer, perform these steps:

  1. Log in to the PubSub+ Cloud Console if you have not done so yet. The URL to access the Cloud Console differs based on your authentication scheme. For more information, see Logging into the PubSub+ Cloud Console.
  2. On the navigation bar, select Designer .

When you open Designer, you see a list of Application Domains. You work within application domains to create and manage the following objects:

Switching Views

When you open an application domain in Designer, all of the applications and events in the application domain display in a graph view that shows the relationships between them. You can also switch to the component view to see lists of objects of all types in the application domain.

You can create applications and events in both views. You must be in the component view to create objects of other types.

To switch between graph and component view, perform these steps:

  1. In Designer, click the name of the application domain to open it and display the graph view.
  2. To switch to the list view, click the tab.
  3. To switch back to the graph view, click the tab.

Using the Graph View

The graph view displays the latest non-retired version of all applications and events in the application domain and shows the subscribe and publish relationships between them.

You can drag objects around the graph. If you drag an object to a new location on the screen, the view changes for all users who have access to the application domain.

You can add applications and events to the application domain in graph view. For more information, see Creating an Application and Creating an Event

You can use the following tools in graph view:

Tool Description

Displays a list of the objects shown in graph view that contain text matching the search term entered into the Search box.

You can click the row for the object to highlight it in the graph and center the object or click the name of the object to display the object version details.

Refreshes the graph with any updates to objects and layout changes made by other users, without recalculating the layout.

Settings menu with these options:

Show Object Full Names
Displays the full names of objects in the graph rather than truncating long names.
Show New Event Version Indicator
Displays an indicator dot on applications that have a publish or subscribe relationship not shown on the graph because the relationship is with an event version other latest non-retired version.
Recalculate Graph Layout
Recalculates the distribution of the objects in the graph view into a layout where applications and events are displayed clearly.
Opens the legend to display information that helps you use the graph

Centers the graph on the page and, if necessary, zooms down to display all objects or zooms up to full size.

If you want a specific object to display in the center of the page, right-click on the object and select Center on Graph.

Zooms in and out.

The graph view uses the following icons to represent objects in your modeled event mesh:

Icon Description

Application domain

If any applications or events in the current application domain have a relationship with an event or application in a different application domain, the other application domain displays in the graph with a link to the event.

You can click the icon to display more information about the application domain and the applications that reference the event.

Application domain (no access)

Designer displays a lock to Event Portal Users who do not have access to open an application domain that contains related objects. For more information about access levels, see Configuring User Access to Application Domains.

Application in released or deprecated state in the current application domain

Applications from other application domains do not display in the graph.

Application in draft state in the current application domain

Application that has a publish or subscribe relationship not shown on the graph because the relationship is with an event version other latest non-retired version

To display the indication on application icons, you must enable Show New Event Version Indicatorin the graph Settings menu.

Event in released or deprecated state in the current application domain

Event in draft state in the current application domain

Shared event in released or deprecated state from another application domain

Shared event in draft state from another application domain

Event path

Event paths connect application and and associated events. The arrow indicates the direction of the association. If the arrow points away from an application, the application publishes the event. If the arrow points toward an application, the application subscribes to or consumes the event.

Links to other application domains can be in both directions.

Creating and Updating Objects in Graph View

If you have at least Editor level access to the application domain, you can create applications and events in graph view and update applications and events. You can perform the following actions on objects in graph view:

  • To create a new application, click Add Objects and drag a new Solace or Kafka application onto the graph. For more information see Creating an Application.

  • To create a new event, click Add Objects and drag a new Solace or Kafka event onto the graph. For more information see Creating an Event.

  • To view details about the object version, click the object. Version details and custom attribute details display in side panels. Click to update the visible attributes or click Open Application or Open Event to open the object page.

  • To change the lifecycle state of the most recent non-retired object version, right-click the object and select Change State. For more information about version states, see Object Versions and Lifecycle States. You must have Manager level access to the application domain to change version states.

  • To delete the latest version of the object, right-click the object and select Delete Version. If the object has at least one other non-retired version, the latest non-retired version remaining displays in the graph after the deletion. You can't delete objects shared from other application domains.

  • To publish an event from an application, hover over the application and drag the arrow that appears to an event of the same type (Solace or Kafka). The application must be in draft state.

  • To subscribe to an event from an application, hover over the event and drag the arrow that appears to an application of the same type (Solace or Kafka). The application must be in draft state.

Associating Shared Events in Graph View

Applications can publish and subscribe to events from other application domains provided that the event is allowed to be shared. When you add a shared event to the graph view and associate it with an application, you associate the latest non-retired version. To associate a different version of the event to an application, you must add the association using the component view.

When you add a shared event to the graph, it is not added to the current application domain. If you don't associate the shared event with an application, it disappears when you leave the graph.

To add a shared event to the graph view and associate it with an application, perform these steps:

  1. On the Application Domains page, click the application domain that contains the application that you want to associate with shared events.
  2. In the graph view, click Add Objects.
  3. Drag a Solace or Kafka Shared Event onto the graph.
  4. Select the event that you want to add. You can filter the list by application domain and type text in the search field to display only the events that contain matching content.
  5. Click Add.
  6. To specify that an application publishes the shared event, hover over the application and drag the arrow that appears to the event.

    Screenshot showing the action described in the previous step.

  7. To specify that an application version subscribes to the shared event, hover over the event and drag the arrow that appears to an application.

    Screenshot showing the action described in the previous step.

Using Custom Attributes

You can add custom attributes to application domains and object types in Designer to include additional data that's useful for your EDA.

Event Portal Users with Manager access to an application domains can create custom attributes that apply to the application domain and to objects within the application domain. Users with the Event Portal Manager or Administrator roles can also create and delete custom attributes that apply to all application domains or every instance of an object within all application domains.

When you add a custom attribute to an application domain or object type, a field for the attribute is added to every new and existing instance of the object in the current application domain or in all application domains. Users can set a value in the custom attribute field when they create or edit an application domain or object, just as they would enter a value for any other setting.

Custom attributes can be simple or complex. Simple custom attributes can be up to 250 characters, including alphanumeric characters, period [.], hyphen [-], en dash [–], underscore [_], at [@], slash [/], and parentheses [( )]. You can use simple custom attributes as filters in Catalog. Complex custom attributes allow values up to 10,000 characters, including special characters, but can't be used as filters or search terms in Catalog.

Custom attributes in two different application domains can have the same name if they are both simple or both complex. However, a custom attribute that applies to all application domains can't have the same name as a custom attribute that applies only to one or more specific application domains. If you move an object that has a custom attribute set to another application domain where the custom attribute doesn’t already exist, it is automatically added.

After you create a custom attribute, you can't rename it, but you can delete it. Deleting a custom attribute scoped to all application domains removes the attribute and value from all objects and application domains that it was added to. Deleting a custom attribute that is scoped to the current application deletes it only from that application domain and the objects it contains. The custom attribute is not deleted from other application domains that have a custom attribute with the same name.

When you add a custom attribute to an object type, you can add it to the object itself, or to object versions. If you add a versioned object attribute, users can set different values in different versions of the object. If you add the custom attribute to the object itself, the same value applies to all versions.

To create a custom attribute for an application domain, perform these steps:

  1. On the Application Domains page, click More Actions for the application domain and select Edit.
  2. Click More Actions and select Manage Custom Attributes
  3. Click Add.

    Screenshot showing the settings described in the surrounding steps.

  4. Enter a name for the custom attribute.
  5. Select whether the custom attribute Type is Simple or Complex.
  6. Select whether the custom attribute applies to All application domains or only the Current application domain.
  7. Repeat steps 3 to 6 for each custom attribute that you want to add.
  8. Click Save.

To create a custom attribute for an object, perform these steps:

  1. In any application domain, open an existing object of the type that you want to set custom attributes for.
  2. Click More Actions for the object, then select Manage Custom Attributes.
  3. Perform one of the following actions:
    1. If you want the custom attribute value to be the same for all versions on an object, click Add next to <Object-type> Attributes.
    2. If you want users to be able to set a different value in different versions of the object, click Add next to Versioned <Object-type> Attributes.

      Screenshot showing the settings described in the surrounding steps.

  4. Enter a name for the custom attribute.
  5. Select whether the custom attribute Type is Simple or Complex.
  6. Select whether the custom attribute applies to objects of the same type in All application domains or only the Current application domain.
  7. Repeat steps 3 to 6 for each custom attribute you want to add.
  8. Click Save.

After you save the custom attributes you can save any changes to the object or you can close the object and discard any changes. A field for the custom attribute displays when a user creates or edits an application domain or an object.

Setting the Kafka Delimiter

Kafka brokers don't recognize level delimiters in topics. If you want to include Kafka events in your EDA, you can specify a delimiter that Event Portal recognizes in Kafka topics. All Kafka topic domains and topic addresses in your organization's account must use the same delimiter.

If the Kafka delimiter is not set, when a user tries to add a Kafka topic domain or topic address, they are notified that a Kafka delimiter must first be set for your organization's account before they can set the topic domain or address. If the user has a role with sufficient access, the notification includes a link to set the delimiter. The Kafka delimiter can't be changed if it is currently in use for a Kafka topic domain or Kafka topic address.

To set the Kafka delimiter for your organization, perform these steps:

  1. On the Application Domains page, click More Actions .
  2. Select Kafka Settings.

    Screenshot showing the settings described in the surrounding steps.

  3. In the Kakfa Delimeter List, select Dot ., Underscore _, or Dash -.
  4. Click Save.