What is the Difference Between SAP PI and PO?

Do you feel like there is a complete overhaul of the SAP middleware every 3 days? Ever wondered what are the differences between XI, PI and PO? Well, you are not alone! There have been major changes to SAP middleware XI/PI/PO in its lifetime. From first introduction of SAP XI in 2002, SAP has completely changed the architecture with their major version upgrades.

As an integration consultant you have to not just keep up with the new PI/PO technology and architecture changes, but be ready to deal with hundred new abbreviations that come with it. IE, IS, IR, ESR, AE, AAE, AEX, ccBPM, NWBPM?! Do not worry, I am not trying to confuse you more with these abbreviations. Not only will we compare the differences between SAP eXchange Infrastructure (XI), Process Integration (PI) and Process Orchestration (PO), but also look at different components that belong to each version. Also, we will compare new components available in SAP PO and what components have become obsolete in PI/XI versions due to the introduction of java only PO architecture.

For us to understand the differences between XI, PI and PO, first, we need to look at main functionaries of middleware,

 

What is Middleware:

  • Connectivity: Which protocol to use – SOAP, FTP?

  • Routing: Who are the receivers of the message – Multiple receivers? Condition based routing?

  • Transformation: What kind of conversion or mapping required? XML to text?

  • Runtime:  messages monitoring and security

  • Workflow (BPM): How to execute a series of steps? Integration scenario with a Purchase Order approval process?

SAP has been able to cover all these areas successfully with SAP PI/PO middleware solution.

 

Overview of SAP Middleware Versions:

First SAP eXchange Infrastructure (XI) was introduced in 2002 with version XI 2.0. This was a dual stack option with ABAP and Java stacks. After a few versions of XI, SAP introduced SAP Process Integration (PI) 7.0. PI single stack only installation option was introduced with PI 7.3 in 2010. Finally, in 2011 SAP introduced PO (Process Orchestration) with version 7.31.

evolution-xi-pi-po-history-versions
Evolution and history of SAP XI, PI and PO and their versions

To understand the differences between these versions, let’s look at the major architecture changes of each.

 

SAP eXchange Infrastructure (XI) Architecture Overview:

overview-exchange-infastructre-xi
Overview of the eXchange Infrastructure

SAP eXchange Infrastructure (XI) contains Adapter Engine (AE), Integration Engine (IE), and Business Process Engine (BPE). It was installed on a dual stack Netweaver installation with ABAP and Java stacks.

  • AE – Adapter Engine

As the name suggests, the main purpose of this component was to provide connectivity functionality. Adapter engine provided capabilities of talking to different communication protocols using different adapters.

  • IE – Integration Engine

SAP XI component which was responsible for transformation and routing of the messages. Integration Engine also provided a runtime to the message communication. In XI heavy message processing was done through IE as each message was routed, transformed and executed by this component.

  • BPE – Business Process Engine

Engine which executed ccBPM (Cross Component Business Process Management) workflows. ccBPM is based on Business Process Execution Language (BPEL) and required a dual stack installation as its runtime enviornment was on Web AS ABAP.

Drawbacks and Challenges with eXchange Infrastructure (XI):

One major drawback of XI inefficient performance due to back and forth communication between components. Also due to the dual stack arcitecture and multipole components, message persistence impacted the performance.

 

SAP Process Integration (PI) Architecture Overview:

With SAP introducing Advanced Adapter Engine (AAE), PI was able to process messages end to end without Integration Engine (IE) runtime. This reduced the cross communication between components and improved performance massively.

  • AAE – Advanced Adapter Engine

process-integration-pi-architecture-overview-aae
Process Integration (PI) Architectre Overview with AAE

AAE has capabilities to handle routing, transformation and connectivity which were segregated to different components in SAP XI. Integration Configuration Object (ICO) was introduced for design time instead of traditional XI objects such as sender agreement, receiver determination and receiver agreement. ICO made it possible to connect, transform and route message in AAE without Integration Engine (IE) runtime. Also, dual stack message persistence was eliminated since ICO scenarios were executed independently by AS Java.

Drawbacks and Challenges of PI with AAE

Although PI installation with AAE  enhanced performance in comparison with XI, still improvements were needed to extend connectivity and performance. AAE could only handle limited set of connections and still required IE runtime for development and administrative purposes. Plus, RNIF adapter and the CIDX was not available in AAE. Also, earlier versions of AAE did not include iDoc and http adapters since they belonged to ABAP stack. Moreover, BPE still required ABAP stack for runtime as it was ccBPM. As you notice, although performance was improved compared to XI, SAP couldn’t completely decouple the need of Integration Engine (IE).

  • B2B Add-on

B2B add-on was also introduced to PI with versions PI 7.1. B2B comes with a set of B2B protocol adapters, converter modules and B2B infrastructure services for serving the EDI integration needs of most industries.

  • AEX -Advanced Adapter Engine Extended

