on 05-02-2014 4:38 PM
Dear SCN Experts,
We have roughly 10 -14 interfaces with the below requirement and more over these interfaces run very frequently .So looking for simplest design possible.
Requirement:
We have 3 systems say A,B and C .B and C systems are like copy systems.
A system sends employee related data to PI ,PI need to update these details in B system and get the acknowledgement back (response may include fault message) .
If the above transaction is successful then only update the above details in C system .Skip the response from C system (Don't need to bother about C system data updation ) .
ECC expects only response from B system.
Below are some of the options I can think as of now.
1)Split into 2 simple synchronous interfaces and triggering secondary interface logic need to handle by A system folks ,but hurdle here is A,B,C systems are reluctant to do any code changes in there systems.
2)Handling in PI with complex BPM logics. I'm in confusion to handle fault in bpm in this requirement
Not able to judge my self in finalizing best design by balancing requirement achievement and performance consideration .
Please share your valuable thoughts on the design.
Regards
Venkat
Hi Venkat,
If you are using PI 7.31, you can implement NW BPM. you can handle fault messages inside BPM.
I think it will be the easiest approach.
Regards,
Gavaksh
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Venkat - I think i'm missing something.
A is sending the request to B -> Is it synchronous?
If so you have mentioned that "ECC expects only response from B system". Can i assume ECC is nothing but system A or is it something else?
>>>Skip the response from C system
That means all your interfaces are synchronous??
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
If the look up to system "B" fails (Ex:Due to connectivity issue) then I couldn't able to post the acknowledgement message back to system A.
Even if i handle the above using java code .Main hurdle is I need to send payload from A system to C .Response payload from B doesn't contain request payload from A .
Regards
Venkat
Hi,
We don't know whether fault or normal response comes from system B .So for example is normal response comes then getting error for put xpath for fault .similarly if fault response comes getting error for put xpath for normal .
Getting below error after invoking putpayloadvalue bean
>
|
Regards
Venkat
Hi Venkat
Only one design is coming in my mind. Here is the approach
For the interface between system A to B
1. Create a table with two fields in abap stack of PI and then in the request message mapping perform a RFC look up and save the entire source xml as a string in one field.In the other field use any value which can uniquely identify the entire source xml , example vendor number , PO number etc.
2. In the response mapping, check if the response is successful or not. If successful, then perform one more RFC look up to get the source xml data and then save it as a file in a NFS directory or FTP server.
Create one more async interface which will read the file that has been saved by the previous interface and then send it to system C.
Hi Indrajit,
Thanks .We have already proposed 3 solutions .Waiting for confirmation from architect .
1)RFC lookup
2)JDBC lookup by storing in PI internal d/b
03)File lookup
Storing file(request payload from A system) in PI local server in folder A (filename_currenttimestamp) while executing request mapping .In response mapping if it successful then we are moving to other folder say B and delete the existing file in A folder .
If the response is fault then we are simple deleting the file in A folder.
New file to soap interface which polls the folder B and picks the file and process to C machine.
Regards
Venkat
User | Count |
---|---|
93 | |
10 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.