Did you manage to implement it? Was it difficult and time consuming?
On many XI presentaion slides you can see that XI offers a full message error
handling from sender to the receiver. This is true to some extent. Have a look at the picture below.
Exchange Infrastructure can handle different types of errors only when the message leaves
the Legacy system. What if messages don’t leave it – meaning that the outbound adapter
doesn’t even know that something should arrive. It can be an error in the Legacy system’s
middleware but do we need to know about it? Of course we do, as if the messages
don’t reach the Exchange Infrastructure the ERP, R/3 system will not get the necessary business data
and the sales order (or any other business documents) may be stopped.
What can we do with such a situation if the Exchange Infrastructure doesn’t even know that
something should come? We can make XI aware of the fact that something should arrive.
How can we do it?
We can use light event messages and standard XI collect patterns for example.
Since we can easily send an event message after Sales Order creation in the ERP, R3 system
as shown in XI: BAM – Episode I – Introduction
we can use an XI collect pattern to check if a certain (or any) number of messages
reached the XI server.
More about the collect pattern on: Example: Collecting and Bundling Messages – One Interface
What can be done to implement the proactive monitor:
– we can define a deadline branch (timeout branch) which will
be executed after a few hours – if the loop won’t be executed
a number of times (let’s say 500 as we expect 500 Sales Orders per day)
during the time defined in the deadline branch you will get an alert message
that too few Sales Orders arrived today and probably there might be an error
on the legacy system side.
– you can start the BPM every morning via a dummy message – scheduled abap report (RFC, PROXY)
and this way you can check if any sales order message arrived to the BPM
to start the loop – if none at all, it will also invoke the deadline branch
These are just a few ideas how you can implement a simple proactive monitor
but before you do it you need to take into consideration a few things:
– can you allow do have a running BPM instance with the collect pattern
(even though you will use a very light event messages – with only a few fields)
this might not be appropriate if your XI server is under very heavy load.
– you need to think how you want to start your BPM (via additional message,
with the Sales Oders only) and what will be be the ending conditions
(deadline branch, other scheduled message) and also what to do with days if no SO should arrive.
I hope this weblog will be a good start for a simple proactive monitor conversation at your companies
as many of you will probably sooner or later want to develop something similar
that will allow you to monitor messages that never reached your XI servers.