Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
cancel
Showing results for 
Search instead for 
Did you mean: 
rhviana
Active Contributor
Hello you,

Good?

So once again I'm here now to talk about a very interesting feature of SAP PO on-premise - deploy the integration scenarios from SAP CPI on SAP PI/PO - Single Stack java, this blog it's just to show you the Hybrid Architecture perspective using SAP products for cloud and on-premises.

Before we start to discuss it, please take some time on the blog of alexander.bundschuh that he wrote a fantastic blog with best practices and others of Hybrid Integration

Blog:


Best practices Cloud Integration Content in SAP Process Orchestration


Wait.. really?


Are you saying to me that I can develop the integration scenario on CPI and deploy the package (engine of SAP CPI) on SAP PI or PO 7.5 - Single stack java - and works perfectly even without SAP PO don't support without some standard functions of CPI as General Splitter and others that you will see below ?

Yes, you can manage this with Enable Cloud Integration Content in SAP Process Integration on SAP PI or PO - On-premises.

Perspective:

Architecture - Cloud / On-Premises and Hybrid:



Hybrid Integration :




SAP Hybrid Integration - Cloud Connector or SAP PI/PO Runtime:



  • SAP Cloud:

    • CPI - Neo

    • EM - Foundry





  • SAP On-Premises:

    • PI - Process Integration

      • Components: SLD,ID,ESR,Monitoring



    • PO - Process Orchestration

      • Components: SLD,ID,ESR,BPM,Monitoring






 

SAP Diagram Perspective:



Are you ready?


Ok, I think so, you need make some setups on SAP PI or PO, I already provide the link of SAP HELP also the blog of alexander.bundschuh - that he provides all setup and notes and details, after you deploy this Cloud Integration Content you will be able to see a button on your main screen login of PI/PO.



1) Cockpit

As you see in the cockpit I already deploy one PACKAGE from SAP CPI.



When you click on the button DEPLOY, you will have three options to deploy:

  1. Cloud Tenant via Destination

  2. Cloud Tenent via URL

  3. File System


Click on next and SAP PI/PO will load all Packages on SAP CPI available.



Open the integration Package and you will have the view of the Artifacts from SAP CPI, choose and click each Artifact you want to deploy on SAP PI/PO.





After deploy you will be able to see the ENDPOINT's available on SAP PO.

The integration Scenario SAP CPI:



 



You choose an on-premises solution and decide to deploy it on CPI, will works?

No, don't mix up.



Choose the correct version of the on-premise solution that you have with the correct SP level.



Wow, this is a simple scenario but nice I see the integration patterns from CPI as:

  • Content Modifier

  • General Splitter

  • Loop another process 

  • Request-Replay

  • Gather XML 

  • XSLT - CPI Native Compile Engine

  • Content Modifier

  • Grovvy Script for Logging - CPI Native Compile Engine


Comparisons of SAP CPI vs SAP PI/PO:



Sorry but some of this functions it's not native on SAP PI/PO when you deploy the package of the Artifact from SAP CPI it will work without any extra development of java mapping (Groovy script on the cloud) and BPM to loop another process.

The answer is: YES

Wait, even groovy script will be deployed on SAP PI/PO will works? Yes, it will keep as groovy, not java mapping or UDF, check the code and image below of the logging:


The groovy script it's setting up the attachment:
import com.sap.gateway.ip.core.customdev.util.Message;
import java.util.HashMap;

def Message processData(Message message) {
def body = message.getBody(java.lang.String) as String;
def messageLog = messageLogFactory.getMessageLog(message);

if(messageLog != null){
messageLog.setStringProperty("Logging after Mapping", "Persist Message as Attachment to Log")
messageLog.addAttachmentAsString("01_PersistPayload", body, "text/xml");
}
return message;
}



In this blog, I will also not cross in detail each function of SAP CPI but I will explain to you the integration itself.

CPI Scenario:


1 ) Basically, I will make SOAP call with many material numbers on the SOAP BODY

2 ) The function of the general splitter will split the calls based on the //MATERIAL.

3 ) In this case, I will have 6 materials so the LOOP Process Call will invoke the S4HANA 4 times in sequence and until the last response, he will collect all results.

4 ) Gather will receive from the loop 6 XML's and will generate only one with a merge of 4 XML.

5 ) XSLT for remove the start tags from JAVA Mapping from Gather Function.

6 ) Content Modifier.

7 ) Grovvy script

OK, I understand until now but how you define the ENDPOINT on CPI and deploy on SAP PI/PO how I will know the real ENDPOINT of On-premises?

Easy, no worries: https://{hostname:door}/igwcxf/services/{endpoint of CPI}

CPI SOAP Adapter:



Cloud Cockpit:



So let's make all together sample:

SAP PI/PO - hostname

Port:50001

Endpoint from deployment: /igwcxf/services

Endpoint configured on CPI - Soap Adapter: /CPIRuntime

Correct endpoint: https://hostname:50001/igwcxf/services/CPIRuntime

Now it's real, let's start to play?


Open your SOAP call tool, in my case SOAPUI.

Request Message:



Response:



Cloud Integration Content:



For now, in deployment perspective we have this:



You can deploy the Message Mapping - Operation Mapping from SAP PI/PO on CPI, but i could not find a pure migration toom from ICO's to CPI Flows:

Blog of MM and OM from PI/PO to CPI

Bonus information: When you deploy the integration scenario on SAP PI/PO any new changes in objects, functions or communication channel detail, you must deploy again, you can't change or see the integration scenario on SAP PI/PO.

Cloud Integration Content Management Cockpit - SAP PI/PO for JMS:



The Deploy of JMS Integration Scenario from CPI to PI/PO - perspective:



I really hope again that you like the aspects and the blog, waiting for your feedback.

Thank you.

Kind Regards,

"Viana"
18 Comments
Labels in this area