Many times I received requests over the possibility of the standard monitors in XI/PI. Often there are simply and obvious questions, but it’s very hard to satisfy all the requirements only with the standard tools.
Here some examples of critical questions or requirements (you should have many others similar):
• What is the result of the execution of my entire file? I sent many messages in unique file to XI, really I don’t know how many messages them are, but I want to know when the elaboration of the whole package will be finished in the destination system. And if the result is positive or not. So after that I’ll send another file related to a second process. You can image a typical case when the first execution is for master data and the second is for transaction data.
• How I can easily know the kind of applications error and the relevant message text happens in the destination system.
• The messages in error (where them are, in XI/PI or in the destination system) must be corrected (i.e. modified in the payload) and re-executed.
So, no news, generally the customer wants a monitor ad-hoc for the some or all the reasons described before.
Here, my intention is to collect the experiences in this contest in order to map the different custom solutions developed by macro caracteristics and features.
So, which are the major features of the solution and also the constrains and the limits.
Subsequently I’ll ask your contribution trough a predefined questionnaire (googledocs).
I try to define the key-points as following.
• Where is located code/service of monitor solution? (In PI itself or in PI but in dedicated client, in an external WAS system, in one of the destination/receiver system, in another non-SAP system).
• Volume of message per day traced in the custom monitor.
• Number of interfaces managed
• The effort in terms of man/days to develop and release the solution.
• Tecnology used for the Monitor UI (BPS, Web dynpro Java, Web dynpro ABAP, ABAP ALV,…)
• Are integrated others middelware in the same monitor? ex. eGate, MQ series,…
• Is possible to detect the complete execution of a set of message (for the same interface but without usage of BPM)?
–> When the sender system send a set of messages is necessary to know when in the destination system is completly executed.
• Is possible to detect the complete execution of a process (composed by more than one interface)?
–> This feature is covered with the BPM but we want the information also in the monitor without the usage of BPM.
• Is monitored the status of the message in the receiving system? (executed, in waiting, in error, and so on)
• Is possible in the monitor tool to re-process a message in error? and in which layer?
- Integration Engine (not in BPM)
- Adapter Engine
- Destination system (SAP) for Idocs and Proxy
- Destination system (SAP) but not for all the tecnologies
- Destination system (non-SAP)
• Is possible to re-start a message in error in the destination non-SAP system? And which technology is used?
• Does the monitor have the possibility to change the payload of a message in error status? And where in the IE layer or in the destination system?
–> Yes, it’s little bit strange, here we cannot have the correct message re-sent from the sender system, so we need to modify the payload to have a correct posting of message in reciver system.
Limitations and constrains
• Into every message mapping is necessary to add a piece of code to trace the message.
–> i.e. for every integration between application you need an extra-effort (little or not little) of work.
• The solution needs to add into every communication channel a custom module to trace the message execution.
• Into every interface is necessary to extend the data structure to add some informations (GUID, message type, and so on) to contain them directly in the payload.
–> i.e. on every service or interface exposed from a backend system you need to modify or extend the structure and the extractor methods, so no standard method of SAP or non-SAP system can be used as them are in origin.
• How the result of the message execution in destination system is monitored? With an acknowledgement standard () or acknowledgement custom (made for the monitor) or a job collector of data in the destination system or an RFC called from the Monitor system to read the data …….
• Which kind of information is necessary to replicate in custom tables of monitor? (only status/part of header message/SOAP header/enteire message….)