Messaging configuration

Holodeck B2B implements the P-Mode concept from the ebMS specification for the configuration of message exchanges.
The P-Mode specifies how messages should be processed by Holodeck B2B. This applies to both sending and receiving messages. This page explains how P-Modes are used in Holodeck B2B to configure message exchanges.
Although this page describes the configuration of an ebMS message exchange the concept applies to other protocols as well but some parameters may not be used.

Message sending

When sending messages the P-Mode instructs Holodeck B2B how to construct the ebMS user message and execute the exchange. Some information that is needed to send a message is only available on a per message base so Holodeck B2B will combine the P-Mode configuration with the data that is passed from the connected application when the message is submitted. The figure shows this merging of configuration data to form the actual message.

Message configuration is determined by combination of P-Mode and meta-data provided with message.

How much information is pre-configured in the P-Mode depends on the message exchange. The only settings in the P-Mode required by Holodeck B2B are:
– P-Mode id
– message exchange pattern binding used
– transport protocol configuration
– the security settings to use.
All other information needed for sending a message may be provided by the connected application when it submits the message for sending.
This can be be useful if for example you want to exchange a lot of messages with a business partner for different services and actions. In the P-Mode you can configure all information about the trading partners. On message submission you provide the actual service and action values.

On the other hand some information can not be specified in the P-Mode because it is message specific. This includes:
– The message-id
– The conversation-id
– Payload meta-data including payload properties.
With exception of the message-id these information items have to be provided when the user message is submitted. The message-id may be specified on submission but will be generated by Holodeck B2B if it is not. When the id is provided on submission it must be in the format specified by RFC2822, i.e. like an email address.

Message receiving

For received messages the P-Mode instructs Holodeck B2B how to respond and how to deliver the business data to the business application. In this case Holodeck B2B has to detect the correct P-Mode based on the data contained in the ebMS message header. Because the P-Mode id is optional for user messages and not included in signal messages Holodeck B2B has to use a matching algorithm to determine the P-Mode.

As Error and Receipt signal messages normally refer to a message unit that was sent earlier by Holodeck B2B, the P-Mode of the referenced message unit will be used for processing the signal. If the P-Mode can not be determined, i.e. the signal can not be related to an earlier message, the signal will be ignored by default.

The matching algorithm to determine the P-Mode for a received user message uses the meta data contained in the eb:UserMessage element and its descendants. Because the P-Mode id is the strongest identifier it will be checked first and when a P-Mode with that id is found that will be used for processing the message.