Configure notification servers

Notification servers send notifications to users, stakeholders, or applications when a job completes or when operations are performed within workflows.

There are several types of notifications:

  • Job notifications are issued under certain conditions when an integration job completes. These notifications are used for administration, monitoring, or integration automation. These notifications are configured with notification policies in the data locations.

  • Legacy workflow notifications are emails sent to users when operations are performed in a legacy workflow. They are configured in workflow transitions and tasks.

  • Data-driven workflow notifications refer either to assignment notifications that can be delivered to participants of a data-driven workflow, or to emails that can be sent to various types of users, stakeholders, or third-party recipients at any point of a workflow, by adding and configuring a Send Email automation step to the workflow definition.

All families of notifications are issued via notification servers.

Notification server types

Notification recipients may be users, stakeholders, third-party recipients (in the case of data-driven workflows), or systems. The type of notification sent, as well as the recipient, depends on the type of notification server configured.

Each notification server uses a notification plugin that:

  • Defines the configuration parameters for the notification server.

  • Defines the configuration and form of the notification.

  • Sends notifications via notification servers.

Semarchy xDM is provided with several built-in notification plugins:

  • JavaMail: the notification is sent in the form of an email via a mail session server configured in the application server, and referenced in the notification server. For more information about configuring a mail session, see Deploy Semarchy xDM.

  • SMTP: the notification is sent in the form of an email via an SMTP server entirely configured in the notification server.

  • File: the notification is issued as text in a file stored in a local directory or an FTP/SFTP file server.

  • HTTP: the notification is issued as a GET or POST request sent to a remote HTTP server. Use this server type to call a web service with the notification information.

  • JMS: the notification is issued as a JMS message in a message queue.

A single notification server having either the JavaMail or SMTP type can be used to send email notifications to users, for example from workflows. This server is flagged as the default notification server.

Any servers can be used to send job notifications. Each job notification policy specifies the notification server it uses.

Create a notification server