process-integration-architecture-overview-aex
Process Integration (PI) Overview with Advanced Adapter Engine Extended (AEX)

Finally, with SAP PI 7.30 version SAP eliminated the need of Integration Engine (IE) and introduced the Advanced Adapter Extended (AEX). AEX is a single engine which includes Enterprise Service Bus (ESB), Integration Directory (ID) and AAE capabilities. With AEX, PI became a Java AS only installation and SAP completely decoupled ABAP stack. Also with PI 7.3 SAP introduced iDoc_AAE adapter and http_AAE which run on Java. The complete removal of ABAP stack is a major change in the SAP PI architecture.

Drawbacks and Challenges of PI with AEX

Although PI with AEX improved performances by completely decoupling ABAP stack and the need of Integration Engine (IE), it did not include Business Process Management (BPM) capabilities.

 

SAP Process Orchestration (PO) Architecture Overview:

process-orchestration-po-overview
Overview of the Architecture of Process Orchestration

To overcome all these challenges with PI, SAP released Process Orchestration which was a Java only installation. Yes! No ABAP stack installation was availabe from PO 7.31. Plus, with new PO version SAP has added fully functional Netweaver Business Process Management (NW BPM) and Business Rule Management (BRM) which were fully executable on Java. Therefore, Process Orchestration (PO) is a combination of Process Integration (PI) with AEX, Business Process Management (BPM) and Business Rule Management (BRM) which only runs on Java.

  • NW BPM – Netweaver Business Process Management

Unlike ccPBM, NW BPM runs on Java-based environment called CE (Composite Environment). Also, NW BPM uses Business Process Model Notation (BPMN) language while ccBPM uses Business Process Execution Language (BPEL). Although ccBPM design time was on ABAP stack, you require Eclipse based tool NWDS (Netweawer Development Studio) for NW BPM. Even if you have extensive experience in ccBPM, you need to start learning NW BPM from scratch.

  • BRM – Business Rule Management

Business Rule Management (BRM) contains modeling capabilities targeting business analysts. Rules are owned by LoB not by IT.

 

Summary:

To conclude, SAP PO contains all the functionalities of PI, plus BPM and BRM in a single Java stack. I hope you were able to visualize the evolution of SAP middleware. By looking at the history of changes to SAP middleware architecture from XI to PI to PO, you can see the reasoning behind these changes. If you have any more questions comment below!

 

TECH GADGETS I USE EVERY DAY

These are some of the tech gadgets I use every day. If you make a purchase through these links I will earn a small comission at absolutely no extra cost to you.

