Skip to Content
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.

When to use BPM
1.Control/Monitor the messages in XI
2. Collect/Merge the messages in XI
3. Split the messages in XI
4. To Multicast an Message
5. Send an Alert

The following scenario describes how to start with BPM.
Business Scenario: File to File communication through XI using BPM.
Overview: The purpose of this document is to implement an asynchronous interface between two Legacy Application via XI. As a result of this scenario, you will become familiar with basic sequence of steps to implement this scenario in XI using BPM.
Process Flow of the scenario is given below.
image
The following steps describes entire scenario.

Integration Repository-Design

1. Create Software Component version.
2. Create Namespace under above software component.
3. Create Data Type for both source structure as well as target structure. In my scenario I am considering source structure and target structure are same.
For example data type created is as follows.
image
4. Create Message Type based on data type created above. For E.g MT_File is created as below.
image
5. Create Message Interface
While creating message interface we need to create have 3 message interfaces.

Message Interface I: Outbound, Asynchronous: used in picking the file. E.g.; MI_FILE_to_BPM_OB is shown below.

image

Message Interface II:
As per the flow, we have created one outbound interface for file. This outbound interface should give data to Integration Process. But Integration Process will not understand outbound/inbound interfaces. It will only understand Abstract Interfaces. The Abstract Interface is nothing but any other interface but it does not have any direction.
So we need to create an Asynchronous, Abstract Interface of above message type.
For e.g. MI_FILE_to_BPM_ABS is created as below.
image
Message Interface III: Inbound, Asynchronous: used in receiving side. E.g. MI_FILE_to_BPM_IB is created as below.
image
6. Create Message Mapping
Create one-to-one message mapping as my source and target structure are same.
For e.g. MM_File_to_File is created as below.
image
7. Create Interface Mapping
Interface mapping is created based on outbound asynchronous interface and Abstract interface. Make sure that target interface should be Abstract Interface which is created in one of the above steps.
For e.g. IM_File_to_BPM is created as below. image
8. Create Integration Process
As shown in below, create Integration Process. For e.g IP_File_to_File is created.
image
After clicking on New, give Integration Process name and click on Create button. It will take into following screen. Now it is ready to design integration process.
image
Step1: Create Container element
To process message in BPM, it is required to create Container Elements. Because it is not possible to use abstract interface directly. The Container elements are variables used in the BPM. It is declared during design time. At runtime, the container elements then contain the references to the relevant data.
Following screen shows that ReceiveMsg as Container Element of type Abstract interface.
image
Step2: Insert RECEIVE Step
To process messages, Integration Process should receive the messages. To do this insert RECEIVE step as shown below. It has its own properties.

image

In Properties Window, click help against Message as shown above. After clicking, you can see following screen that shows Interface Variable. Here it will show all the Container elements that are declared as Abstract Interface category. From this interface variable list choose appropriate interface that should refer to original message. Following screen shows the same.

image
Step 3: SEND Step
Once messages are received, BPM needs to send these messages. (As this is a simple scenario) If you want to collect messages, split messages you need to use Transformation step after the receive step that refers to N: 1 Interface Mapping or 1: N Interface Mapping created.
The following screen shows how to select messages for the Send Step.

image

image
9. Save all and activate all.

Integration Directory: Configuration

1. Create Configuration Scenario.
2. Create Business System/Business Service.
In Business Service mention Inbound Interfaces and Outbound Interfaces as shown below. (I.e. created in the Repository). E.g. The Business Service BS_FILE_BPM is created.
image
image

3. Import the Integration Process
As Integration Process is used to hold messages in XI, it should receive the messages and should send the messages. So Integration Process itself acts as a Receiver Service and Sender Service.
After clicking on New in the following screen, you can create Integration Process in Directory by selecting Integration Process, which is created in the Repository. This step is to import the Integration Process as it acts as a Sender/Receiver Service.
image
4. Create Communication Channels

Both Sender and Receiver Communication Channels of adapter type FILE are created.

5. Create Receiver Determination/Interface Determination/Receiver Agreement

As per the flow diagram entire scenario will look like this.
image
So we need to create two Receiver Determinations. One Receiver Determination is used from Source to BPM and second one is used from BPM to Target.
The following screen shows First Receiver Determination where Sender Service is Business Service created for File interface and Receiver Service is used as Integration Process. Message Interface used here is outbound file interface.
In Interface Determination, interface mapping is mentioned. This interface mapping is created based on Outbound Message Interface and Abstract Message Interface.
As the receiver is Integration Process (BPM) no need of Receiver Agreement.
The following screen depicts the Receiver Determination, Interface Determination and Receiver Agreement.

image

While creating second Receiver Determination, make sure that Sender Service is Integration Process (i.e. imported in one of the above steps), Interface is Abstract Interface and Receiver Service is actual receiver, in this case Business Service created for File. Interface Determination is created for Inbound File Interface. No interface mapping is required, because BPM itself contains mapped data. Unlike in first receiver determination, in this case Receiver Agreement is required, as file is a receiver.
Following screen explains the Second Receiver Determination, where actual receivers are determined. Make sure that Sender Service is BPM and Receiver Service is actual Business Service created for File.

image

6. Create Sender Agreement
As file system is source in this scenario, sender agreement is created based on sender file communication channel.
7. Save all and activate all

To monitor Integration process log, go to transaction SXMB_MONI_BPE ->Process Selection->Select corresponding integration process (in Service Field) ->Execute->Select work item.

To report this post you need to login first.

39 Comments

