Uniqueness in B2Bi

In order to process message flows in a coherent and predictable manner, B2Bi enforces the uniqueness of processing configurations at two levels:

  • Unique object names
  • Unique exchange context

Unique object names

In order to configure B2Bi, you create objects and assign values to attributes of these objects.

As a general rule, each object that you create in the B2Bi interface must have a unique name.

Object creation: If you try to create an object with a name that already exists, B2Bi displays a message informing you of the naming conflict and instructing you to enter a unique name.

Object importing: If you import an object or set of objects with a name that is already used in a configuration, the importer executes one of the following actions to insure uniqueness:

  • ignore - ignores the imported object and conserves the existing object
  • replace - replaces the existing object with the imported version of the object
  • update - modifies the existing object by adding, deleting or revaluing attributes from the imported object

Upgrades: If you upgrade from a previous version, the upgrade logic never deletes previous data. When the upgrade logic detects or must generate a potentially duplicated object, it automatically renames the duplicates with unique names. In some cases it may also have to disable the renamed object to conserve the functional uniqueness of the configuration.

Unique exchange context (agreements)

In addition to unique object naming, the configuration of a message processing flow in B2Bi requires a unique context. That is, a flow must be defined as the exchange of a specific document format (standard/version/message type), between a specified set of endpoint participants, and in a specific direction (from one set of participants to another). The context of a message exchange is uniquely specified in an agreement object.

There can be no ambiguity in the handling of a message flow. When B2Bi consumes a specific document format from a specific sender, it must execute a unique set of processing. When B2Bi envelops and addresses a message to send to a partner, it must correctly conform to the receiving partner's handling criteria.

Inbound agreement uniqueness

Only one inbound agreement (or matching child document agreement) can be enabled at a time for the same context.

Inbound agreement uniqueness is determined by:

  • The message format (X12, EDIFACT, ...)
  • Sender messaging ID
  • Receiver messaging ID
  • For X12 and EDIFACT formats, grouping agreement selection
  • For VDA formats, the customer/supplier orientation is also applied to the agreement sender and receiver IDs
  • Unique document agreement (and embedded service) to apply for transformation and processing

When B2Bi consumes a message, it selects an agreement to use from a list of applicable and enabled agreements. B2Bi makes this selection by using the following priority:

  1. Explicit – A specified messaging ID that matches that of the sending or receiving participant (partner or community)
  2. Implicit – Matching any of the enabled messaging IDs of a sending or receiving partner or community
  3. Semi-anonymous – Matching any defined messaging ID for any sending or any receiving partner or community
  4. Full anonymous – Matching any defined messaging ID for any sending and any receiving partner or community

Only one inbound agreement at each of these priority levels can be enabled at the same time, so there is only one enabled inbound document agreement context for B2Bi to select and apply.

In cases where there is more than one matching agreement at a level, during message processing B2Bi selects the most explicit matching agreement and logs a warning indicating the names of other similar agreements that exist.

Outbound agreement uniqueness

Only one outbound agreement can be enabled at a time for the same context.

Outbound agreement uniqueness is determined by:

  • The message format (X12, EDIFACT, ...)
  • Sender messaging ID
  • Receiver messaging ID
  • For X12 and EDIFACT formats, grouping agreement selection
  • For VDA formats, the customer/supplier orientation is also applied to the agreement sender and receiver IDs
  • Enveloping context (which is specified on the outbound agreement/enveloping tab)

There must be only one unique pattern of values to select from for the sender/receiver/enveloping context.

Outbound agreement selection can be either manual (defined by the user to apply to one or more inbound processing contexts) or automatic (selected when the user chooses the "Use Best Outbound Agreement" mode). Note that in both cases the selected or resolved outbound agreement is in the output format of the processed message.

In cases where B2Bi automatically selects the best outbound agreement to be used for enveloping (similar to the inbound agreements selection), it makes the selection from a list of applicable and enabled outbound agreements, by level of priority:

  1. Explicit – B2Bi matches the specified “default” (or other) messaging ID with that of a sending and receiving partner or community
  2. Implicit – B2Bi matches the current “default” messaging ID of a sending or receiving partner or community
  3. Semi-anonymous – B2Bi resolves to the current default messaging ID for any sending or any receiving partner or community
  4. Full anonymous– B2Bi resolves to the current default messaging IDs for any sending and any receiving partner or community

Only one unique outbound agreement at each of these priority levels can be enabled at the same time, so there is only one enabled outbound context to be selected.

In cases where there is more than one matching agreement at a level, B2Bi displays a warning and indicates the names of other similar agreements that exist.

When an exchange is configure in "Use Best Outbound Agreement" mode, B2Bi logs a warning indicating the other similar agreements that could have been selected.

Agreement handling for imports and system upgrades

The B2Bi import or upgrade logic disables all but one agreement if more than one agreement specifies the same exchange context.

On upgrades, B2Bi analyzes duplicate inbound contexts and keeps one context active while duplicating others. Any document agreements (generated from B2Bi 1.5 document profiles) that are found on the duplicate and disabled inbound agreement contexts are moved to the enabled inbound agreement, so that processing is preserved in the active agreement.

Related topics

Related Links