35 thoughts on “What is the Difference Between SAP PI and PO?

  1. ssamatha says:

    Hi Fernando,

    In 7.31 we can see sxmb_moni in ECC. Though is is just sap transaction code, it is showing the PI messages. So was sxmb_moni is part of JAVA or ABAP? Can you please share your knowledge on sxmb_moni.

    • Isuru Fernando says:

      Hi Samantha,
      SXMB_MONI is used to monitor and reprocess XML messages in the local Integration Engine. How you monitor messages processed in the Integration Engine in ECC or ABAP stack is through SXMB_MONI. You configure it using transaction SXMB_ADM.

  2. ssamatha says:

    Hi Fernando,

    Thanks for your reply.Can you please answer below one.
    1.In 7.31 which is single stack, how can we have abap stack (sxmb_moni)..do you mean sxmb_moni is only for ecc and not belongs to PI at all?if so can you please say what is local integrtion engine and its uses.

    • Lakshman says:

      In dual stack Sxmb_moni t code uses for the ecc or abap stack.To find messages are processing or not in integration engine level. In 7.31po single stack runs java stack only so there is no need to use sxmb_Moni t.code.

      • Isuru Fernando says:

        SXMB_MONI is available in all SAP ABAP stacks like ECC, AFS, S4 HANA etc , not just in PI ABAP stack of dual stack PI. Even if PI is a single java stack version, if you have a ABAP backend system, SXMB_MONI can be used to monitor messages in backend system.

  3. Ed says:

    We are migrating to SAP PO. We have a middleware EDI translator and need to convert the flat file IDOC to and XML IDOC for PO. Is it now possible for PO to di this? Both inbound to SAP PO and out of SAP PO to the middleware?

    • Isuru Fernando says:

      Hi Ed,

      There are several options to handle EDI messages in SAP PO. You can either use B2B Integration Cockpit which comes as an add-on. With B2B cockpit you might be able to scrap the use of EDI translator and use the cockpit as the translator. It handles multiple EDI formats such as X12, EDIFACT etc.

      Or you can keep the EDI translator and use SAP PO for pass through or receiver determination (rule based routing).

      Check my blog post on how to install B2B Cockpit.

      Cheers!
      Isuru

  4. Pavan says:

    Hi Isuru,

    Very simple and nice content with so much of information.
    Excepting few more blogs.
    Please share SAP CPI knowledge as well.

    Regards,
    Pavan

  5. Densil Green says:

    I have many years of ABAP experience, but I have never had to use SAP PO until now.
    On my current assignment I need to change an existing interface.
    What transaction do I use to view an interface; and which transaction do I use to change an interface?
    Is it SXMB_MONI to view an interface and SXMB_ADM to change an interface?
    The main change I need to make is add a field.

    • Isuru Fernando says:

      Hello Densil Green,

      In order to view existing interfaces you need access to SAP PI/PO. Which version of PI/PO do you use? Usually, you access existing interfaces using Java Swing Clients or NWDS. This totally depend on the version you are using and your interface development procedures of your organization. So first get access to PI/PO clients. Then you can change the interface message format from Enterprise Service Repository. SXMB_MONI is a transaction where we can monitor Proxy interfaces. SXMB_ADM is a admin cockpit for interface configuration. They are ECC transactions and you cannot use them to change interface (add/remove fields). Interface message structure and mapping can be changed only from SAP PI/PO clients. if your scenario is a proxy interface, when you change the interface in PI/PO proxy should be regenerated in ECC side using SPROXY. When the proxy is regenerated, proxy class will include the new fields you added to the interface. After this step, you can implement the ABAP logic for the new field in the proxy class. Hopefully this helps!

      Cheers!

  6. Mathias Mulumba says:

    Hi Fernando,
    Great article!,
    i wanted to know what changes can a user with SAP_ALL profile make to the data that is routing through SAP PI and is the data closed from amendments .If the data cannot be amended during the routing process?, how is it protected from modification?
    Can a user with SAP_ALL access change the interface routes resulting in the messages going in different directions

    • Isuru Fernando says:

      Hello Mathias,
      Thank you!
      In PI users cannot edit message payload and reprocess them. But user can use “copy’ function in the message monitor to duplicate messages. That is another message can be created from a message. Also, Using PI test tool users can process messages manually. Using this test tool, users can directly copy the payload and process them. You need to make sure only super users or authorized users have access to these options in production environment.
      Hope this explanation will be helpful!
      Cheers!
      Isuru

  7. Zia says:

    Hi Mr. Isuru Fernando,

    I am new in ABAP and i have got the task to coordinate and suggest PI upgrade strategy to BASIS team of my organization. The senior resource has developed all scenarios way back since 2013, and some in 2015. There are some scenarios running in SAP PI, I got the understanding that SAP NW running is 7.4 and SAP PI is running 7.0 whose End of Maintenance was 2017. My organization wants to upgrade it to the version (But No SAP PO) so that End of Maintenance could be extended to a maximum date. Now I want to understand
    1. What i need to do to check whether all scenarios are built on single stack or in different stacks. How to identify them.
    2. Can I do something like export all objects/ scenarios and simply import into new fresh installed SAP PI version?

  8. Dharmaraj says:

    Hi Isuru,
    Really a good blog. Basically I am SAP Portal consultant and i want to convert to PI/PO consultant. your blogs are explained very well and easy to understand the difference of PI/PO advanced features.
    I would like to hear from you about the difference of HCI & CPI..both are same? or any functional difference are there?

    Regards,
    Dharmaraj
    dharmarajsrec@gmail.com

    • Isuru Fernando says:

      Hello Dharmaraj,

      Thank you! 🙂

      Products HCI and CPI essentially provide the same functionality. SAP has rebranded HCI (HANA Cloud Integration) as CPI (Cloud Platform Integration). SAP HANA Cloud Integration is now called SAP Cloud Integration.

      Cheers!
      Isuru

  9. Rashmi says:

    Hi Isuru,

    I am still confused between PI and PO. Please help to clarify my down…
    I have worked on PI (AEX) where I downloaded NWDS and connected it to my AEX server then developed some NWBPM scenarios, deployed it and they were running successfully…

    What exactly difference between PI (AEX) and PO….. Please help to understand it.

    – Rashmi

  10. syed shamomhammad says:

    Hi Fernando ,
    Unbelievable Information and easy explanation. Its making me feel like “that’s it!”.
    Thank you.

  11. Sangam Ludhani says:

    Hi Isuru,
    Great explanation, complex things explained in simple way.
    Its time to enhance this blog and include CPI capabilities as well. It would be great for audience to understand the SAP Integration in cloud with On premise comparison.
    – Sangam

  12. Kishore says:

    Very nice article Isuru.
    I have attended a few training sessions for PI/PO on the Basis side and I can co-relate the stuff you have mentioned here.

Leave a Reply

Your email address will not be published. Required fields are marked *

Get the latest tips and tricks on SAP!