You must be Logged on to comment or reply to a post.

        1. chuo mua
          Hi Krishna,

          Thanks a lot for sharing this great blog with everyone in the community. This is a perfect BPM Walkthrough for BPM beginners like me.

          Using your Walkthrough as a template, can you expand this scenario to show how BPM can be used to collect/merge and split messages? Is it possible to merge and split messages in XI without using BPM? How often is BPM required?

          (0) 
      1. Krishna Moorthy P Post author
        Hi,

        After doing Message Mapping , test the message mapping the Repository with Test Tab with some input data. After successfull, take the SOurce Xml from source side and save it as a .xml file.
        Then give this is a input file for the Sender file adapter.

        -Moorthy

        (0) 
  1. Praveen Sirupa
    Hi Krishna,

    Good job, very detailed indeed. But, I’ve got a question.

    Is the mapping between MI_FILE_to_BPM_OB and MI_FILE_to_BPM_ABS required, as the ultimate message MI_FILE_to_BPM_IB is same as the MI_FILE_to_BPM_OB . In source to BPM part of the scenario, you can set the message mapping as unspecified in interface determination step as you have done in case of BPM to Target part of the scenario.

    Lemme know ur views.

    Thanks
    Praveen

    (0) 
  2. sridhar raju
    Hi moorthy,

    I did, samething what ever u have mentioned in the blog.In the sxmb_moni_bpe,i am not able to see my service.what could be the problem?

    Thanks in Advance
    Sridhar.

    (0) 
  3. param R
    I had to also create a Sender Agreement for the file sender port to try it out in runtime!

    Thanks a lot Krishna.

    (0) 
  4. Christian Riekenberg
    Hey Krishna,

    I’m just started working with XI and had many understanding problems. I like your blog because there some useful background informations like :
    “But Integration Process will not understand outbound/inbound interfaces. It will only understand Abstract Interfaces.”
    This is very helpful to understand XI.

    But it would be helpful for beginners if you explain step four in configuration with pictures (creating communication channel). First I thought they would be created while I created Integration Process.
    Also the determinations and agreements made me big troubles. It would be fantastic if the interaction between them would be explain more detailed.

    Nevertheless your blog is very helpful and your support in the forum is great :-))))

    Thanks a lot….

    (0) 
  5. Ramesh K
    Thanks a lot Moorthy.

    I’m new to BPM. Studying this blog, cleared me the concept in half hour.

    Thanks once again for this excellent blog.

    Thanks,
    rk.

    (0) 
  6. Samuel Melvin
    Hi Krishna,
    great blog. I am absoulte beginner to XI and I am very much njoying in doing this stuff.

    I am facing problem while executing this scenario. Source file is getting deleted but unable to get the output file. I followed whatever u have suggested.

    while checking in the message monitoring there were no failures. All were success. From the messages it seems source file picked up and xi message was put into queue and at 11th message got “message was successfully transmitted to endpoint. After that no messages at all and also no failures at all. It seems some problem in the integration proccess.

    Do i need to do any settings before executing any BPM scenario?

    Please let me know.

    Thanks
    Sam

    (0) 
    1. Meghana Phadke
      I am also facing the same problem as Sam has mentioned.
      The Source file gets deleted but unable to get the output file. Only the recieve request gets executed but the system is unable to process the Send Request, in the error trace it shows “no sender or receiver interface definition found”. Does this have anything to do with refresh of cache, as it is very random when the recieve process works or not. but the send process has never worked 🙁
      Can you please give any suggestions on how to make it work?

      Thanks,
      Meghana

      (0) 
      1. Aarthi Vijayaraghavan
        I m still not clear. When can we leave message mapping and interface mapping in the design.

        Even the outbound file interface and abstract interface have identical message structure.But there was a mesasge and interface mapping.

        (0) 
  7. Kiran Babu
    Its very nice blog.

    Can we have part 2, an extension blog for this with two different structures and atleast a transformation involved.

    That would give 100% clearity I feel.

    Thanks
    Kiran

    (0) 
    1. Krishna,

      My question of you is do you or do you how I can obtain complex examples / scenarios of BPM.  I really liked you Walkthrough BPM, I just want to take the next step.

      Vincent Weekley

      (0) 
  8. Khimavath Vikranth
    I tried this but iam getting some error “No receiver agreement found for sender -sender to receiver -receiver,” Could you please tell what might be the error.
    (0) 
    1. Krishna Moorthy P Post author
      This may be because of following reasons:
      – Receiver agreement created is not active
      – Receiver Determination is not active and configured correctly.
      – Cache Problems

      So, go to Integration Directory and delete these objects and create it & activate all. Then refresh the cache… and try.

      If you have any technical issues, pls post in XI Forum so that you get immediate answers:)

      (0) 
  9. Rahul Keshav
    Hi Krishna,
    great blog. I am absoulte beginner to XI and I am very much njoying in doing this stuff.

    I am facing problem while executing this scenario. Source file is getting deleted but unable to get the output file. I followed whatever u have suggested.

    while checking in the message monitoring there were no failures. All were success. From the messages it seems source file picked up and xi message was put into queue and at 11th message got “message was successfully transmitted to endpoint. After that no messages at all and also no failures at all. It seems some problem in the integration proccess.

    Do i need to do any settings before executing any BPM scenario?

    Please let me know.

    Thnx
    Rohit

    (0) 
  10. shabeer ahmed
    Hi,
    Krishna,

    I have successfully designed and configured but while executing the service in “SXMB_MONI_BPE” getting “No Work Items Exist” then how can i fix this are i at which part/step i have did mistake.

    Note: this is my first scenario.

    Thank u,
    shabeer ahmed.( shabeer.ahmed36@gmail.com)

    Please send the solution to my mail.

    (0) 

Leave a Reply