Additional Blog Posts by Members
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only
Former Member
2,259 Views
2 Comments

In this Weblog I am going to present on BPM and the standard predefined patterns which would be helpful in designing the integration process.

What is BPM?

  • Business Process Management is an implementation methodology for the management of business process that interacts with people and systems both within and across the organization
  • BPM is a tool to bridge the gap between development, design, configuration and monitoring process
  • BPM is used to implement work-flow spanning across multiple application system.

When to use BPM?

  • Control/Monitor the messages in XI
  • Collect/Merge the messages in XI
  • Split the messages in XI
  • Send an Alert
  • Synchronous - Asynchronous Communication

Important feature of BPM in XI

Business Process Management provides SAP Exchange Infrastructure with functions for stateful message processing.

The status of an integration process is persisted on the Integration Server. This means that you can specify how long an integration process must wait for further messages to arrive, for example.

Furthermore, this enables you to process messages within an integration process further still; for example, you can collect certain messages and then send them in a particular order.

Integration Processes

  • An integration process is an executable, cross-system process for processing messages. In an integration process you define all the process steps that are to be executed and the parameters relevant for controlling the process. (Process Steps + Controlling parameters)
  • You implement integration processes when you want to define, control, and monitor complex integration processes that extend across enterprise and application boundaries. The design and processing of integration processes is also known as cross-component Business Process Management (cross-component BPM, ccBPM).

SAP delivered BPM Patterns

SAP has delivered different BPM patterns which are helpful for developer to design integration process. These patterns or combination or part of these patterns will be helpful to achieve the business requirement. These patterns are available under software component SAP BASIS as described in the following screenshot:

                               

1) Pattern Name: BPMPatternCollectMessage

Business Case:

This Pattern is to collect the multiple messages from the Source system until another terminating message is received. Later the collected messages are merged into a single new message and sent to the target system.

Graphical definition of the scenario:

Process Overview:

  •  Receive as many as business messages in an infinite loop. Messages received will start the process and activates the correlation. Each Subsequent Message will use the correlation. All the messages with unique correlation are collected in a separate integration process at runtime.
  •  After receiving the messages, they are collected in a ‘CollectMessageList' (Multiline) by using the container with the operation as ‘Append'.
  •  In a parallel branch of Fork, a terminating message (Stop Message) is received with necessary branches as 1. This way when this message is received, it completes the second branch and hence completes the step ‘Fork'.

               Note: First branch containing the infinite loop will never be completed, but the branch containing the receive step to receive STOP message is fulfilled to complete the fork.

  •  Transformation step is used for transforming the messages collected into a single message (New Message) resembling the target structure.
  •  This message is sent to the target system.

2) Pattern Name: BpmPatternCollectMultiIf

Business Case:

This pattern is to receive three messages of different message types, which are bundled into a new message and sent to the target system.

Graphical definition of the scenario:

Process Overview:

  • Recieves three different interfaces from a source system into container elements (FirstMessage, SecondMessage and Third Message).
  • They are defined in the FORK step with necessary braches 3. The start process indicator has been set for each receive step. The first message receives will activate the correlation and the correlation will be used by each receive step. The FORK step will be completed once until the 3 0f 3 branches have run.
  • Transformation step is used for transforming the messages into a single message (New Message) resembling the target structure.
  • This message is sent to the target system.

3) Pattern Name: BpmPatternCollectMultiIfCondition

Business Case:

This pattern is to receive three messages from different interfaces, which are Collected based on a condition and bundles into a new message and sent to the target system.

Graphical definition of the scenario:

Process Overview:

  •  Recieves three different interfaces from a source system into container elements( FirstMessage ,SecondMessage and ThirdMessage).
  •  They are defined in the FORK step with necessary branches 3. The start process indicator has been set for each receive step. The first message received will activate the correlation and this correlation will be used by each receive step.
  •  The FORK step will be completed once all the 3 0f 3 branches have run or satisfies the condition. This is an additional function defined for this pattern when compared with other Pattern "BpmPatternCollectMultiIf". This is achieved by defining the End condition for the fork as shown in the screenshotbelow:

In this process the Fork step is complete when the End condition is satisfied. That is even if the third message is not received and End condition is satisfied, then fork step gets completed. Here the condition is defined as first message and second message are not empty and first messages' element (OverallNumber) is received as 42.

NOTE:  The fork step stops receiving messages when the defined condition is fulfilled.

  •  Transformation step is used for merge the received messages into a single message (New Message) resembling the target structure.
  •  This message is sent to the target system.

4) Pattern Name: BpmPatternCollectPayload

Business Case:

In this pattern each message that is received in the loop contains a unique number in the all the payloads, which corresponds to the total number of messages to be received. Once the number of messages in the Integration process received matches the number in the Payload, then it stops receiving the messages and proceeds for transforming the messages by merging it into a single message that is sent to target.

Graphical definition of the scenario:

Process Overview:

  •  A Counter variable (whose initial value is ‘0') is defined which is incremented in the container step as the messages are received in the integration process.
  •  A while loop is defined with the condition as, while counter is not equal to the unique number (n: ToBeCollected/OverallNumber) comes with one of the message element, continue the loop. Also it contains one receive step and two container steps.
  •  Initially when it receives the first message, it will be 0 ≠ n, continue the loop.
  •  In the loop, using the first container step, messages are collected by using the operation ‘Append' into ‘CollectMessageList' (Multiline). Using the second container step, the counter is incremented by 1.
  •  Messages received will start the process and activates the correlation. Each Subsequent Message will use the correlation.
  •  When counter reaches n which matches the unique number (n) comes with one of the message element, while loop ends and then proceeds for transformation as defined in this pattern.
  •  The transformed message (NewMessage) is sent to the target system.

The remaining patterns are presented in the PART 2 weblog .

BPM with Patterns explained Part-2

2 Comments