Skip to Content

Introduction:-

This weblog intends to help the reader with knowledge of how to use a BPM in a File – SOAP – File scenario, PI is serving as a bridge to integrate file interface and remote client or a webservice provider.

File is an asynchronous interface, whereas SOAP or webservice is a synchronous interface. So a technical difficulty lies here in implementing the integration scenario including file as a sender and SOAP or webservice as a receiver. To overcome this dificulty BPM has been used to implement the scenario.

BPM :- The term BPM (Business Process Management) refers to the organization of business process
processing in general. This includes classic SAP Workflow in the SAP Backend as
well as message processing on the Integration Server.

Note:- Using a BPM in this scenario is one of the possible way for implementing the scenario but not a recommended one. This scenario is also possible without using a BPM . Refer File – RFC – File without a BPM – Possible from SP 19. for the same.

 

Assumptions:

  • Knowledge of configuring the File sender adapter and the SOAP receiver adapter
  • Basic knowledge of what a WSDL is and how a Webservice and SOAP message works
  • Basic knowledge of how BPM works.

 Designing objects in Enterprise Services Repository

1. Create a new External Definition ED_Convertweight using the WSDL. In this weblog following link has been used to import the WSDL as an external definition:-

http://www.webservicex.net/ConvertWeight.asmx?WSDL

Sample screenshot of an External definition, created from an existing WSDL

image

Fig: 1.1 ED_Convertweight 

NOTE: choose category as wsdl

 

 

2. Create 2 Data Type DT_ConversionRequest (File Request) and DT_ConversionResponse(File response) as shown below:-

 

 

image

Fig: 1.2 DT_ConversionRequest

 

image

Fig: 1.3 DT_ConversionResponse

 

3. Create 2 Message Type MT_ConversionRequest and  MT_ConversionResponse for above mentioned Data type as shown below:- 

image 

Fig: 1.4 MT_ConversionRequest 

 

 

 image Fig: 1.5 MT_ConversionResponse

 

 

 

 

4. Create Service Interface for above mentioned Message type as shown below:-

  image

Fig 1.6 Outbound Async interface SI_ConversionRequest_OA for Message type MT_ConversionRequest  

 

   

image 

Fig 1.7 Abstract Async interface SI_ConversionRequest_AA for Message type MT_ConversionRequest

 

 

 

 

image

Fig 1.8 Abstract Sync interface SI_Conversion_AS with MT_ConversionRequest as request message type and MT_ConversionResponse as response message type

 

 

  

image 

Fig 1.9 Abstract Async interface SI_ConversionResponse_AA with MT_ConversionResponse message type

 

 

image

Fig 1.10 Inbound Async interface SI_ConversionResponse_IA with MT_ConversionResponse message type

 

image 

Fig 1.11 Abstract Sync interface SI_SOAPinOut with ConvertWeightSoapIn as request message type and ConvertWeightSoapOut 

 

NOTE: For ConvertWeightSoapIn and ConvertWeightSoapOut message types Refer the External Definition created ED_Convertweight (Fig 1.1)

 

 

 

 

 

5. Create 2 Message Mapping  MM_ConversionRequest and MM_ConversionResponse. Find the sample screenshots below:-

 

image 

 

Fig 1.12 Request Message Mapping MM_ConversionRequest, File -> SOAP

 

 

 

 

image

 

Fig 1.13 Response Message Mapping MM_ConversionResponse, SOAP -> File

 

 

 

 

6. Create Operation Mapping OM_Conversion_FileToSOAP with SI_Conversion_AS as the Source operation, SI_SOAPinOut as target oparation, MM_ConversionRequest (Request Mapping) and MM_ConversionResponse (Response mapping) as the Mapping programs. 

 Find the screenshot below:-

image

Fig 1.14 OM_Conversion_FileToSOAP  

Request: 

 

MT_ConversionRequest   ->  MM_ConversionRequest   ->  ConvertWeightSoapIn    

   (File request)                 (Request message mapping)         (SOAP request)

 

 

 

