Develop > Controller layer > Integrate with back-end systems and external applications > Outbound services
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 may want to modify include:
- The layout of the message.
- The information about the 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 may want to send a message in HTML format, plain-text format, or XML format.
- Multiple message transmissions support
Allows you to send a single message through more than one transport.
- Multiple notification messages over the same transport
This is useful for sending broadcast emails to multiple recipients.
- Support for three processing types:
- sendTransacted
- Use for messages that should be sent upon successful completion of the current transaction.
- sendImmediate
- Use for messages that should be 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.
Ensure transport attributes, for example e-mail addresses, and file locations are valid. The Messaging System does not validate attributes; incorrect attributes will result in failure to send the message.
How the outbound messaging system works
The messaging system uses a plug-in model that implements the Java 2 Enterprise Edition Connector Architecture (J2EE/CA) 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:
- 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.
- If the message uses the composition service, a JSP page is used to generate the message.
- 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 J2EE/CA interface.
Outbound messaging system administration
The administrator configures the transports that can be used by the site, or stores within the site. If a particular transport is active at both the site-level and the store-level then the message type to transport assignment at the store-level will take precedence. If a transport is not active at the store-level, then the message type to transport assignment for the site-level will be used.
Related tasks
Related reference
Configuration of transport services used for a message
Troubleshoot: Outbound messaging