Outbound messaging system

The WebSphere Commerce messaging system allows you to manage all aspects of defining and sending messages generated within WebSphere Commerce. It allows you to control the manner in which administrators, customers, back-end and fulfillment center systems are notified of various events, such as customer orders or system errors.

To configure the outbound messaging system use the Administration Console. The messaging system can send messages using transports such as e-mail using SMTP and file using UTF-8 encoding. For e-mail the supported outbound protocol is SMTP, the message encoding depends on the preferred language of the user, and the store/site default language. Optionally, you can configure the messaging system to send messages to a back-end or fulfillment center system using WebSphere MQ.

The outbound messaging system provides a highly customizable messaging environment. These features include the following:

  • Composition services

    Some of the WebSphere Commerce messages use the message composition services. Through the use of JavaServer Page files, the composition services generate a message before it is sent through the transport. If the composition service is used for a message, it runs a JavaServer Page passing it information such as an order number or a store number. When the template is executed, the JavaServer Page may retrieve any additional information necessary for the message from the database using data beans. The output is generated and the formatted message is sent through the transport. You can modify the message templates just as you would any other JavaServer Page.

    Some of the features of the generated message you can modify:

    • The layout of the message.
    • The information about your store, the order, or the customer that is retrieved from the database and displayed on the page.
    • The text of the messages to the customer such as "Thank you for ordering with us".
    • The format of the output generated. For example, you might want to send a message in HTML format, plain-text format, or XML format.
  • Multiple message transmissions support

    Send a single message through more than one transport.

  • Multiple notification messages over the same transport

    Send a broadcast email to multiple recipients.

  • Support for three processing types:
    sendTransacted
    Use for messages sent upon successful completion of the current transaction.
    sendImmediate
    Use for messages sent when the event takes place in WebSphere Commerce. The message is sent whether the transaction commits or not.
    sendReceiveImmediate (Request-reply)
    Use for messages that require a response message from the back-end system.
Note: Ensure transport attributes, for example e-mail addresses, and file locations are valid. The Messaging System does not validate attributes; if attributes are incorrect the message is not sent.

How the outbound messaging system works

The overview diagram outlines the use of standard interfaces between the messaging system and outbound transports, WebSphere Commerce subsystems, and administrators. It also outlines the use of profiles to determine the transport to be used for a message and the settings for that transport.

The messaging system uses a plug-in model that implements the Java 2 Enterprise Edition Connector Architecture to provide a common interface between the system and the various transports. During administration of the system, Site Administrators can perform the following tasks:

  • Add, enable, and configure transports. The administrator creates the settings using the Administration Console. Communication between the messaging system and the transports take place through a singular administration interface.
  • Maintain profiles, assigning transports to individual message types and indicating the settings to be used for each one. The administrator does this using the Administration Console.

At run time, when a message is generated by a WebSphere Commerce messaging system, the following events occur:

  1. The appropriate profile is retrieved for the message type. If no store profile exists for that message with the corresponding active transport, the site profile is used. The profile is used to determine what transport method and settings are used.
  2. If the message uses the composition service, a JSP page is used to generate the message.
  3. The message is sent through the run time interface to the transport, which delivers the notification.

The use of a common interface with external transports allows the implementation details of the transport to be kept separate from the operation of the messaging system. This architecture makes it possible to plug in additional transports that adhere to the interface.

Outbound messaging system administration

The administrator configures the transports that can be used by the site, or stores within the site. If a transport is active at both the site-level and the store-level then the store-level assignment takes precedence. If a transport is not active at the store-level, then the message type to transport assignment for the site-level is used.