Performance of ccBPM

Hi,
I am currently working in a maintenance project and I have to improve the performance of XI interfaces.
I need some clarity on the below.
There are many ccBPM's used to collect messages for say 30 mins and perform a mapping and then write a single file onto a FTP server.
Is it a good idea to remove such ccBPM's and write all the messages on the FTP server as individual files (I could use an external script to append all these individual files later). As I understand that in large landscapes if the files created are more then it will add up to performance bottlenecks because of concurrent file connectivity issues.
Could any of you provide a tangible comparision between these two approaches.
Also can you let me know how can i check the performance of a ccBPM (memory usage, processor usage etc).
And any other interface level improvement suggestions are welcome

Hi Varun,
When you are facing the perfromance issues hav you identified the all reasons??its is true that BPM will take more resources to execute the scenario.May be some other reasons also create performance issues.
coming to your requirement,it is really good idea to remove BPM,you can place files individually and using script append it,but it depends on hopw efficiently your script program will work.
BPM patterns will take more resources compare to othe BPM Scenarios.
Check your Integration Engine ,Adapter engine,Bussiness Process engines Processing Time,check in rwb perfromce monitoring section.then you will get some fair idea.
and search in sdn ,you will find many docs on how to improve performace.
Regards,
Raj

Similar Messages

  • What are the major differecese between PI7.0 and PI7.1

    It's said that there are 3 major differences between PI7.0 and PI7.1.
    Could you give them here because I cannot find them.
    Thanks!

    Hey,
    Some more info,
    Process Automation Enterprise Services Repository as a central storage location for  enterprise service definitions and lifecycle management data for all enterprise services
    Enhanced Design Capabilities
    Service Enabling & Services Registry u2013UDDI V3.0 Additional compliant services registry for  runtime management of enterprise services
    Web Service Standards,Web Service Reliable Messaging, Web Service Policy & Security
    High Volume Support & Local processing in Adapter Engine ,Message packaging
    Improved performance for ccBPM /BPM
    using the Advanced Adapter Engine (AAE) in SAP NetWeaver PI 7.1, much higher numbers of  messages can be reached.Even better results can be achieved for asynchronous scenarios
    PI 7.10 are the services based on service interfaces. These services can be configured with  the help of the SOA Manager
    Cheers
    Agasthuri

  • CcBPM, Async Messages and database update performance

    We have several business processes defined and running in XI 3.0. Some are being invoked as web services.
    Our performance/scalability is extremely poor. We believe the problem is the database, which apparently is being updated at a phenomenal rate. The database disk I/O is exceptionally high, and has been tracked to writing to the database container/table files and tranaction logs. The database has been carefully tuned, and we are rushing to migrate the db to a higher capacity machine.
    It would seem, based on documentation, that the database updates are a result of the asynch message interfaces we are using through the business processes. 
    The first question is are we correct in the above statement?
    The second question is are the db updates being done under a transactional scope, if so what is the isolation level of the update, and can we change the isolation level?
    Third question, if the updates are due to the asynch message interfaces, can we use synch message interfaces and reduce the database work? If so, how?
    Finally,

    I don't think you'll find a documented general number of application variables you can have on a single server. But I think you could get away with 400 variables without any trouble.
    Where you might run into trouble, though, is when you have multiple concurrent requests trying to read and change these values. You'll have to ensure that you single-thread write access to these variables using CFLOCK.
    Dave Watts, CTO, Fig Leaf Software
    http://www.figleaf.com/
    http://training.figleaf.com/
    Fig Leaf Software is a Veteran-Owned Small Business (VOSB) on
    GSA Schedule, and provides the highest caliber vendor-authorized
    instruction at our training centers, online, or onsite.

  • Problem Performing 1:N multi-mapping in ccBPM

    Hi,
    I am trying to work out this simple scenario with the help of BPM.
         1. The BPM is receiving a Collection of Purchase Orders(say PO_Collection consisting of N PO).
         2. The Message is split by Transformation state(1:N) to N POs.(PO is Multiline)
         3. I am using a Block mode ForEach. Inside the block I am Checking Vendor Number and Material Code For validity.
    My problem is that the process is not entering the Block(I find it from the Workflow Graphic). But the Status is shown as Completed.
    I am not using any End Condition or Correlation for the Block.
    Please suggest what the problem can be and how to sort it.
    Regards,
    Dennis

    Hi denish ,
    In sxmb_moni , select u r message , use outbound cannel from menu . , In toolbat button u will find some button for technical details. select that. This will give u option to see steps and container ( BPM variables) and its runtime contents.
    u will here input and out put message.
    select output message . in the bottom window u will get some length say 10. click right button and select messages here . If transformation works u will have multiple messages there .
    I hopt i tried to explain , what I suggest if u lost use trial and error( not a better option than this ) to reach there .
    hope u will able to debug the BPM.
    Thanx and regards
    vinod Ahir

  • Performance tuning in XI, (SAP Note 857530 )

    Could any one pls tell me where to find sap notes.
    I am looking for "SAP Note 857530 "
    Integration process performance(in sap XI).
    or how can I view the performance of the integration process ? or exactly how performance tuning is done.
    pls help,
    Best regards,
    verma.

    Hi,
    SAP Note:
    Symptom
    Performance bottlenecks when executing integration processes.
    Other terms
    ccBPM
    BPE
    Performance
    Integration Processes
    Solution
    This note refers to all notes that are concerned with improving the performance of the ccBPM runtime.
    This note will be continually updated as improvements are made.
    Also read the document "Checklist: Making Correct Use of Integration Processes" in the SAP Library documentation, on SAP Service Marketplace, and in SDN; it contains information about performance issues to bear in mind when you model integration processes.
    Refer to the appended notes and maintain the default code changes by using SNOTE, or by importing the relevant service packs. Note that some performance improvements cannot be implemented by using SNOTE and are instead only available in service packs.
    Regards
    vijaya

  • PI 7.31 Dual Stack Using BPM/BRM and ccBPM

    Hello,
    My client has decided to use SAP PI 7.31, because we have many ccBPM solutions, being used a long time, the idea is install the Dual Stack solution and keep using the ccBPM, at least for while.
    But for the new integration solutions, we would like to use the AEX(Local AEX-Based) and connect to BPM and BRM, and maybe migrate the old solutions when possible.
    Is it possible, use the both solutions( AEX/BPM/BRM and ccBPM) ? In this case, we will have all the benefits and great perfomance
    when using the AEX/BPM/BRM(Local AEX-Based) solution, that we have in the single stack ?
    Best regards,
    Dylon.

    Hi, vishal jain.
    Thank you! Checking your link, we will probably choose the third case:
    If PI is installed as dual-stack, then PO, PI and BPM/BRM, will have to be installed with different SIDs.  PI on one SID and BPM/BRM on a different SID.
    But the question remains... in this case is possible to use ccBPM and BPM/BRM, ok ?
    And when using the BPM/BRPM, how is the performance and benefits ?
    Are the same when using single stack solution ?
    Best regards!

  • Integration Process/ccBPM - When to be used

    Hi All,
    I have a scenario where i need to trigger the webservices in a third party java based system based on a value provided by SAP Workflow. Here two different web services are involved which needs to be triggred based on the response from the user.
    Below are the steps that are involved in the entire process:
    1. User request for an order and if material quantity is found, service 1 is triggered.
    2. If the material quantity is not found, Service 2 is trigerred providing user with alternate options.
    3. Now based on user response, if he agrees for alternate option, service 1 is trigerred.
    Can any body explain how to do this in XI or perticularly in ccBPM.
    Please let me know if you need further information
    Help will be appriciated.
    Thanks and best regards,
    Kulwant

    Hi Kulwant,
    Though I had mentioned some steps earlier also, i am putting them again here for you:
    Following are the steps for Integration Repository:
    1) You would need an outbound proxy program to send data from SAP workflow. I am not proficient in SAP workflow but i know you can write some code in the workflow steps to send data to SAP XI, you get examples of writing an outbound proxy program in SDN.
    2) Now your outbound proxy would trigger this particular scenario. It will bring input parameters for first java based webservice in XI.
    3) You need to create data type, message type and outbound message interface for your SAP workflow structure. you need not create data type and message type for Java based web service as you would be directly importing it's wsdl and using it as your inbound message interface in message and interface mappings directly.
    4) If the third party webservice is a synchronous one, then while creating the message mappings you need to create two message mappings for the 1st java based webservice, i.e. one for request and 1 for response, you would also need to create a response structure to create the mapping for 1st java based webservice's response or if you want to directly pass the output of 1st webservice as an input to the 2nd java based webservice, you can also do that.
    5) Create a response mapping for the response of 2nd webservice in a similar fashion.
    Confuguration / Integration Directory:
    1) For sender side you do not need any communication channel. For receiver side you would need one as I mentioned earlier. To create a communication channel, you need to first create or import (if already created) a business system or a business service (you can read about these in help.sap.com, ask me if you need the link). I would suggest a business system as web service provider is a third party. How to do it:
    ID--><your configuration scenario> --> Service without Party --> Business Service / Business system --> right click to create or assign.
    Note: looking @ yesterdays posts, i believe it's fine for you to create just a business service only.
    2) When you are done with this, you get a communication channel option created inside you business system or business service. Right click to create a communication channel. Give a name to it and press F4 to select the adapter type as SOAP. it would be a receiver. Read help.sap.com for more info on it.
    Note: you would need two receiver SOAP communication channels for executing the 2 java based web services.
    3) Rest of the mostly needed parameters i have already mentioned in my earlier posts for configuring the communication channel.
    Hint: the target URL needed to configure the communication channel is usually there in <SOAP:action> tag in the wsdls of the respective web services.
    4) Next create a Receiver determination --> Interface determination --> Sender Agreement --> Receiver Agreement
    7) For receiver determination, you need to enter a business service / business system and the sender message interface. If you have chosen your own service then you need to register your message interface in the service. double click on the service name to do it. there are options to register inbound / outbound messages.
    If you can use a conditional receiver determination to determine the user response and call the relevant web service based on that. At the 'edit receiver determination' screen there is a 'configured receivers' tab, where in condition field you can press F4. When you pess F4, a new screen opens, in left operand field, again press F4, a new screen would again open up, select 'Xpath' and there select the field in your sender (structure coming from workflow) structure, the field which contain the user choices (say 1 or 2 as mentioned by you).
    Similarly, in the same receiver determination based on the condition, you can call either webservice 1 or 2.
    8) For interface determination, you need to perform same steps as step no 7 also you need to enter your receiver service or business system.
    9) In sender and receiver agreements you mention sender and receiver communication channels. Well in your case you need not make any sender agreement as you sending data from R/3 to XI directly.
    if you configure these object completly, i believe you scenario should run.
    In case of more queries, feel free to ask,
    Thanks,
    Varun

  • ** Queue Performance in BPM scenarios

    Hi friends,
    How about the Queue performance when processing lot of messages at the same time ? For example, if 100 files are picked up and processed by BPM (at the same time), all files processed by the queue XBQO$PE_<Task> Ex: XBQO$PE_WS90000041and the result are delivered thru transaction queues ex: XBTOY0_<4 digit queue> .
    My doubt is a) Will this  slow performance when processing lot of files like 200,300 b) Is it required to increase any queue parameter ?
    Kindly clarify, friends.
    Kind Regards,
    Jeg P.

    Hey,
      refer to the link for the performance issues.
    /people/swen.conrad/blog/2006/12/22/xi-ccbpm-performance-under-perform-or-out-perform
    If you think the performance is slow then you can go for multiple Queues.
    refer to this link for the configuration of multiple Queues.
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e0ff0006-3901-2a10-9e97-a71b423da545
    reward points if useful.
    regards,
           Milan

  • Message splitting without ccBPM

    My scenario is as follows
      FILE ---> XI ---> FILE
    The data is exchanged as XML. The structure is pretty simple, multiple records exist in a file and each record has multiple columns.
    No mapping required. This interface is currently in production in our environment.
    We have a requirement now to split the target file into multiple files by date. The data is a column in the payload. So we need to combine all records that have the same date into their own separate target files.
    I dont want to use ccBPM due to the performance overhead it has. I dont have any other mapping requirements other than this.
    Does anyone have any idea on how this can be done?
    Regards
    Haseeb

    Hi,
    May not be a good solution but analyse and try to implement.
    in general for a message
    root node -- 1..1  or 0..1 as occurrences
      recordset -- 0..unbound as occurrences
    Now Change it to
    Message1 -
    0..unbound to come (optional)
    root node --  0..unbound as occurrences
      recordset -- 0..unbound as occurrences
    Before doing the below you need to do the sortind based on the date and per eache message one date records shhould be populated.. handle in UDF
    message should be created multiple times.. .. no need to handle in adapter level , you need to handle in interface determination level.. check the below link
    it will be created multiple..
    see the below link
    http://help.sap.com/saphelp_nw70/helpdata/en/42/ed364cf8593eebe10000000a1553f7/content.htm
    Chilla

  • Line Split Interface to feed Integration Process - Performance Issues

    Hi All
    We have a scenario whereby we receive an XML message from a 3rd Party through an exposed SOAP Adapter service. The XML Message has multiple lines that need to be split up and processed as individual messages. We need to create a Line Splitting interface in order to achieve this. The Line Split interface would feed different Integration Processes depending on a specific payload value. The Integration Processes would then perform certain specific logic & Rules as well as transformations to specific message formats (e.g. idoc, xml, flatfile). The Line Split interface also maps from an xml structure that caters for multiple lines, to a flatened xml structure which only contains one line. The uper range of a message we may need to split into individual messages is 30 000 lines.
    We first used an Interface Map and used SplitByValue to achieve this, however we ran into the constraint that we could not feed the output split messages to an Integration Process - you can only feed it to Adapters that reside on the J2EE engine.
    We then decided to build a seprate Integration Process thats sole purpose was to split the message and route the indvidual messages to other integration processes to perform the logic, business rules and specific transformations. However, the performance of the ccBPM line splitting Integration Process was nowhere near the Interface Map.
    e.g. Interface Map Split 1000 Lines = 13 seconds - BPM Integration Process 1000Lines = 100 seconds.
    Does anybody have any suggestions on how we can perform the line split outside of BPM, or how we can improve ther performance of the line splitting within BPM?
    Thanks for your assistance.
    Edited by: CostaC on Aug 24, 2009 11:53 AM

    hi,
    >>>We first used an Interface Map and used SplitByValue to achieve this, however we ran into the constraint that we could not feed the output split messages to an Integration Process - you can only feed it to Adapters that reside on the J2EE engine.
    the easiest (not the only) way :
    do the split as you did here and post the results in different folders (file adapter)
    then set up scenarios that will get the files from those folders
    (many additional objects but will be much much faster and better then a BPM)
    you could also split the messages in the adapter module but this is more advanced
    and officially SAP does not recommend it - even though it's possible
    Regards,
    Michal Krawczyk

  • Idoc views updation, Workflow, Performance tuning techniques!

    Hello,
    Greetings for the Day!
    Currently my client is facing following issues and they seek an help/attention to these issues. Following is the current landscape of an client.
    Sector – Mining
    SAP NW MDM 7.1 SP 09
    SAP ECC EHP 5
    SAP PI 7.0
    List of Issues:
    Classification (CLFMAS idoc) and Quality (MATQM idoc) views tries to update before MATMAS idoc updates and creates the material in ECC table.
    At workflow level, how to assign incoming record approval request, put them in mask like functionality and approve them as bulk records.
    Performance tuning techniques.
    Issue description:
    Classification (CLFMAS idoc) and Quality (MATQM idoc) views tries to update before MATMAS idoc updates and creates the material in a table.
    Currently, client’s MATMAS idoc updates Basic data1 and Basic data2 along with other views and material gets updated in ECC table, but whenever record has classification and quality view to update via CLFMAS and MATQM idoc, these 2 idocs tries to search the material ECC table before respective MATMAS to update the table. As it does not have the basic data created for the material entire idoc fails. Kindly suggest the solution as in how we can align the process where classification and quality view will get update only after the basic data views gets updated to material master. Is there any way we can make views to be updated sequentially?
    At workflow level, how to assign incoming record approval request, put them in mask like functionality and approve them as bulk records.
    Currently, super users are configured within the system, they have 2 roles assigned to their ID’s, 1.custodian and 2.steward. In custodian role user assigns the MDM material number and check other relevant assignment to record creation request, user approves the material request and the request goes to steward role. As the 1 user has 2 roles, same user need not to checks everything again in steward role, hence user wants whatever request comes at steward user inbox, he shall be able to create one single group for those 20-30 records and on one single click entire materials shall be approved and disappear out of his workflow level. Is there any way by which it can be achieved.
    Performance tuning techniques.
    Currently, client MDM system response time is very very slow, after a single click of action it takes long time to reflect the action within MDM. Material database is almost around 2.5 lakh records, standard structure has been used, not a complex landscape structure. Both ECC and MDM server is on single hardware, only the logical separate DB. Kindly suggest performance techniques if any.
    Kindly suggest !
    Regards,
    Neil

    Hi Niel,
    Kindly try the below options
    -> Performance tuning techniques.
    SAP Recommendation is to put the application ,server and Database in different Boxes . I am not sure how you managed to install both MDM and ECC in the same box but that is a big NO NO .
    Make sure there is enough hardware support for a separate MDM box.
    -> Classification (CLFMAS idoc) and Quality (MATQM idoc) views tries to update before MATMAS idoc updates and creates the material in a table.
    MDM only sends out an XML file , so you definitely need a middle ware (PI) to do the conversion.
    You can use PI logic ( ccBPM) to sent the IDOC is the necessary sequence .
    Else you can maintain this logic in the Processing code of ECC system .
    PS : The PI option is more recommended.
    Regards,
    Vag VIgnesh Shenoy

  • We have many mappings, which one is good in performance wise ?

    We have many mappings, which one is good in performance wise ?

    HI
    Different Mapping Techniques are available in XI. They are: Message Mapping, XSLT Mapping, Java Mapping and ABAP mapping.
    u2022The integration repository includes a graphical mapping editor. It includes built-in functions for value transformations and queue and context handling.  There is an interface for writing user-defined functions (java) as well.
    u2022XSLT mappings can be imported into the Integration Repository; java methods can be called from within the XSLT style sheet. Advantages of this mapping are: open standard, portable, extensible via Java user-defined functions.
    u2022If the transformation is very complex, it may be easiest to leverage the power of Java for mapping.
    u2022ABAP mapping programs can also be written to transform the message structures.
    Message Mapping
    SAP XI provides a graphical mapping tool that generates a java mapping program to be called at run time.
    u2022Graphically define mapping rules between source and target message types.
    u2022Queue-based model allows for handling of extremely large documents.
    u2022Drag-and-drop.
    u2022Generates internal Java Code.
    u2022Built-in and user-defined functions (in Java)
    u2022Integrated testing tool.
    u2022N:M mapping is possible.
    JAVA MAPPING:
    Usually Java mapping is preferred when the target structure is relatively complex and the transformation cannot be accomplished by simple graphical mapping.
    For e.g. consider a simple File->IDoc scenarion where the source file is a simple XML file, whereas the target file is an IDoc with more than one hierarchy level e.g FINSTA01. Content conversion in XI can only create a single level hierarchy, so in this scenario a Java mapping would come in handy.
    See these:
    http://help.sap.com/saphelp_nw04/helpdata/en/e2/e13fcd80fe47768df001a558ed10b6/frameset.htm
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/10dd67dd-a42b-2a10-2785-91c40ee56c0b
    /people/prasad.ulagappan2/blog/2005/06/29/java-mapping-part-i
    /people/thorsten.nordholmsbirk/blog/2006/08/10/using-jaxp-to-both-parse-and-emit-xml-in-xi-java-mapping-programs
    When to use Java mapping
    1) Java mapping are used when graphical mapping cannot help you.
    Advantages of Java Mapping
    1)you can use Java APIs and Classes in it.
    2) file look up or a DB lookup is possible
    3) DOM is easier to use with lots of classes to help you create nodes and elements.
    Java mapping can be used when you have complex mapping structures.
    ABAP MAPPING:
    ABAP mappings are mapping programs in ABAP objects that customers can implement using the ABAP Workbench.
    An ABAP mapping comprises an ABAP class that implements the interface IF_MAPPING in the package SAI_MAPPING. The interface has a method EXECUTE with the some signature.
    Applications can decide themselves in the method EXECUTE how to import and change the source XML document. If you want to use the XSLT processor of SAP Web AS, you can use the ABAP Workbench to develop a stylesheet directly rather than using ABAP mappings.
    In ABAP mapping you can read access message header fields. To do this, an object of type IF_MAPPING_PARAM is transferred to the EXECUTE method. The interface has constants for the names of the available parameters and a method GET, which returns the respective value for the parameter name. The constants are the same as in Java mappings, although the constant MAPPING_TRACE does not exist for ABAP mappings. Instead, the trace object is transferred directly using the parameter TRACE of the method IF_MAPPING~EXECUTE.
    For more details refer
    http://help.sap.com/saphelp_nw70/helpdata/EN/ba/e18b1a0fc14f1faf884ae50cece51b/frameset.htm
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/5c46ab90-0201-0010-42bd-9d0302591383
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/e3ead790-0201-0010-64bb-9e4d67a466b4
    /people/sameer.shadab/blog/2005/09/29/testing-abap-mapping
    ABAP Mapping
    /people/udo.martens/blog/2006/08/23/comparing-performance-of-mapping-programs
    https://websmp101.sap-ag.de/~sapdownload/011000358700003082332004E/HowToABAPMapping.pdf
    /people/ravikumar.allampallam/blog/2005/02/10/different-types-of-mapping-in-xi
    /people/r.eijpe/blog
    ABAP Mapping Vs Java Mapping.
    Re: Message Mapping of type ABAP Class not being shown
    Re: Performance of mappings (JAVA, XSLT, ABAP)
    XSLT Mapping
    XSLT stands for EXtensible Stylesheet Language Transformations. It is an XML based language for transforming XML documents into any other formats suitable for browser to display, on the basis of set of well-defined rules.
    /people/sap.user72/blog/2005/03/15/using-xslt-mapping-in-a-ccbpm-scenario
    /people/anish.abraham2/blog/2005/12/22/file-to-multiple-idocs-xslt-mapping
    The above menotined are the mapping present in the XI.
    When it is critical and complicate we go for the ABAP,JAVA or XSLt mapping. For simple Mapping we go for the graphical mapping.
    the selection of mapping also depends upon the requirement and alos on our scenario.
    cheers

  • Scenario's performance with BPM vs without BPM in PI 7

    hello,
    Please send me the presentation, blogs describing the performance issues in PI 7
    also, the docs differenciating a normal scenario's performance (without BPM) vs the scenario with BPM...
    What are the enhancements made to BPM in PI 7 for performance increase?
    Regards,
    Nikhil.
    ******Each useful reply will be awarded*******
    Edited by: nikhil a on Feb 7, 2008 6:10 AM

    BPM Performance:  Integration processes are executed on the Integration Server at runtime by the Business Process Engine. Since the Integration Server is the central resource for message exchange, you must ensure that it is not overloaded; otherwise, this can lead to bottlenecks or performance problems.
    Resource Consumption
    Every step of an integration process uses Integration Server resources.
    &#9679;      Every message that is sent to the Process Engine is duplicated.
    &#9679;      Every message that is sent from the Process Engine is duplicated.
    &#9679;      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. 
    Resource Consumption of Different Step Types and Transactional Behavior
    Different step types consume different amounts of system resources:
    &#9679;      Step types with high resource consumption:
    •     &#9675;       Receive step
    •     &#9675;       Send step
    Asynchronous send steps with acknowledgments in particular consume a lot of system resources. In the case of synchronous send steps, consumption depends on the target system.
    •     &#9675;       Receiver determination
    •     &#9675;       Transformation step
    In transformation steps, resource consumption is dependent on the mapping called. In general, process steps that generate work items internally are relevant for process performance. Transformation steps (either for message split or merge) also include a mapping step and can be quite expensive. This should be taken into consideration during scenario design.
    •     &#9675;       Block
    •     &#9675;       Wait step
    &#9679;      Step types with low resource consumption:
    •     &#9675;       Control step
    •     &#9675;       Multiple condition
    •     &#9675;       Fork
    •     &#9675;       Loop
    •     &#9675;       Undefined step
    If you design the transactional behavior of an integration process so that the following steps are not performed as separate transactions, you can improve performance significantly:
    &#9679;      Transformation step
    &#9679;      Receiver determination
    &#9679;      Send step (synchronous or asynchronous)
    Transactional Behavior of an Integration Process 
    Use
    You can now influence transactional behavior in the definition of an integration process in the process editor.  This enables you to improve performance.
    Transaction:
    A transaction is a sequence of processing steps that are either fully executed, or not executed at all. If the system cannot fully execute a transaction, it rolls back all processing steps within the transaction. This means that the system can return to the state before the transaction was begun.
    The transaction control mechanism for integration processes is not a central transaction manager for an entire system landscape. The transaction control mechanism cannot roll back any processing steps outside the Integration Server.
    Transaction Boundaries
    You have the option of defining the start or end of a block as the boundary of a transaction.
    &#9679;      In the case of the start of a block, you can define that the system is to start a new transaction.
    &#9679;      In the case of the end of a block, you can define that the system is to end the transaction being started (COMMIT WORK). The system ends the transaction that is currently open, regardless of whether it has been started or not. For example, if no new transaction was started at the start of the block, the last transaction started is continued instead.
    By making appropriate settings for the start and end of a block you can expand transactions. This means that the database needs to be accessed less often, and enables you to improve system performance
    Transactional Behavior for Specific Step Types
    At runtime, the system normally creates a separate transaction for each step. The transaction then covers this step only. However, you can influence the transactional behavior of particular step types. In the step properties, you can define that the system is not to start a new transaction when the step is executed. The system then executes the step in the transaction that was started at the time of execution. Consequently, no background work item is created for the step and the database does not need to be accessed. In this way you can improve system performance.
    You can influence the transactional behavior of the following step types:
    &#9679;      Send step
    You can influence the transactional behavior when sending messages both synchronously and asynchronously, and when sending acknowledgments
    •     Transformation Step
    •     Receiver Determination Step
    Optimizing Transactional Behavior:
    &#9679;      Memory requirements
    Expanding transactions and executing specific steps without creating a new transaction may increase the burden on the main memory. If the burden on the main memory is too great, you must redefine transactions, or define that a new transaction is to be created for the step concerned.
    &#9679;      Troubleshooting in the workflow log
    The technical view of the workflow log does not show any detailed information for steps for which no work item was created. If an error occurs, the workflow log displays the error information for the last executed step. The following example illustrates this:
    A process contains a transformation step that is executed within an expanded transaction. When the transformation step is executed, an error occurs in mapping and the system rolls back the transaction. Since no work item was created for the transformation step, the workflow log does not have an entry for the transformation step. The error information is entered in the last executed step in the workflow log.
    EXAMPLE:
    For an example of resource consumption, see the BPM scenario described in the XI sizing guide:
    The inbound SOAP messages are handed over to the BPE, which triggers a two-step process consisting of message reception and sending. The processed messages are then sent to a receiver by using the SOAP channel; no mapping.
    The SAPS value for this scenario, in which 10 kB messages are processed, is 1300 (processing one process instance each second). A simple XI proxy scenario, for example, requires 140 SAPS process-ing one message each second. This gives you an idea of the resource requirements using BPM.
    Example:
    In the original implementation, two separate JCBC calls were made to retrieve a sales order document header and the line items. This data then was transformed to the IDoc format of the receiving application using a transformation. Then, using a loop step, one IDoc at a time was sent to the backend application. - This sub optimal design resulted in poor performance caused by following design flaws:
                    Separate retrieval of header and line items with the JDBC adapter
                   Transformation within ccBPM to combine retrieved header and line items
                   IDoc back end connection for one document at the time
    In the improved version below, both the JDBC call and the transformation were removed from the ccBPM. The retrieval of the source messages is done via a synchronous call with two mappings in the integration engine of XI that generate the required format for the receiving system. Therefore, it is not necessary to add an additional transformation step in the ccBPM. Additionally, the IDoc adapter connecting to the target system is used to handle multiple IDocs inside one XI message. Therefore, it is not necessary to add a loop operation within the ccBPM either. – In this particular implementation, the described changes resulted in a 20x performance improvement!
    IMP LINKS:
    3bf550d4-0201-0010-b2ae-8569d193124e.pdf
    43e8e190-0201-0010-3ea1-d6f996cb4124.pdf
    70ada5ef-0201-0010-1f8b-c935e444b0ad.pdf
    c071d7bb-0601-0010-d6b8-f4e4dc7f1e20.pdf

  • CcBPM  - what does meant "Create New Transaction" properties ?

    Hi XI expert,
    could you enligtheen me on what is the meaning of "Create new transaction" properties in step Send, Transformation in the ccBPM. When i need to tick this properties. ?
    Cheers
    Fernand

    Specify whether the system is to create a separate transaction for the send step.
    You can improve system performance if you define that the system is not to create a separate transaction for the send step. Note, however, that all messages to be sent are collected and not sent until the end of the relevant transaction. This is of particular importance for transactions that take a long time to execute.
    An asynchronous sender step that waits for an acknowledgment must always be executed in a separate transaction.

  • Performance of BPM

    Can anyone tell me about some tweaks that can be done in order to enhance the performances of the individual steps of BPM

    Hi,
    Performance behavior of BPM scenarios is determined by the actual process model and the number of executed process instances of a process.
    The following are the determining factors for a particular process:
    • Number of messages received by a process (influenced by use of correlations)
    • Number of messages sent by a process
    • Number of transformations within a process (influenced by processed message sizes)
    In general, process steps that generate work items internally are relevant for process performance. Transformation steps (either for message split or merge) also include a mapping step and can be quite expensive. This should be taken into consideration during scenario design.
    For an example of resource consumption, see the BPM scenario described in the XI sizing guide:
    The inbound SOAP messages are handed over to the BPE, which triggers a two-step process consist-ing of message reception and sending. The processed messages are then sent to a receiver by using the SOAP channel; no mapping.
    The SAPS value for this scenario, in which 10 kB messages are processed, is 1300 (processing one process instance each second). A simple XI proxy scenario, for example, requires 140 SAPS process-ing one message each second. This gives you an idea of the resource requirements using BPM.
    Check out the TCode SXMB_MONI_BPE for performance and check out this link also /people/swen.conrad/blog/2006/12/22/xi-ccbpm-performance-under-perform-or-out-perform
    Refer this thread.
    BPM
    Regards
    Aashish Sinha
    PS : Reward Points if Helped

Maybe you are looking for