Skip to Content

Have you never come across a scenario where you needed to invoke a legacy synchronous application via PI, but the response does not need to send to sender application

How did you approached then?

Have you asked the receiver application to make it asynchronous?

Have you asked the sender application to receive the response and ignore it?

For both of the above cases needed an extra effort and cost apart from the PI developments, provided the applications are allowed to change them.

Can’t we ignore the response received in PI System itself? Yes

Do you think by using Async-Sync Bridge patterns? No, this will be useful only in case of sending the response to another system. 

How do we achieve then? Its simple just make the sender service interface as synchronous.

If we make the sender service interface as synchronous,will the message be not sent to sender application? Yes as the sender adapter Quality of service used will be asynchronous (EO,EOIO). Response message will not be sent to the sender application system.

With what response message we need to create the sender service interface when we make sender service interface as synchronous? You can give any message,but it will be easy to handle if you provide the response message of the receiver interface as the response message of the sender service interface.

Remaining objects will be same as the one for synchronous scenarios.

Sender Service Interface

Sender Interface

Receiver Service Interface

Receiver Interface

Overview of Objects created in ESR.

ESR Objects

Two Mappings objects needed same as for synchronous case one for Request and one for Response. Response mapping messages(Source and target) will be same.

Overview of ID Objects.

ID Objects

Runtime Message Monitoring.

Monitoring Screens

Response Message in Moni.

Response In Moni

Above approach is one way to acheive async-sync scenarios by changing the sender service interface when the response from receiver to be ignored. Another approach can be to use ccBPM without changing the sender service interface .

To report this post you need to login first.

7 Comments

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

  1. PRAVEEN KURNI
    Hi Rajesh,
    Nice effot in handling Synchronous response message without erros in MONI.

    How about this option?
    Make Synchronous SI to Asynchronous SI in PI with the same Request Message Types.

    Regards
    Praveen K

    (0) 
    1. Rajesh pasupula Post author
      Hi Praveen,

      Thanks, Sync – Async scenario will be totally different and need to consider lot of things during design…

      Regards
      Rajesh

      (0) 
  2. Farooq Farooqui
    this is a tactical approach to run your interface. in synch scenario receiver system should be available.  in this case if communication fails….sender has to resend message to trigger the even in receiver system avoid synch call..forward error handling,  restart will not work in this case
    (0) 
    1. Rajesh pasupula Post author
      Hi,

      As the scenario is Async – Sync..Failed messages can be sent from PI itself instead of sender system.. your statement holds true if entire scenario is synchronous…
      Also above said approach is for invoking legacy synchronous applications where response does not matter to sender system…

      Regards
      Rajesh

      (0) 
  3. Prateek Raj Srivastava

    If the sender is ECC communicating using ABAP proxy, as the service interface is sync, the ABAP proxy will get generated with sync method which essentially enforces BE quality of service. As I see this approach won’t work in that case. Am I getting it right?

    Regards,

    Prateek Raj Srivastava

    (0) 

Leave a Reply