One of my colleagues has recently approached me with a question: what happens if the customer doesn’t want the use of the PI system for certain scenarios? We usually stick to the idea that communication needs to be done directly through the PI system – but should consultants force the use of PI for every scenario?
In a PI scenario there is a pass-through (no mapping) interface at work. One of its requirements is that all connections go through the SAP system. The main advantage of this comes from the fact that monitoring becomes easier. You are able to see what RFC (Remote Function Call) calls are made and what load processes are taking place. If you know everything that is happening, working on the architecture also becomes easier. You also have the ability to execute the reprocessing of failed messages (asynchronous messages).
The PI system also makes it easier for clients to execute a call. They can use an SOAP service to call the system and there is no need to use other protocols. Load balancing is also allowed by the PI system, limiting the number of concurrent calls to the back end. In the case of long duration calls, this can make the ERP system less loaded. If several systems are used, it is easiest to use PI and move the processes from this system to multiple other systems.
Now let’s discuss the possible drawbacks of the exclusive use of PI. Obviously, a major drawback is the single point of failure. If the PI system is down, nothing works. This can cause some organizational problems. On the flip side, there is only one system that needs to be maintained.
Extra development work is also needed – you need to find solutions for various issues and develop new scenarios (this is good news for consultants, who are kept busy). Needless to say, performance RFC threads will put some extra load on the system and costs will rise if all requests are sent through the PI system. You might also have a problem with too many threads running at the same time. If that’s the case, you will need to do some performance tuning. If you need to do some changes in the area of RFC calls, you will find that changing the endpoint is a rather easy task to complete.
When developing, you should be able to tell whether in some cases the same architecture should be used. As a professional, you have to figure out the ideal solution for every situation. You also need to allow businesses to say ‘no’ to use the PI system for some scenarios.