image

 

Fig 1.15 OM_Conversion_FileToSOAP

 

Response: 

 ConvertWeightSoapOut  ->  MM_ConversionResponse  ->  MT_Conversionresponse

   (SOAP response)               (Response message mapping)         (File response)

 

         

 

 

 

 

7. Create an Itegration Process or BPM as shown below :-

image

Fig 1.16 BPM

 

a) Receive Step – starts an integration process, receives request message from File sender adapter, define async mode of communication

 

b) Synchronous Send Step – send message to SOAP receiver adapter and gives the  response back , no acknowledgements are send, define sync mode of communication

 

c) Asynchronous send step – receive the SOAP output message and send it to  file  adapter  

 

  In the above BPM the first step i.e. receive step receives the file and hence triggers the BPM.The second step is a synchronous send step which triggers the call to SOAP, takes the output from SOAP and sends it further to the Asynchronous send step. The third step finally sends response message to a file.  

 

Following is the screenshot for Container elements :-

 

image

Fig 1.17 Object Area

This brings us to end of the design objects required for this scenario. Save and Activate all the objects created above.

**I might be discussing Configuration objects required for this scenario and testing the end to end scenario in my next blog. 

To report this post you need to login first.

7 Comments

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

  1. Michal Krawczyk
    Hi,

    why do you propose using a BPM in this case
    if a scenario like that can be handled
    without a BPM ?

    this is not a good design in terms of performance I guess – so maybe you should at least mention that in your blog ? (that is a possible way but not a recommended one? ) and if possible
    please mention that at the beginning
    so as not to confuse other people

    thank you,

    Regards,
    Michal Krawczyk

    (0) 
    1. Kokil Handa Post author
      Hi,

      I have used BPM sue to the follow stated reason:-

      File is a asynchronous interface, whereas SOAP or web service is a synchronous interface. So a technical difficulty lies here in implementing the integration scenario including file as a sender and SOAP or web service as a receiver. To overcome this difficulty BPM has been used to implement the scenario.

      If my assumption is wrong kindly guide me for the same, as i am just a beginer in PI. This is my first blog and i really appretiate the comments given by you as it will enhance my knowledge.

      Thanks & Regards,
      Kokil Handa

      (0) 
      1. Michal Krawczyk
        Hi,

        >>>File is a asynchronous interface, whereas SOAP or web service is a synchronous interface.

        as I mentioned – there is no need to use a BPM
        in this case as as of XI 3.0 you can do it without a BPM – ref
        File – RFC – File without a BPM – Possible from SP 19.

        so please – add info to your blog:

        1. that this method with a BPM is much slower that then one without a BPM
        2. that this is not a recommended way in this case

        ok ?

        I don’t want the users to be confused
        as the info clearly suggests that this is a good way to handle scenarios like this
        and the fact is that…. it’s not.. as BPM is not needed

        thank you,

        Regards,
        Michal Krawczyk

        (0) 
      2. Marilyn Pratt
        If this is BPM content, please tag it as such so that it can be routed to the appropriate moderators for content.
        It looks like this was inadvertently released without PI expertise checking contents beforehand so I would request you either update the content or we shall set it back to draft.  No point in having misleading content posted.
        (0) 
    2. Kokil Handa Post author
      I will like to add more that this is a File – soap – file scenario. In this scenario the file is sending a request to a webservice for weight conversion and the SOAP result is send back to file…..

      So i think BPM is necessary in this case.

      Thanks

      (0) 
  2. Shabarish Vijayakumar
    Why this when we already have blogs that discuss on Async Sync scenarios? The only change is see here is that instead of RFC in the old blog its a SOAP call.

    I think you are new to blogging and dont want to discourage you but;

    1. This is an information already available
    2. the design is an old one. there are better designs as mentioned by Mike available now

    Do think over the subject you are posting from next time onwards.
    Hope to see new information from you.

    Thanks,
    Shabz

    (0) 

Leave a Reply