This blog show the components of SAP CPI Architecture and how they fit together in SAP Cloud Platform.
What is SAP Cloud Platform Integration (SAP CPI)?
SAP Cloud Platform is SAP’s platform-as-a-service (PaaS) offering that provides a
development environment in the cloud which enables customers to develop, deploy,
and manage applications.
SAP Cloud Platform Integration is part of the SAP Cloud Platform Service offering.
SAP CPI consists of the Integration Services:
- API Management
- OData Provisioning
- Process Integration
- SAP API Business Hub
SAP Cloud Platform Integration service helps to integrate systems on-premise to cloud and cloud to cloud applications.
If you already working on SAP Process Orchestration (SAP PO) tool then this new cloud service can integrate sap and non sap application from premise system or on cloud based applications.
SAP integration solution helps to simplify the business process with the integration flows.
SAP HANA Cloud Integration is renamed as SAP Cloud Platform Integration as part of rebranding from SAP.
You can build interfaces in SCP Integration Service that can connect to different systems based on the types of connectivity supported.
Types of Cloud Environment
SAP CPI Services runs on two types of Cloud Environment.
Those two Cloud Environments are:
- Cloud Foundry
Cloud Foundry is an open source cloud environment and SAP Cloud Platform services hosted on Cloud Foundry.
Cloud Foundry Environment supports Azure, Google and AWS Infrastructure.
SAP offers Free trail for selected services on SAP Cloud Platform in the Cloud Foundry Environment.
SAP maintains Neo Cloud Environment and it contains SAP propriety runtime.
Neo Cloud Environment supports all the SAP Cloud Services because SAP maintains it.
That is the reason, majority of enterprise host their services on NEO environment maintained by SAP.
SCP services runs on Neo and Cloud Foundry with some differences. Read here.
SAP CPI Software Editions
SAP Cloud Platform Integration comes in different Editions that you can choose to use.
Clustered Virtual Platform
A virtual machine (VM) is a software implementation of a machine that executes a program like a physical machine.
VM (Virtual Machine) Software allows you to run an operating system based on defined hardware specification.
You can choose to have 10 VM runs on one Single Hardware by sharing the resources.
Cluster means group of computer that acts as a Single Computer.
You can define to manage multiple computers to run a one application.
Advantage of Cluster to make sure application has high availability even if one of the computer is down.
SAP Cloud Platform supports VM and Clustered Environment.
SAP maintains a high end server at the cloud environments and many Virtual Machines are created that share the same underlying hardware.
You can choose to have multiple VM running the same interface in the clustered environment.
Clustered Virtual Platform makes our Interface runs 24 x 7.
Account & Tenant
There are two types of Accounts when you purchase the license of SAP CPI.
- Global Account.
- Sub Account.
Global Account get you access to the SAP Cloud Platform.
Sub Account is associated with instance that you have purchased from SAP.
Sub Accounts are like DEV, QA and PROD Environments that you can choose to define the hardware specs, location of the server, number of clusters and other cloud features.
So, you pay per sub account and each sub account is linked to one physical location with defined specification.
All the services, application and data hosted per one sub accounts.
What is a Tenant?
Tenant is a logical entity that group these 3 things:
- Sub Account
- Application Context.
One Tenant is linked to One Sub Account for specific participant within the application content.
Each Tenant has its own Virtual Machine.
So, Two tenants cannot really club together even though they share the same underlying hardware.
You can choose to host the SCP services on each tenant.
Multi Tenant Capabilities
SAP Cloud Platform is hosted in the cloud environment where one PC holds a massive amount of CPU, RAM, Disk space and IT resources.
Every customer share the same hardware by creating their own Virtual Machine as a Tenant.
When Customer purchase a license for Sub Accounts / Tenant a shared resource VM is created for them based on the underlying hardware.
This way multiple customer can get to share the same underlying hardware with a dedicated VM.
Multi Tenant Capabilities means ability to host multiple tenant on the same underlying hardware and make sure each tenant are independent.
Every customer gets it own Tenant by purchasing the license with define hardware spec and services.
Tenant Isolation means making sure multiple tenant that are using the same underlying hardware does not share the same data.
Having multiple tenant on same hardware gives an impression that they share the same software so one tenant can access another tenant but it is not the case.
Tenant Isolation make sure that each customer data is safe and security and does not get pirated by other tenant on the same hardware.
As every tenant runs on its own Virtual Machine it is not possible to share the data.
Every Tenant has its own Virtual Machine which is nothing but Java Virtual Machine (JVM) Environment.
Tenant Clustering means able to run tenants on different environment and making sure they share the same data and application.
Example, if you have build an iFlow and you want it to run even though the tenant is down or cloud location is down for maintenance.
Then you implement the same tenant on different cluster and make sure other tenant is automatically available when one of the tenant is down.
Horizontal scaling is a concept of cloud computing that make sure you can increase or decrease the server capacity with click of a button.
You can add RAM, increase CPU or add disk space without bring down the system.
This is possible SCP runs in VM environment which is not a physical representation of hardware but it is logical which means you scale the computer resource up and down anytime.
SAP Cloud Platform at one location runs on single database at one specific location.
Each tenant that every customer creates gets its own schema in that database.
This way customer data is unique to its own tenant and database schema.
SAP Cloud Tenant is fully security environment at the hardware level via the VM and database layer via the Schema.
SAP CPI Architecture
SAP CPI Architecture is divided into two integration nodes:
- Tenant Management Node
- Runtime Node
Tenant Management Node:
Here are the responsibilities of Tenant Management node:
- Manages the Runtime Nodes.
- Start and Stop Runtime Nodes.
- Read the Montoring Data written by Runtime Node.
- It has a Dashboard that you access from Cloud Platform.
- TMN provides front end editor where integration developer or administrator performs task like deploying artifacts, user creation and roles management.
- Upgrade of Nodes
- It manages the Failover Capabilities.
- It has the Java Virtual Machine. (JVM)
- Your iflow runs in this JVM node.
- It has the Integration Runtime Engine.
- This node manages the message processing, audit log and saving the message.
- Interacts with the external systems via the Load Balancer.
SAP Cloud Platform Landscape
This is the SAP CPI Architecture and its Components:
SAP hosts the Load Balancer for all the incoming and outgoing connection before it reaches to your runtime node.
A BIG-IP server is used as a load balancer in SAP Cloud Platform Integration.
BIG-IP is a product developed by F5 Networks.
All the connection made via the load balancer is over HTTPS protocol to ensure message security.
Types of Data Stored
There are two types of data that is been stored:
- Monitoring Data
- Message Content
Monitoring data is like the audit log of what happened during the message processing.
Runtime Node writes the Monitoring Data to the database when it is processing the message.
Once that data is available in the database, then you can monitor it via the SAP Cloud Platform Dashboard.
Reading the data from the database and showing it to the user is done by the Tenant Management Node.
Message Content is the actual payload that is received from the source system or sent to the target system.
Entire message is stored in the database even during the intermediate step in the iflow for temporary purpose.
Integration developers can create dedicated steps in the integration scenarios (iflow) to store message content.
Messages are stored for debugging or tracing purpose. The default data retention period is 90 days.
Cloud Integration software updated monthly by SAP.
The following applies for software updates.
- SCP Software updates done by SAP.
- When SAP is updating the software, your interface will not be affected.
- SAP ensures that deployed integration flows continue running after the update. (Backward Compatibility)
SAP CPI Architecture Summary
- SAP CPI helps to manage your Bi-directional integration to connect your cloud applications and enterprise applications on premise.
- You get an Account for SAP Cloud Platform.
- Then you purchase a license for specific services with defined server capacity.
- Once you purchase a license you get access to a sub account.
- Sub Account is linked to one location with limited system capacity.
- You need to create multiple sub account for DEV, QA and PROD.
- You can choose to select the hardware spec for each of the Sub Account.
- Tenant created after purchasing the sub account license.
- Each Tenant consists of Virtual Machine which runs the Integration node.
- Every Tenant has a Java Virtual Machine which executes your iFlow and monitor the message.
- Every Tenant of SAP CPI has two node
- Tenant Management Node
- Runtime Node.
- Main purpose of Tenant Management Node to access the runtime components of SAP Cloud Platform and provide a dashboard for user to perform some operation on it.
- iFlow executed in Runtime Node.
- All internal and external communication from Runtime Node happens with the SAP Cloud Platform Load Balancer.
- Every Runtime Node has a Java Virtual Machine.
- iFlow deployed on Runtime Node and Executed on Java Virtual Machine.
- Message Monitoring and Message Data stored for debugging, tracing and audit log purpose.
- SAP automatically update the SAP Cloud Platform on monthly basis.