cancel
Showing results for 
Search instead for 
Did you mean: 

Use ccBPM mainly for correlation between different systems

Former Member
0 Kudos

In his presentation: "Design Patterns for SAP NetWeaver Exchange Infrastructure"

William Li ,from SAP NetWeaverRIG Americas, stats that following:

*Use ccBPM mainly for correlation processing between messages from different systems

Although this practice is well known Ito me , would like to know what stands behind this recommendation (Except for

eSOA BP). is it performance issue, other...

your insights will be most wellcome.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

As compared to normal scenarios BPM scenarios always give very less performance.

But some of the thing doing in PI without BPM is not possible like Message Merging based on number of messages or for specific time interval..... at this cases we should use BPM.

For frequently used scenarios sap already provided few bpm designs those are called patterns.

Regards,

Venkata Ramesh

Former Member
0 Kudos

the thing that intrigues me the most is the reference to different systems .

if lets say I have to construct a mesage from 20 other messages taken from the same applicative system....

will that be a "good practice" or an architectural design flop?

In my pov, as SAP PI is categorized as a Message Bus and as it integrates on a daily bases with

Application layers there is no need to "construct a message " unless it has some business logic in it.

for example : PI need to collect 3 types of messages send from 3 different business systems with the same correlation ID and only after they have arrived it sends out a single message to the target...rather then calling the same business system 20 or 30 times to data services and construct a single message ...

what do you think?

rajasekhar_reddy14
Active Contributor
0 Kudos

Hi Nimrod,

ccBPM offers achieving some difficult requirements easily , that means some cases using standard way of integration not possible .it is true that ccBPM scenarios uses one more layer(BPE engine) but it doesn't mean that it is going to give worst performance.

i had done couple of implementations where we used extensively ccBPM to achive complex integration logics, i never felt ccBPM performance point of view any problems, all interfaces working perfectly in production.my view is it is really awesome.

we have to design any interfaces by following best architectural standards in case of ccBPM also same,there is so much negative publicity about ccBPM, but is it not all true.

the thing that intrigues me the most is the reference to different systems .

> if lets say I have to construct a mesage from 20 other messages taken from the same applicative system....

> will that be a "good practice" or an architectural design flop?

>

it is a good practise to use ccBPM in this case and it is offering correlation mechanism to maintain the reaction between messages so that you can easily differentiate and suppress the unwanted messages.

Regards,

Raj

Answers (2)

Answers (2)

baskar_gopalakrishnan2
Active Contributor
0 Kudos

>Although this practice is well known Ito me , would like to know what stands behind this recommendation (Except for

eSOA BP). is it performance issue, other...

We might need to use ccbpm in cases where we dont have feasibility to handle without it. This scenario is perfect for doing this. Ofcourse you might have to avoid running the process instance for infinite time, avoiding application or business logic inside the process steps and so in the process instance. Also use local correlation within defined block transaction boundary rather than designing correlation for the entire process instance. If you could design bpm scenario with above ways,you can still don't lose performance using ccbpm.

Former Member
0 Kudos

Hi,

Since using BPM the consumption of resources is very high. Hence the recommendation states that it should be used when really required like collecting and spliting

Find the following extract from checklist of using BPM

Every step of an integration process uses Integration Server resources.
· Every message that is sent to the Process Engine is duplicated.
· Every message that is sent from the Process Engine is duplicated.
· A work item is created for the process itself and for every step the process contains.
This means that for a process that just receives one message that is sent 
without being processed further, four messages and three work items are created.
For this reason, you must ensure that you take Integration 
Server resources into account when you define integration processes.

regards

Ramesh