To create a notification server:

  1. In the Configuration module, select Notification Servers in the navigation drawer.
    The Notification Servers editor opens.

  2. Select the Notification Servers list, right-click, and select AbstractNotificationServer New Notification Server.
    The Create New Notification Server wizard opens.

  3. Enter the following workflow parameters:

    • Name: the internal name of the notification server.

    • Label: the user-friendly label for the server.

    • Name: the internal name of the notification server.

    • Label: the user-friendly label for the server.

    • Plugin ID: select one of the available notification server plugin.

    • Default Notification Server: select to use this notification server by default for email notifications. This option can be selected only if the plugin ID is JavaMail or SMTP.

    • Default Notification Server: select to use this notification server by default for email notifications. This option can be selected only if the plugin ID is JavaMail or SMTP.

  4. Click Next.

  5. In the second wizard page, enter the configuration information for your type of server:

    • JavaMail:

      • JNDI URL: the JNDI URL of the JavaMail session service available in the application server. This URL is typically java:comp/env/mail/Session if the Mail Session service is declared as mail/Session in the application server.

      • From User: the email address of the sender of the notifications from this server.

        This address is also used as the reply-to address for notification emails.

      • (Optional) Password: the password for this server, if required.

        The authentication configured in the JavaMail resource has precedence over this password.

      • JNDI URL: the JNDI URL of the JavaMail session service available in the application server. This URL is typically java:comp/env/mail/Session if the Mail Session service is declared as mail/Session in the application server.

      • From User: the email address of the sender of the notifications from this server.

        This address is also used as the reply-to address for notification emails.

      • (Optional) Password: the password for this server, if required.

        The authentication configured in the JavaMail resource has precedence over this password.

    • SMTP:

      • SMTP Host Name: the name of the SMTP server to connect to.

      • SMTP Port: the port of the SMTP server to connect to.

      • From User: the sender email address used to send notifications from this server.

      • Reply To: the email address to which replies to the notification emails should be sent.

      • Authentication Required: the authentication method used to connect to the SMTP server. Available options are:

        • None: no authentication is required.

        • Basic: basic authentication is required. Provide the appropriate credentials for this server in the User Name and Password fields, and indicate whether the server uses TLS or SSL.

        • OAuth: open authorization is required. Provide the following details:

          • Client ID: the client ID of the OAuth application registered with the SMTP server.

          • Client Secret: the client secret of the registered OAuth application.

          • Token URL: the URL used to retrieve the OAuth authentication token.

          • Scopes: a comma-separated list of scopes required by the SMTP server (for example, https://mail.google.com/ for Gmail).

      • (Optional) Use TLS: select this checkbox if your SMTP server requires TLS.

      • (Optional) Use SSL: select this checkbox if your SMTP server requires SSL.

      • (Optional) Additional SMTP Properties: additional properties as property=value pairs.
        For a complete list of properties supported for SMTP configuration in Java applications, see the com.sun.mail.smtp package documentation.

        When using the SMTP protocol over SSL, all properties should be prefixed with mail.smtps.*.

When using the SMTP protocol over SSL, all properties should be prefixed with mail.smtps.*.

  • File:

    • File System: the file system of the file server. FILE for a local server, FTP or SFTP for a remote server.

    • Host, Port, Login, and Password: the connection details to connect an FTP or SFTP server.

    • Root Path: the root path for storing the notification file (for example, c:\work\notifications for Windows or /work/notifications for UNIX/Linux).

    • File System: the file system of the file server. FILE for a local server, FTP or SFTP for a remote server.

    • Host, Port, Login, and Password: the connection details to connect an FTP or SFTP server.

    • Root Path: the root path for storing the notification file (for example, c:\work\notifications for Windows or /work/notifications for UNIX/Linux).

  • HTTP:

    • Scheme: whether the HTTP request should be done using HTTP or HTTPS.

    • Host, Port, and optionally Login, and Password: the connection details to connect the HTTP server.

    • Base Path: root path appended added after the host and port in the URL (for example, / or /rest/api/).

    • Use System Properties: select to use the system-defined properties to configure the HTTP connection. This option allows the use of a proxy configuration defined in the Java parameters for the application server.

    • Proxy Host, Proxy Port, Proxy Login, and Proxy Password: the connection details used to configure the connection through an HTTP proxy and possibly override the proxy configured via the system properties.

    • Headers: additional HTTP headers as property=value pairs.

    • Scheme: whether the HTTP request should be done using HTTP or HTTPS.

    • Host, Port, and optionally Login, and Password: the connection details to connect the HTTP server.

    • Base Path: root path appended added after the host and port in the URL (for example, / or /rest/api/).

    • Use System Properties: select to use the system-defined properties to configure the HTTP connection. This option allows the use of a proxy configuration defined in the Java parameters for the application server.

    • Proxy Host, Proxy Port, Proxy Login, and Proxy Password: the connection details used to configure the connection through an HTTP proxy and possibly override the proxy configured via the system properties.

    • Headers: additional HTTP headers as property=value pairs.

  • JMS:

    • Connection Factory URL: the JNDI URL of the factory used to create a connection to the JMS destination. The URL is typically java:comp/env/jms/ConnectionFactory if the connection factory is declared as jms/ConnectionFactory in the application server.

    • Login and Password: the credentials used when initiating the JMS connection.

    • Connection Factory URL: the JNDI URL of the factory used to create a connection to the JMS destination. The URL is typically java:comp/env/jms/ConnectionFactory if the connection factory is declared as jms/ConnectionFactory in the application server.

    • Login and Password: the credentials used when initiating the JMS connection.

      1. Press Control+S (Command+S on macOS) to save the configuration.

Test a notification server

After configuring the notification server, it is recommended to run a test email on this server.

To test a notification server:

  1. In the Notification Servers editor, select the notification server you want to test, right-click, and select Test Configuration.

  2. The next steps depend on the type of notification servers:

    • File, HTTP, JMS: no further operation is needed.
      A connection attempt is made on the notification server.

    • JavaMail and SMTP: provide a comma-separated list of email addresses and click OK.
      An email is sent via the notification server to these recipients.