SAP HELP LINK INDEX SAP CPI AND PI MIGRATION
1
2
What Is SAP Cloud Integration?
2.1
Key Features
2.1.1
Integration Capabilities
2.1.2
Using Predefined Integration Content
2.1.2.1
What Is Integration Content
2.1.3
Connectivity (Adapters)
2.1.3.1
Connectivity Options and Communication Security
2.1.4
Elements of a Cloud-Based Integration Scenario
2.1.5
Tool Access
2.1.6
Partner Directory
2.2
Licensed Capabilities and Features
2.3
Software Update
2.4
Operating Model
2.5
Quality Assurance
3
What's New for Cloud Integration
3.1
Archive - Release Notes for SAP Cloud Integration
3.1.1
2022 What's New for SAP Cloud Integration (Archive)
3.1.2
2021 What's New for SAP Cloud Integration (Archive)
3.1.3
2020 What's New for SAP Cloud Integration (Archive)
3.1.4
2019 SAP Cloud Integration (Archive)
3.1.5
2018 SAP Cloud Integration (Archive)
3.1.6
2017 SAP Cloud Integration (Archive)
3.1.7
2016 SAP Cloud Integration (Archive)
3.1.8
2015 SAP Cloud Integration (Archive)
3.1.9
2014 SAP Cloud Integration (Archive)
3.1.10
2013 SAP Cloud Integration (Archive)
3.2
Patch Releases for Cloud Integration
3.3
Archive - Patch Release Notes for Cloud Integration
4
Initial Setup
4.1
Initial Setup of SAP Cloud Integration in the Cloud Foundry Environment
4.1.1
Subscribing to Process Integration
4.1.2
Configuring User Access to Cloud Integration
4.1.3
Provisioning the Tenant
4.1.4
Creating Service Instances
4.2
Initial Setup of SAP Cloud Integration in the Neo Environment
4.2.1
Logging on to SAP BTP Cockpit
4.2.2
Creating a Subaccount
4.2.3
Enabling and Configuring a Tenant
4.2.3.1
Disabling a Tenant
4.2.4
Authorizing Users or User Groups
4.2.4.1
Assigning Users and Roles
4.2.4.2
Assigning User Groups and Roles
4.2.4.3
Adding New Administrators (Optional)
4.2.5
Verifying Access for Users
4.2.6
Security FAQs
4.2.6.1
Transport Level Security
4.3
Environment-Specific Aspects Integration Developers Should Know
4.3.1
Connection Setup for Inbound Communication - Integration Flow Endpoints
4.3.2
Connection Setup for Inbound Communication - for API Clients
4.3.3
User and Authorization Management
4.3.4
Setting Up Content Transport
4.3.5
Adapter Development
4.3.6
Audit Logging
4.3.7
Environment Variables
5
Connecting a Customer System to Cloud Integration
5.1
Introduction
5.1.1
Connecting to an On-Premise Landscape (Example Setup)
5.2
Configuring Inbound Communication
5.2.1
Configuring Inbound HTTP Connections, Cloud Foundry Environment
5.2.1.1
Configuration Checklist for Inbound Authentication
5.2.1.2
Creating Service Instance and Service Key for Inbound Authentication
5.2.1.2.1
Specifying Service Instance and Service Key Parameters in JSON Format
5.2.1.2.2
Service Key Types
5.2.1.2.3
Managing Service Instances and Service Keys Using an API
5.2.1.3
Setting Up Inbound HTTP Connections (Integration Flow Processing)
5.2.1.3.1
Client Certificate Authentication for Integration Flow Processing
5.2.1.3.2
OAuth with Client Credentials Grant for Integration Flow Processing
5.2.1.3.3
Basic Authentication with clientId and clientsecret for Integration Flow
Processing
5.2.1.3.4
Basic Authentication of IdP User for Integration Flow Processing
5.2.1.4
Setting Up Inbound HTTP Connections (for API Clients)
5.2.1.4.1
Client Certificate Authentication for API Clients
5.2.1.4.2
OAuth with Client Credentials Grant for API Clients
5.2.1.4.3
Basic Authentication of an IdP User for API Clients
5.2.2
Configuring Inbound HTTP Connections, Neo Environment
5.2.2.1
Setting Up Inbound HTTP Connections (Integration Flow Processing), Neo
Environment
5.2.2.1.1
Setting Up Inbound HTTP Connections (with Certificate-to-User Mapping),
Neo Environment
5.2.2.1.2
Setting Up Inbound HTTP Connections (with Client Certificate
Authentication), Neo Environment
5.2.2.1.3
Setting Up Inbound HTTP Connections (with OAuth), Neo Environment
5.2.2.1.3.1
OAuth Client Credentials Grant
5.2.2.1.3.2
OAuth SAML Bearer Destination
5.2.2.1.4
Setting Up Inbound HTTP Connections (with Basic Authentication), Neo
Environment
5.2.2.2
Setting Up Inbound HTTP Connections (for API Clients), Neo Environment
5.2.2.2.1
Setting Up OAuth Inbound Authentication with Client Credentials Grant for
API Clients
5.2.2.2.2
Setting Up Inbound Authentication of an IdP User for API Clients
5.2.3
Setting Up Inbound SFTP Connections
5.2.3.1
Setting Up Inbound SFTP Connections (Details)
5.2.4
Setting Up Inbound Mail Connections
5.3
Configuring Outbound Communication
5.3.1
Setting Up Outbound HTTP Connections
5.3.1.1
Outbound/On-Premise: Reverse Proxy or SAP Cloud Connector
5.3.1.1.1
Outbound: SAP Cloud Connector
5.3.1.1.1.1
Using SAP Cloud Connector with Cloud Integration Adapters
5.3.1.2
Setting Up Outbound HTTP Connections (with Client Certificate
Authentication)
5.3.1.3
Setting Up Outbound HTTP Connections (with OAuth)
5.3.1.4
Setting Up Outbound HTTP Connections (with Basic Authentication)
5.3.2
Setting Up Outbound SFTP Connections
5.3.2.1
Setting Up Outbound SFTP Connections (Details)
5.3.3
Setting Up Outbound Mail Connections
5.4
Detailed Steps
5.4.1
Setting Up SAP Identity Authentication Service as Custom IdP for Basic
Authentication, Cloud Foundry Environment
5.4.2
Creating X.509 Keys
5.4.2.1
Generating a Key Pair
5.4.2.2
Downloading a Certificate Signing Request
5.4.2.3
Requesting a Signed Certificate from a Certification Authority
5.4.3
Creating SFTP Keys
5.4.4
Maintaining the Known Hosts File for SFTP Connectivity
5.4.5
Creating Keys for Message Level Security
5.4.5.1
Creating OpenPGP Keys
5.4.5.1.1
Creating PGP Keys for Encryption (Tenant Is Sender)
5.4.5.1.2
Creating PGP Keys for Encryption and Signing (Tenant Is Sender)
5.4.5.1.3
Creating PGP Keys for Decryption (Tenant Is Receiver)
5.4.5.1.4
Creating PGP Keys for Decryption and Verifying (Tenant Is Receiver)
5.4.5.1.5
Using gpg4win to Create PGP Keys
5.4.5.1.5.1
Installing gpg4win
5.4.5.1.5.2
Creating Tenant-Specific File Directories
5.4.5.1.5.3
Starting the GPA Tool
5.4.5.1.5.4
Creating a Key Pair
5.4.5.1.5.5
Exporting the Public Key
5.4.5.1.5.6
Importing a Public Key
5.4.5.1.5.7
Using the GNU Privacy Guard Command Line Tool
5.4.5.2
Creating Keys for the Usage of PKCS#7, XML Digital Signature and
WS-Security
5.4.6
Securely Exchanging Key Material
5.4.7
Using the Connectivity Test to Get the Load Balancer Server Root
Certificate
5.5
Concepts of Secure Communication
5.5.1
Basics
5.5.1.1
HTTPS-Based Communication
5.5.1.1.1
Authentication and Authorization Options (Inbound)
5.5.1.1.1.1
Authentication Options (Inbound)
5.5.1.1.1.1.1
Client Certificate Authentication (Inbound), Cloud Foundry Environment
5.5.1.1.1.1.2
OAuth Authentication with Client Credentials Grant (Inbound), Cloud
Foundry Environment
5.5.1.1.1.1.3
Client Certificate Authentication and Certificate-to-User Mapping
(Inbound), Neo Environment
5.5.1.1.1.1.4
Client Certificate Authentication (Inbound), Neo Environment
5.5.1.1.1.1.5
Basic Authentication
5.5.1.1.1.2
Authorization Options (Inbound)
5.5.1.1.1.2.1
Role-Based Authorization
5.5.1.1.1.2.2
Subject/Issuer DN authorization check
5.5.1.1.2
Authentication Options (Outbound)
5.5.1.1.2.1
Basic Authentication
5.5.1.1.2.2
Client Certificate Authentication (Outbound)
5.5.1.1.2.3
OAuth 2.0
5.5.1.1.2.3.1
OAuth 2.0 Client Credentials Grant
5.5.1.1.2.3.2
OAuth 2.0 SAML Bearer Assertion Grant
5.5.1.1.2.3.2.1
OAuth SAML Bearer Assertion Flow Example
5.5.1.1.2.3.3
OAuth 2.0 Authorization Code Grant
5.5.1.1.2.3.4
OAuth 2.0 Used WithTwitter and Facebook Adapter
5.5.1.1.2.3.5
Adapters Supporting OAuth 2.0 (Outbound Communication)
5.5.1.1.3
Load Balancer Root Certificates Supported by SAP
5.5.1.2
SFTP-Based Communication
5.5.1.2.1
Inbound SFTP With Public Key Authentication
5.5.1.2.2
Outbound SFTP With Public Key Authentication
5.5.1.3
Message-Level Security
5.5.1.3.1
How PKCS#7 Works
5.5.1.3.1.1
Signing and Verifying a Message Using PKCS#7/CMS
5.5.1.3.1.1.1
Options to Handle Signed Data
5.5.1.3.1.2
Encrypting and Decrypting the Content of a Message Using PKCS#7/CMS
5.5.1.3.2
How XML Signature Works
5.5.1.3.3
How WS-Security Works
5.5.1.3.4
How OpenPGP Works
5.5.1.4
Certificate Management
5.5.1.4.1
X.509 Certificates
5.5.1.4.1.1
Keystore
5.5.1.4.1.2
Certificate Chains
5.5.1.4.1.3
Requirements for Keystore Passwords
5.5.1.4.2
PGP Keys
5.5.1.4.3
Known Hosts File
5.5.2
Security Elements
5.5.2.1
Security Elements (Transport-Level Security)
5.5.2.2
Security Elements (Message-Level Security)
5.6
Setting up Message-Level Security Use Cases
5.6.1
Inbound: Message-Level Security With PKCS#7, XML DigitalSignature
5.6.2
Inbound: Message-Level Security with OpenPGP
5.6.3
Outbound: Message-Level Security With PKCS#7, XML DigitalSignature
5.6.4
Outbound: Message-Level Security with OpenPGP
5.7
Specific Use Cases
5.7.1
Setting Up Principal Propagation (Example Scenario)
5.7.2
Technical Landscape for On Premise-On Demand Integration
5.7.3
Using Custom IDP with SAP Cloud Integration
5.7.4
Setting Up OAuth Configurations in Customer Account, Neo Environment
6
Development
6.1
Getting Started with Integration Flow Development
6.1.1
Overview of the SAP Cloud Integration Web UI
6.1.2
Create an Integration Package
6.1.3
Smoke Test Scenario
6.1.3.1
Add a Timer Start Event
6.1.3.2
Create a Content Modifier to Define the Message Body
6.1.3.3
Create a Script Step to Log the Payload
6.1.3.4
Save and Deploy the Integration Flow
6.1.3.5
Monitor Message Processing
6.1.4
Smoke Test Scenario with External Data Source
6.1.4.1
Create a Content Modifier to Define the Message Body
6.1.4.2
Create a Content Modifier to Add a Header
6.1.4.3
Create the Outbound OData Channel
6.1.4.4
Create the Script Step to Log the Payload
6.1.4.5
Run the Integration Flow and Monitor the Message Processing
6.1.5
Timer-Initiated Scenario with a Mail Receiver
6.1.5.1
Update the Tenant Keystore with the Certificates Required by the Mail
Server
6.1.5.2
Create and Deploy a User Credentials Artifact for the E-Mail Account
6.1.5.3
Create the Mail Receiver Channel
6.1.5.4
Monitor Message Processing
6.1.6
Sender-Initiated Scenario (with HTTPS Sender Adapter)
6.1.6.1
Authorize the HTTP Client to Call the Integration Flow Endpoint, Cloud
Foundry Environment
6.1.6.2
Create the HTTPS Sender Channel
6.1.6.3
Add the JSON to XML Converter
6.1.6.4
Send the HTTP Request and Process the Integration Flow
6.1.7
Further Sample Integration Flows
6.2
Packaging Integration Content in Cloud Integration
6.2.1
Creating an Integration Package
6.2.2
Importing Integration Packages
6.2.3
Working with an Integration Package
6.2.4
Editing an Integration Package
6.2.5
Updates for SAP's Integration Packages
6.2.6
Exporting Integration Packages
6.2.7
Backup and Restore Your Integration Artifacts
6.3
Developing Integration Content with SAP Cloud Integration
6.3.1
Basic Concepts of Integration Design
6.3.1.1
Elements of an Integration Flow
6.3.1.2
Data Storages
6.3.1.3
The Camel Data Model in a Nutshell
6.3.1.4
Using
Camel Simple Expression Language
6.3.1.5
Updating your Existing Integration Flow
6.3.1.6
Adapting Standard Integration Content to Your Requirements
6.3.1.7
Versioning of Artifacts
6.3.1.8
Restrictions
6.3.2
Working with Integration Packages
6.3.2.1
Working with Prepackaged Integration Content
6.3.2.1.1
Community Packages
6.3.2.2
Configure Multiple Integration Flows
6.3.2.3
Generating Integration Content using APIs
6.3.2.4
Add Integration Packages to the Customer Workspace
6.3.2.5
Creating Custom Tags
6.3.3
Content Transport
6.3.3.1
Enabling Content Transport, Neo Environment
6.3.3.1.1
Creating HTTP Destinations and Transport Route
6.3.3.2
Enabling Content Transport, Cloud Foundry Environment
6.3.3.2.1
Creating HTTP Destinations and Transport Route
6.3.3.3
Content Transport Using CTS+
6.3.3.4
Content Transport Using Cloud Transport Management
6.3.3.5
Content Transport using MTAR Download
6.3.3.6
Content Transport using Manual Export and Import
6.3.3.7
Handling Integration Artifacts When Reusing an Integration Flow on
Multiple Tenants
6.3.3.8
Guidelines and Best Practices for Content Transport
6.3.3.8.1
Decision Help for Choosing the Right Content Transport Option
6.3.3.8.2
Decoupling Development from Transport Using Externalized Parameters
6.3.3.8.3
Guidelines on Role Assignments
6.3.3.8.4
Content Transport - Sequence of Steps (Example)
6.3.4
Creating an Integration Flow
6.3.5
Using Flow Step Recommendation
6.3.6
Integration Flow Extension
6.3.6.1
Integration Flow Extension - Concepts
6.3.6.2
Mapping Extension Step by Step (Demo Example)
6.3.6.2.1
Standard Mapping
6.3.6.2.2
Post-Exit Mapping
6.3.6.2.3
Creating the Standard Integration Flow
6.3.6.2.3.1
Defining the Content Modifier
6.3.6.2.3.2
Defining the Standard Message Mapping
6.3.6.2.3.3
Defining the Local Integration Process
6.3.6.2.3.4
Defining the Router, Process Call, and Filter Steps
6.3.6.2.4
Creating the Custom Integration Flow with the Post-Exit Mapping
6.3.6.2.4.1
Configuring the ProcessDirect Sender Adapter
6.3.6.2.4.2
Creating the Custom Mapping
6.3.6.2.5
Executing the Scenario
6.3.6.3
Mapping Extension Step by Step (Example from SAP Hybris C4C)
6.3.6.3.1
Prerequisites
6.3.6.3.2
Creating the Pre-Exit Integration Flow
6.3.6.3.3
Creating the Post-Exit Integration Flow
6.3.6.3.4
Connecting Pre-Exit and Post-Exit Integration Flows with the Standard
Integration Flow
6.3.7
Configure Integration Flow Components
6.3.7.1
Overview of Integration Flow Editor
6.3.7.2
Define Settings for the Integration Flow
6.3.7.2.1
Specify the Runtime Configuration
6.3.7.2.2
Define Error Configuration
6.3.7.2.3
Manage Resources of an Integration Flow
6.3.7.2.4
Externalized Parameters View
6.3.7.2.5
Problems View
6.3.7.2.6
Deployment Status View
6.3.7.3
Define Process Shapes
6.3.7.3.1
Define Integration Processes
6.3.7.3.2
Define Local Integration Process
6.3.7.3.3
Define Exception Subprocess
6.3.7.4
Assign Sender and Receiver Components
6.3.7.5
Assign Adapter to Communication Channel
6.3.7.6
Consuming Integration Adapters from SAP Business Accelerator Hub
6.3.7.6.1
Import Integration Adapters
6.3.7.7
Configure Adapter in Communication Channels
6.3.7.7.1
AMQP Adapter
6.3.7.7.1.1
Configure the AMQP Sender Adapter
6.3.7.7.1.1.1
AMQP Sender for SAP Event Mesh
6.3.7.7.1.1.2
AMQP Sender for Microsoft Azure Service Bus
6.3.7.7.1.1.3
AMQP Sender for Solace PubSub+
6.3.7.7.1.1.4
AMQP Sender for Apache Qpid Broker-J
6.3.7.7.1.1.5
AMQP Sender for Apache ActiveMQ 5 and Apache ActiveMQ Artemis
6.3.7.7.1.1.6
AMQP Sender for IBM MQ
6.3.7.7.1.2
Configure the AMQP Receiver Adapter
6.3.7.7.1.2.1
AMQP Receiver for SAP Event Mesh
6.3.7.7.1.2.2
AMQP Receiver for Microsoft Azure Service Bus
6.3.7.7.1.2.3
AMQP Receiver for Solace PubSub+
6.3.7.7.1.2.4
AMQP Receiver for Apache Qpid Broker-J
6.3.7.7.1.2.5
AMQP Receiver for Apache ActiveMQ 5 and Apache ActiveMQ Artemis
6.3.7.7.1.2.6
AMQP Receiver for IBM MQ
6.3.7.7.2
Ariba Adapter
6.3.7.7.2.1
Configure the Ariba Sender Adapter
6.3.7.7.2.2
Configure the Ariba Receiver Adapter
6.3.7.7.3
AS2 Adapter
6.3.7.7.3.1
Configure the AS2 Sender Adapter
6.3.7.7.3.2
Configure the AS2 MDN Sender Adapter
6.3.7.7.3.3
Configure the AS2 Receiver Adapter
6.3.7.7.4
AS4 Sender Adapter
6.3.7.7.4.1
Configuring Sender Channel with ebMS3 Pull
6.3.7.7.4.2
Configuring Sender Channel with ebMS3 Push
6.3.7.7.4.3
Configuring Sender Channel with ebMS3 Receipt
6.3.7.7.5
AS4 Receiver Adapter
6.3.7.7.5.1
Configure Receiver Channel with Push Message Protocol
6.3.7.7.5.2
Configure Receiver Channel with Pull Message Protocol
6.3.7.7.6
AmazonWebServices Sender Adapter
6.3.7.7.7
AmazonWebServices Receiver Adapter
6.3.7.7.8
Data Store Sender Adapter
6.3.7.7.9
ELSTER Receiver Adapter
6.3.7.7.10
Facebook Receiver Adapter
6.3.7.7.11
FTP Adapter
6.3.7.7.11.1
Configure the FTP Sender Adapter
6.3.7.7.11.2
Configure the FTP Receiver Adapter
6.3.7.7.12
HTTP Receiver Adapter
6.3.7.7.13
HTTPS Sender Adapter
6.3.7.7.14
IDoc Adapter
6.3.7.7.14.1
Configure the IDoc Sender Adapter
6.3.7.7.14.2
Configure the IDoc Receiver Adapter
6.3.7.7.15
JDBC Receiver Adapter
6.3.7.7.15.1
Payload and Operation
6.3.7.7.15.1.1
Batch Payload and Operation
6.3.7.7.15.2
JDBC for DB2 (On-Premise)
6.3.7.7.15.3
JDBC for Microsoft SQL Server (On-Premise)
6.3.7.7.15.4
JDBC for Microsoft SQL Server (Cloud)
6.3.7.7.15.5
JDBC for Oracle (Cloud)
6.3.7.7.15.6
JDBC for Oracle (On-Premise)
6.3.7.7.15.7
JDBC for PostgreSQL (Cloud)
6.3.7.7.15.8
JDBC for Postgres (On-Premise)
6.3.7.7.15.9
JDBC for SAP ASE Service (Neo)
6.3.7.7.15.10
JDBC for SAP ASE Platform (On-Premise)
6.3.7.7.15.11
JDBC for SAP ASE Service (Cloud)
6.3.7.7.15.12
JDBC for SAP HANA (Cloud)
6.3.7.7.15.13
JDBC for SAP HANA Platform (On-Premise)
6.3.7.7.15.14
JDBC for SAP HANA Service (Neo)
6.3.7.7.16
JMS Adapter
6.3.7.7.16.1
Configure the JMS Sender Adapter
6.3.7.7.16.2
Configure the JMS Receiver Adapter
6.3.7.7.17
Kafka Adapter
6.3.7.7.17.1
Configure the Kafka Sender Adapter
6.3.7.7.17.2
Configure the Kafka Receiver Adapter
6.3.7.7.18
LDAP Receiver Adapter
6.3.7.7.18.1
Specific Use Cases for LDAP Adapter
6.3.7.7.19
Mail Adapter
6.3.7.7.19.1
Configure the Mail Sender Adapter
6.3.7.7.19.1.1
Mail Sender for IMAP
6.3.7.7.19.1.2
Mail Sender for POP3
6.3.7.7.19.1.3
Important Notes on Security Risks and Mailbox Settings
6.3.7.7.19.2
Configure the Mail Receiver Adapter
6.3.7.7.19.3
Options to Protect Mail Connections
6.3.7.7.20
Microsoft Dynamics CRM Receiver Adapter
6.3.7.7.21
OData Adapter
6.3.7.7.21.1
Configure the OData Sender Adapter
6.3.7.7.21.2
Configure the OData V2 Receiver Adapter
6.3.7.7.21.3
Configure the OData V4 Receiver Adapter
6.3.7.7.22
ODC Receiver Adapter
6.3.7.7.23
OpenConnectors Receiver Adapter
6.3.7.7.24
ProcessDirect Adapter
6.3.7.7.24.1
Configure the ProcessDirect Sender Adapter
6.3.7.7.24.2
Configure the ProcessDirect Receiver Adapter
6.3.7.7.25
RFC Receiver Adapter
6.3.7.7.25.1
Generating XSD/WSDL for Function Modules Using ESR (Process Integration)
6.3.7.7.25.2
Creating an RFC Destination
6.3.7.7.26
Salesforce Sender Adapter
6.3.7.7.27
Salesforce Receiver Adapter
6.3.7.7.28
ServiceNow Receiver Adapter
6.3.7.7.29
SFTP Adapter
6.3.7.7.29.1
Configure the SFTP Sender Adapter
6.3.7.7.29.2
Configure the SFTP Sender Adapter Used with the Poll Enrich Step
6.3.7.7.29.3
Configure the SFTP Receiver Adapter
6.3.7.7.30
SOAP (SAP RM) Adapter
6.3.7.7.30.1
Configure the SOAP (SAP RM) Sender Adapter
6.3.7.7.30.2
Configure the SOAP (SAP RM) Receiver Adapter
6.3.7.7.31
SOAP (SOAP 1.x) Adapter
6.3.7.7.31.1
Configure the SOAP (SOAP 1.x) Sender Adapter
6.3.7.7.31.1.1
WS-Security Configuration for the Sender SOAP 1.x Adapter
6.3.7.7.31.1.2
SOAP Sender Adapter: Example Integration Flow
6.3.7.7.31.1.2.1
Create the SOAP Sender Channel
6.3.7.7.31.1.2.2
Set Up the SOAP Client and Start Message Processing
6.3.7.7.31.2
Configure the SOAP (SOAP 1.x) Receiver Adapter
6.3.7.7.31.2.1
WS-Security Configuration for the Receiver SOAP 1.x Adapter
6.3.7.7.32
SuccessFactors OData V2 Adapter
6.3.7.7.32.1
Configure the SuccessFactors OData V2 Receiver Adapter
6.3.7.7.33
SuccessFactors OData V4 Receiver Adapter
6.3.7.7.34
SuccessFactors REST Adapter
6.3.7.7.34.1
Configure the SuccessFactors REST Sender Adapter
6.3.7.7.34.2
Configure the SuccessFactors REST Receiver Adapter
6.3.7.7.35
SuccessFactors SOAP Adapter
6.3.7.7.35.1
Configure the SuccessFactors (SOAP) Sender Adapter
6.3.7.7.35.2
Configure the SuccessFactors SOAP Receiver Adapter
6.3.7.7.35.3
Modifying SuccessFactors SOAP Entity and Operation
6.3.7.7.36
SugarCRM Receiver Adapter
6.3.7.7.37
Twitter Receiver Adapter
6.3.7.7.38
Workday Receiver Adapter
6.3.7.7.39
XI Adapter
6.3.7.7.39.1
Configure the XI Sender Adapter
6.3.7.7.39.2
Configure the XI Receiver Adapter
6.3.7.8
Define Events
6.3.7.8.1
Define End Message Event
6.3.7.8.1.1
Define Terminate Message Event
6.3.7.8.2
Define an Escalation Event
6.3.7.8.2.1
Escalation End Event Behavior
6.3.7.8.3
Define a Timer Start Event
6.3.7.9
Working with Mapping
6.3.7.9.1
Message Mapping
6.3.7.9.1.1
Creating Message Mapping as a Flow Step
6.3.7.9.1.2
Creating Message Mapping as an Artifact
6.3.7.9.1.3
Test Message Mapping
6.3.7.9.2
Creating Value Mapping
6.3.7.9.3
Operation Mapping
6.3.7.9.4
Configuring Value Mappings
6.3.7.9.4.1
Formatting Guidelines for CSV Files used in Value Mapping
6.3.7.9.5
Create XSLT Mapping
6.3.7.9.6
Define ID Mapping
6.3.7.9.6.1
ID Mapping Example
6.3.7.10
Developing Script and Script Collection
6.3.7.10.1
Creating a Script Collection
6.3.7.10.1.1
Creating Scripts in a Script Collection
6.3.7.10.1.2
Consuming a Script Collection
6.3.7.10.1.3
Deploying a Script Collection
6.3.7.10.2
Define a Local Script Step
6.3.7.10.3
Script Use Cases
6.3.7.10.3.1
Add Information to the Message Processing Log
6.3.7.10.3.2
Read and Modify Message Header, Message Body, and Exchange Properties
6.3.7.10.3.3
Read and Modify SOAP Headers
6.3.7.10.3.4
Read and Modify Partner Directory Content
6.3.7.10.3.5
Handle Exceptions
6.3.7.10.3.5.1
Script Example for Exception Handling in HTTP Receiver
6.3.7.10.3.5.2
Script Example for Exception Handling in OData V2 Receiver Adapter
6.3.7.10.3.6
Read Security-Related Artifacts
6.3.7.10.3.7
Additional Use Cases
6.3.7.11
Define Message Transformer Steps
6.3.7.11.1
Define Content Modifier
6.3.7.11.1.1
Content Modifier Basics
6.3.7.11.1.2
Avoiding Encoding Issues
6.3.7.11.1.2.1
Character Encodings: Background Information
6.3.7.11.2
Define XML Modifier
6.3.7.11.3
Configure CSV to XML Converter
6.3.7.11.4
Configure XML to CSV Converter
6.3.7.11.5
Define JSON to XML Converter
6.3.7.11.5.1
Conversion Rules for JSON to XML Conversion
6.3.7.11.5.2
Limitations for JSON to XML Conversion
6.3.7.11.5.3
Example: Transformations from JSON format to XML format with and without
Namespace Mapping
6.3.7.11.6
Define XML to JSON Converter
6.3.7.11.6.1
Conversion Rules for XML to JSON Conversion
6.3.7.11.6.2
Limitations for XML-to-JSON Conversion
6.3.7.11.6.3
How Streaming in the XML-to-JSON Converter Works
6.3.7.11.6.4
Example: Transformations from XML format to JSON format with and without
Namespace Mapping
6.3.7.11.6.5
Example: Transformation to a JSON Message without Root Element Tag
6.3.7.11.7
Define EDI to XML Converter
6.3.7.11.8
Define a Decoder
6.3.7.11.9
Define XML to EDI Converter
6.3.7.11.10 Define an Encoder
6.3.7.11.10.1
Define a MIME Multipart Encoder
6.3.7.11.10.1.1
MIME Multipart Messages
6.3.7.11.10.1.2
Example Scenario with MIME Multipart Encoder/Decoder
6.3.7.11.10.1.3
MIME Multipart Encoder: Handling Message Headers (Examples)
6.3.7.11.11 Define Filter
6.3.7.11.11.1
Examples
6.3.7.11.12 Define EDI Extractor
6.3.7.11.13 Define Message Digest
6.3.7.11.13.1
Simple Integration Flow Using a Message Digest Step
6.3.7.12
Define Call Steps
6.3.7.12.1
Define External Call
6.3.7.12.1.1
Define Content Enricher
6.3.7.12.1.2
Define Poll Enrich
6.3.7.12.1.3
Define a Send Step
6.3.7.12.1.4
Define Request Reply
6.3.7.12.2
Define Local Call
6.3.7.12.2.1
Define Process Call
6.3.7.12.2.2
Define Looping Process Call
6.3.7.12.2.3
Define Idempotent Process Call
6.3.7.13
Define Routing Steps
6.3.7.13.1
Define Aggregator
6.3.7.13.2
Define Gather and Join
6.3.7.13.3
Define Multicast
6.3.7.13.4
Define Router
6.3.7.13.5
Define Splitter
6.3.7.13.5.1
Define PKCS#7/CMS Splitter
6.3.7.13.5.2
Define IDoc Splitter
6.3.7.13.5.3
Define Iterating Splitter
6.3.7.13.5.4
Define EDI Splitter
6.3.7.13.5.5
Define General Splitter
6.3.7.13.5.5.1
Using XPath Expressions in the Splitter Step
6.3.7.13.5.6
General and Iterating Splitter
6.3.7.13.5.6.1
General and Iterating Splitter (Examples)
6.3.7.13.5.7
Define Tar Splitter
6.3.7.13.5.8
Define Zip Splitter
6.3.7.14
Define Security-Related Steps
6.3.7.14.1
Sign the Message Content with Simple Signer
6.3.7.14.2
Sign the Message Content with PKCS#7/CMS Signer
6.3.7.14.3
Sign the Message Content with XML Digital Signature
6.3.7.14.3.1
XML Digital Signature
6.3.7.14.3.2
Signing the Message Content with XML Advanced Electronic Signature
6.3.7.14.3.2.1
Limitations
6.3.7.14.3.2.2
Signing the Message Content with XAdES-BES (1)
6.3.7.14.3.2.3
Signing the Message Content with XAdES-BES (2)
6.3.7.14.3.2.4
Signing the Message Content with XAdES-EPES
6.3.7.14.3.2.5
Message Headers
6.3.7.14.4
Define PGP Encryptor
6.3.7.14.5
Define PGP Decryptor
6.3.7.14.6
Encrypt and Sign the Message Content with PKCS#7/CMS Encryptor
6.3.7.14.7
Define PKCS#7/CMS Decryptor
6.3.7.14.8
Verify the PKCS#7/CMS Signature
6.3.7.14.9
Verify the XML Digital Signature
6.3.7.15
Define Message Persistence Steps
6.3.7.15.1
Define Data Store Operations
6.3.7.15.1.1
Define Data Store Select Operations
6.3.7.15.1.2
Define Data Store Write Operations
6.3.7.15.1.3
Define Data Store Get Operations
6.3.7.15.1.4
Define Data Store Delete Operations
6.3.7.15.1.5
Examples
6.3.7.15.1.5.1
Example Using a Global Data Store and a Global Variable
6.3.7.15.2
Define Write Variables
6.3.7.15.2.1
Example Scenario: Sharing a Variable Across Two Integration Flows
6.3.7.15.3
Persist Messages
6.3.7.16
Define Validator Steps
6.3.7.16.1
Define EDI Validator
6.3.7.16.2
Validating Message Payload against XML Schema
6.3.7.17
Define Transaction Handling
6.3.7.18
Dynamically Configure Integration Flow Parameters
6.3.7.18.1
Dynamic Parameters (Example)
6.3.7.18.2
Parameters That Support Dynamic Configuration
6.3.7.18.3
About Headers and Exchange Properties
6.3.7.18.3.1
Headers and Exchange Properties Provided by the Integration Framework
6.3.7.19
Error Classification
6.3.7.20
Externalize Parameters of an Integration Flow
6.3.7.21
Configure Externalized Parameters of an Integration Flow
6.3.7.22
Migrate an Integration Flow Component to a New Version
6.3.7.23
Commonly Used Functions
6.3.8
Working with Custom Adapters
6.3.8.1
Importing Custom Integration Adapter, Cloud Foundry Environment
6.3.9
Simulation of an Integration Flow
6.3.9.1
Configure Simulation
6.3.9.1.1
Using Various Types of Body Files in the Simulation
6.3.9.2
Smoke Test Scenario
6.3.10
Deploying Data Flows
6.3.11
Unlocking Integration Packages and Artifacts
6.4
Develop API-Based Integration Artifacts
6.4.1
Create and Deploy a SOAP API Artifact
6.4.2
Create and Deploy a REST API Artifact
6.4.3
Create and Deploy an OData API Artifact
6.5
Developing an OData API Project
6.5.1
Supported OData Features
6.5.2
Creating an OData API
6.5.3
Create an OData Model
6.5.3.1
Import from Data Source
6.5.3.1.1
Importing from SOAP
6.5.3.1.2
Importing from OData
6.5.3.1.3
Importing from ODC
6.5.3.2
Editing an OData Model
6.5.3.2.1
OData Model Editor Features
6.5.3.2.1.1
Using Schema-Based Code Assist
6.5.3.2.1.2
Using Model-Based Code Assist
6.5.3.2.1.3
Using Autocomplete
6.5.3.2.1.4
Validation in the OData Model Editor
6.5.4
Viewing the OData Model Layout
6.5.4.1
Graphical Model Viewer Features
6.5.5
Bind to Data Source
6.5.5.1
Binding to SOAP
6.5.5.2
Binding to OData
6.5.5.3
Binding to REST
6.5.5.4
Binding to ODC
6.5.6
Managing Unused Bindings
6.5.7
Editing an Integration Flow
6.5.7.1
Predefined Integration Flows
6.5.7.1.1
Predefined Integration Flows for SOAP
6.5.7.1.1.1
Predefined Integration Flows for Create and Read Operations
6.5.7.1.1.2
Predefined Integration Flows for Update and Delete Operations
6.5.7.1.1.3
Predefined Integration Flow for Query Operations
6.5.7.1.1.4
Predefined Integration Flow for Function Imports
6.5.7.1.2
Predefined Integration Flows for OData
6.5.7.1.3
Predefined Integration Flows for REST
6.5.7.1.4
Predefined Integration Flows for ODC
6.5.8
Configuring an OData API
6.5.9
Deploying an OData API
6.5.10
Invoking an OData API
6.6
Developing Custom Adapters
6.6.1
Adapter Development Prerequisites
6.6.2
Adapter Development Process
6.6.2.1
Create OSGi Bundle
6.6.2.2
Develop Adapters
6.6.2.3
Develop Adapters Using Archetype
6.6.2.4
Component Metadata
6.6.2.5
Blueprint Metadata
6.6.2.6
Enabling Endpoint Visualization for Custom Adapter
6.6.2.7
Enabling Authentication for Servlet Based Adapters
6.6.2.8
Enabling Tracing for Custom Adapter
6.6.2.9
Enabling Scheduler Support for ADK Sender Adapter
6.6.2.10
Enabling Connection Status for Integration Flow
6.6.2.11
Accessing User Credentials
6.6.2.12
Accessing Trust and Key Managers
6.6.2.13
Accessing On-Premise Application using Cloud Connector
6.6.2.14
Versioning Rules for Custom Adapters
6.6.3
Deploying a Secure Parameter Artifact
6.7
Parameterizing Integration Flows Using the Partner Directory
6.7.1
Partner Directory Concepts
6.7.1.1
Partner Authorization (Inbound)
6.7.1.2
Dynamically Reading XSLT Mappings from the Partner Directory
6.7.1.3
Dynamically Reading XSD Files from the Partner Directory
6.7.1.4
Partner Directory Cache
6.7.2
Parameterizable Integration Flow Components
6.8
API Documentation
6.8.1
SDK API
6.8.1.1
Setting and Getting SOAP Headers
6.8.1.2
Using Script API Methods in Groovy Scripts
6.8.1.3
Creating an Exception Response for SOAP-Based Adapters
6.8.2
OData API
6.8.2.1
API Details
6.8.2.1.1
Integration Content
6.8.2.1.1.1
Build and Deploy Status
6.8.2.1.1.2
Integration Content Example Requests
6.8.2.1.1.2.1
Get Custom Tags Defined on the Tenant
6.8.2.1.1.2.2
Create New Custom Tags Configuration
6.8.2.1.1.2.3
Get Runtime Status of Deployed Integration Flow
6.8.2.1.1.2.4
Runtime Artifacts and Error Information Example Requests
6.8.2.1.1.2.5
Integration Flow Example Requests
6.8.2.1.1.2.5.1
Query Parameters Supported for IntegrationDesigntimeArtifact Requests
6.8.2.1.1.2.6
ServiceEndpoints Example Requests
6.8.2.1.1.2.7
Integration Package Example Requests
6.8.2.1.1.2.8
Value Mapping Example Requests
6.8.2.1.1.2.9
Integration Adapter Example Requests, Cloud Foundry Environment
6.8.2.1.2
Log Files, Neo Environment
6.8.2.1.2.1
Log Files Example Requests
6.8.2.1.3
Message Processing Logs
6.8.2.1.3.1
Message Processing Logs Example Requests
6.8.2.1.3.1.1
Get Message Processing Logs for a Dedicated Time Period
6.8.2.1.3.1.2
Get Custom Header Properties
6.8.2.1.4
Message Stores
6.8.2.1.4.1
Message Stores Example Requests
6.8.2.1.4.1.1
Get Message Store Entry Properties
6.8.2.1.4.1.2
Add a Number Ranges Object
6.8.2.1.4.1.3
Update a Number Ranges Object
6.8.2.1.4.2
Data Store Example Requests
6.8.2.1.4.2.1
Get All Data Stores with Overdue Messages
6.8.2.1.4.2.2
Get Single Data Store Entry
6.8.2.1.4.2.3
Get All Data Store Entries for a Data Store
6.8.2.1.4.2.4
Get All Data Store Entries for a Specific Message ID
6.8.2.1.4.2.5
Download a Variable
6.8.2.1.4.3
JMS Resources Example Requests
6.8.2.1.5
Partner Directory
6.8.2.1.5.1
Permissions
6.8.2.1.5.2
Partner Directory Example Requests
6.8.2.1.5.2.1
Get Alternative Partner by Key Fields
6.8.2.1.5.2.2
Get Alternative Partners (Filter with Select)
6.8.2.1.5.2.3
Create Alternative Partner
6.8.2.1.5.2.4
Update an Alternative Partner
6.8.2.1.5.2.5
Requests for String Parameter, Binary Parameter, and Authorized User
6.8.2.1.5.2.7
Requests for UserCredentialParameter
6.8.2.1.6
Security Content
6.8.2.1.6.1
Security Content Example Requests
6.8.2.1.6.1.1
Export Certificate
6.8.2.1.6.1.2
Import and Update Certificate
6.8.2.1.6.1.3
Generate a Key Pair
6.8.2.1.6.1.4
Get All Keystore Entries
6.8.2.1.6.1.5
Get Keystore Entry by Alias
6.8.2.1.6.1.6
Rename the Alias of a Keystore Entry
6.8.2.1.6.1.7
Export Public Key in OpenSSH Format
6.8.2.1.6.1.8
Get Keystore Properties and Entries
6.8.2.1.6.1.9
Import/Back up a Keystore
6.8.2.1.6.1.10
Trigger Mass Deletion of Keystore Entries
6.8.2.1.6.1.11
Restore an Entry from the SAP Key History Keystore to the New SAP Keys
Keystore
6.8.2.1.6.1.12
Create a Certificate-to-User Mapping, Neo Environment
6.8.2.1.6.1.13
Get Certificate-to-User Mappings with Specific User, Neo Environment
6.8.2.1.6.1.14
Read Expiration Date of a Client Certificate, Neo Environment
6.8.2.2
Authentication
6.8.2.3
HTTP Calls and URI Components
6.8.2.4
Query Options
6.8.2.5
Support Components
6.9
Integration Flow Design Guidelines
6.9.1
How to Work with the Example Integration Flows
6.9.1.1
Copying the Integration Package and Deploying the Integration Flows
6.9.1.2
Working with Postman Collections
6.9.1.3
Generic Receiver
6.9.1.4
WebShop Example Application
6.9.2
Learn the Basics
6.9.2.1
Getting Started
6.9.2.1.1
Variant: Timer-Initiated Scenario
6.9.2.1.2
Variant: Timer-Initiated Scenario with External Data Source and Receiver
6.9.2.1.3
Variant: Sender-Initiated Scenario with External Data Source and Receiver
6.9.2.2
Access Headers and Properties
6.9.2.2.1
Access Header and Properties in Message Mapping
6.9.2.2.2
Access Header and Properties in XSLT Mapping
6.9.2.2.3
Access Header and Properties in XPath
6.9.2.3
Attachment Handling
6.9.2.3.1
Create Attachments
6.9.2.3.2
Replace Body with Content of Attachment
6.9.2.3.3
Read Multiple Attachments
6.9.2.3.4
Read Attachment Based on Filter Criteria
6.9.2.3.5
Read Multiple Attachments Based on Filter Criteria
6.9.2.4
Communication of Integration Flows
6.9.2.4.1
Communication between Integration Flows
6.9.2.4.2
Restrict an API to HTTP Methods
6.9.2.5
Configure Adapters
6.9.2.5.1
Consume a Public HTTP Service with Query Parameters
6.9.2.6
Content Transport
6.9.2.7
Decouple Processing
6.9.2.7.1
Decouple Sender and Flows Without Persistence
6.9.2.7.2
Decouple Sender and Flows Using Persistence
6.9.2.7.2.1
Decouple Sender and Flows Using Data Store
6.9.2.7.2.2
Decouple Sender and Flows Using Data Store and Polling Consumer
6.9.2.7.2.3
Decouple Sender and Flows Using JMS Message Queues
6.9.2.8
Delta Synchronization
6.9.2.8.1
Delta Synchronization Via Date Now XPath
6.9.2.8.2
Delta Synchronization Via Timestamp in Payload
6.9.2.9
Handle Exceptions
6.9.2.9.1
Variant: Exception Subprocess with End Event
6.9.2.9.2
Variant: Exception Subprocess with Error End Event
6.9.2.9.3
Variant: Exception Subprocess with Escalation End Event
6.9.2.10
Message Monitoring
6.9.2.11
Modify Content
6.9.2.11.1
Guidelines for Modifying Content
6.9.2.11.2
Convert Data
6.9.2.11.2.1
Use the CSV to XML Converter
6.9.2.11.2.2
Use the XML to CSV Converter
6.9.2.11.2.3
Use the JSON to XML and XML to JSON Converter
6.9.2.11.3
Encode and Decode Content
6.9.2.11.3.1
Use the MIME Multipart Encoder and Decoder
6.9.2.11.3.2
Use the Base64 Encoder
6.9.2.11.3.3
Use the Base64 Decoder
6.9.2.11.4
Message Mapping
6.9.2.11.4.1
Set the Mapping Context
6.9.2.11.4.2
Use a Message Mapping to Map XML to JSON
6.9.2.12
Persistence
6.9.2.12.1
Use the Persist Step
6.9.2.12.2
Store/Retrieve Messages in/from the Data Store
6.9.2.13
Transfer Files
6.9.2.13.1
Poll File by Done File
6.9.2.13.2
Poll Folder by Fixed Done File
6.9.2.13.3
Concatenating Files via Poll Enrich
6.9.2.13.4
Combine XML Files via Poll Enrich
6.9.2.13.5
Poll and Merge Folder
6.9.3
Guidelines to Design Enterprise-Grade Integration Flows
6.9.3.1
Run an Integration Flow Under Well-Defined Boundary Conditions
6.9.3.1.1
Optimize Performance
6.9.3.1.2
Manage Large Batch Sizes
6.9.3.1.3
Limit Size of Incoming Messages
6.9.3.1.4
Anticipate Message Throughput When Choosing a Storage Option
6.9.3.1.4.1
Using Data Storage Features When Designing Integration Flows
6.9.3.1.4.2
Data Store/Variables Versus Header/Properties: When to Use Which Option?
6.9.3.1.4.2.1
Variant: Sharing Data Within the Same Integration Flow
6.9.3.1.4.2.2
Variant: Sharing Data Across Integration Flows That Communicate with Each
Other
6.9.3.1.4.2.3
Variant: Sharing Data Across Integration Flows That Operate Independently
from Each Other
6.9.3.1.4.3
Data Store, Variables, and JMS Queues: When to Use Which Option?
6.9.3.1.4.3.1
Use Cases for Data Store and Variables
6.9.3.1.4.3.2
Use Case for JMS
6.9.3.1.4.4
Using Message Processing Log Attachments
6.9.3.1.5
Control the Number of Simultaneously Opened Database Connections
6.9.3.1.6
Specify Proper Session Handling
6.9.3.1.7
Define Proper Transaction Handling
6.9.3.1.7.1
Transaction Handling Characteristics and Restrictions
6.9.3.1.7.2
Transaction Handling Guidelines
6.9.3.1.7.3
Splitter with Multiple Receivers (JMS Adapter Type)
6.9.3.1.7.4
JMS Send Step in Local Integration Process
6.9.3.1.7.5
Master Data Update with XI Send Steps
6.9.3.1.7.6
Master Data Update with JMS Send Steps
6.9.3.1.8
Optimize Memory Footprint
6.9.3.1.9
Optimize Integration Flow Design for Streaming
6.9.3.1.10
Reduce the Memory Consumption for Splitter Scenarios
6.9.3.2
Relax Dependencies to External Components
6.9.3.2.1
Apply the Retry Pattern
6.9.3.2.1.1
Apply the Retry Pattern with JMS Queue
6.9.3.2.2
Set a Proper Timeout
6.9.3.2.3
Validate Incoming Messages
6.9.3.2.4
Perform OData Batch Requests
6.9.3.2.5
Reduce Size of OData Content Enricher Response
6.9.3.3
Keep Readability in Mind
6.9.3.3.1
Apply a Balanced Encapsulation of the Integration Logics
6.9.3.3.1.1
Outsource Integration Logic into Separate Integration Flows
6.9.3.3.1.2
Expose an Endpoint for a Scheduled Integration Flow
6.9.3.3.2
Externalize Volatile Configurations
6.9.3.3.3
Consider Basic Layout Principles
6.9.3.3.4
Naming Conventions
6.9.3.4
Handle Errors Gracefully
6.9.3.4.1
Handle Exceptions
6.9.3.4.2
Handle Errors in Successful Responses
6.9.3.4.3
Outsource Exception Handling into a Separate Integration Flow
6.9.3.4.3.1
Variant: Exception Subprocess with End Message Event
6.9.3.4.3.2
Variant: Exception Subprocess with Error End Event
6.9.3.4.4
Handle Exceptions in Dependent Integration Flows (Simple Scenario)
6.9.3.4.5
Handle Exceptions in Dependent Integration Flows
6.9.3.4.6
Handle Exceptions in Subprocess (Simple Scenario)
6.9.3.4.7
Handle Exceptions When Using the Splitter Pattern
6.9.3.4.7.1
Variant 1: Splitter Without Gather with Stop on Exception and with
Exception Subprocess
6.9.3.4.7.2
Variant 2: Splitter Without Gather Without Stop on Exception and with
Exception Subprocess
6.9.3.4.7.3
Variant 3: Splitter with Gather with Stop on Exception and with Exception
Subprocess
6.9.3.4.7.4
Variant 4: Splitter with Gather Without Stop on Exception and with
Exception Subprocess
6.9.3.4.8
Log the Behavior of an Integration Flow
6.9.3.4.9
Don't Throw Exception on Failure
6.9.3.5
Use Prepackaged Integration Content Provided by SAP
6.9.3.5.1
Keep Modifications Separate from Prepackaged Integration Content
6.9.3.5.2
Subscribe Only a Single Tenant to SAP Business Accelerator Hub
6.9.3.6
Apply the Highest Security Standards
6.9.3.6.1
Remove Sensitive or Secret Content Before Logging or Forwarding
6.9.3.6.2
Switch Off Resolving of External Entities
6.9.3.6.3
Encode Dynamic Parameters
6.9.3.6.4
Use CSRF Protection
6.9.3.6.5
Use SSRF Protection
6.9.3.6.6
Use Secure Authentication Methods
6.9.3.6.6.1
Setting Up the Key Pairs and Certificates
6.9.3.6.7
Upload WSDLs as Integration Flow Resource
6.9.3.6.8
Apply Message-Level Security
6.9.3.6.9
Use Secure Protocols
6.9.3.6.10
Protect Data Integrity
6.9.3.7
Use the Partner Directory Appropriately
6.9.3.7.1
First Steps - Import the Postman Collections
6.9.3.7.2
First Steps - Create Entities in the Partner Directory
6.9.3.7.3
Dynamically Address Receivers
6.9.3.7.4
Perform an XSLT Mapping
6.9.3.7.5
Use an Alternative Partner Id to Retrieve Partner Information
6.9.3.7.6
Fetch the Partner Info from the Partner Directory
6.9.3.7.7
Use the AS2 Adapter with Dynamic Encryption and Signature Verification
6.9.3.7.7.1
Install and Configure Mendelson
6.9.3.8
Use Scripting Appropriately
6.9.3.8.1
General Scripting Guidelines
6.9.3.8.2
Access Secure Parameters in Scripts
6.9.3.8.3
Access URL Get Parameters in Scripts
6.9.3.8.4
Access URL Paths in Scripts
6.9.3.8.5
Access Headers and Properties in Scripts
6.9.3.8.6
Create MPL Attachments in Scripts
6.9.3.8.7
Access Value Mappings in Scripts
6.9.3.8.8
Parse JSON
6.9.3.8.9
Use Custom Header Properties to Search for Message Processing Logs
6.9.4
Guidelines to Implement Specific Integration Patterns
6.9.4.1
Aggregator
6.9.4.2
Composed Message Processor
6.9.4.3
Content-Based Routing
6.9.4.3.1
Variant: Send to Default Receiver
6.9.4.3.2
Variant: Ignore
6.9.4.3.3
Variant: Raise an Error
6.9.4.4
Content Enricher
6.9.4.5
Content Filter
6.9.4.5.1
Variant: Content Filter Step
6.9.4.5.2
Variant: Message Mapping
6.9.4.6
Message Filter
6.9.4.7
Recipient List
6.9.4.7.1
Variant: Static Routing
6.9.4.7.2
Variant: Dynamic Routing
6.9.4.7.3
Variant: Dynamic Routing Using JMS Message Queues
6.9.4.8
Resequencer
6.9.4.9
Scatter-Gather
6.9.4.10
Splitter
6.9.4.10.1
Variant with Iterating Splitter
6.9.4.10.2
Variant with General Splitter
6.9.4.10.3
Variant with Message Mapping
6.9.4.11
Quality of Service
6.9.4.11.1
Quality of Service Exactly Once
6.9.4.11.1.1
Features that Support Quality of Service Exactly Once
6.9.4.11.1.2
Special Use Cases: SAP RM vs XI vs IDoc
6.9.4.11.1.3
Interaction of the Involved Integration Flows
6.9.4.11.1.4
Sender Handles Retry
6.9.4.11.1.4.1
Receiver Is Idempotent
6.9.4.11.1.4.1.1
Protocol Contains Unique ID
6.9.4.11.1.4.1.1.1
Sender and Receiver with SAP RM Protocol
6.9.4.11.1.4.1.1.2
IDoc Receiver Handles Duplicates
6.9.4.11.1.4.1.1.3
XI Receiver Handles Duplicates
6.9.4.11.1.4.1.1.4
ID Mapping (with AS2 Sender Adapter)
6.9.4.11.1.4.1.1.5
ID Mapping (with Splitter)
6.9.4.11.1.4.1.1.6
ID Mapping (with Multicast)
6.9.4.11.1.4.1.2
Protocol Doesn't Contain Unique ID
6.9.4.11.1.4.1.2.1
Sender and Receiver with SOAP Protocol
6.9.4.11.1.4.1.2.2
IDoc Receiver Handles Duplicates (based on unique ID in payload)
6.9.4.11.1.4.1.2.3
XI Receiver Handles Duplicates (based on unique ID in payload)
6.9.4.11.1.4.2
Receiver Isn't Idempotent
6.9.4.11.1.4.2.1
Protocol Contains Unique ID
6.9.4.11.1.4.2.1.1
Idempotent Process Call Handles Duplicates
6.9.4.11.1.4.2.2
Protocol Doesn't Contain Unique ID
6.9.4.11.1.4.2.2.1
Idempotent Process Call Handles Duplicates (With Alternative Response)
6.9.4.11.1.4.2.2.2
Aggregator
6.9.4.11.1.5
SAP Cloud Integration Handles Retry
6.9.4.11.1.5.1
Receiver Is Idempotent
6.9.4.11.1.5.1.1
Protocol Contains Unique ID
6.9.4.11.1.5.1.1.1
Idempotent Process Call Handles Duplicates (with JMS and Data Store
Operations)
6.9.4.11.1.5.1.1.2
Decoupling via JMS Queue
6.9.4.11.1.5.1.1.3
IDoc Receiver Handles Duplicates (with decoupling via JMS Queue)
6.9.4.11.1.5.1.1.4
XI Receiver Handles Duplicates (with decoupling via JMS Queue)
6.9.4.11.1.5.1.1.5
Decoupling via Data Store
6.9.4.11.1.5.2
Receiver Isn't Idempotent
6.9.4.11.1.5.2.1
Protocol Contains Unique ID
6.9.4.11.1.5.2.1.1
XI Sender Adapter Handles Duplicates
7
Security, Cloud Foundry Environment
7.1
Technical Landscape, Cloud Foundry Environment
7.2
Security Aspects of Processes
7.3
Security Aspects of Data, Data Flow
7.4
Identity and Access Management
7.4.1
Persona
7.4.1.1
Tasks and Permissions
7.5
Data Storage Security
7.6
Data Protection and Privacy
7.6.1
Types of Stored Data
7.6.2
Specific Data Assets
7.7
Other Security-Related Information
7.8
Auditing and Logging Information
8
Security, Neo Environment
8.1
Technical Landscape, Neo Environment
8.2
Security Aspects of Processes
8.3
Security Aspects of Data, Data Flow
8.4
Identity and Access Management
8.4.1
Persona
8.4.1.1
Tasks and Permissions
8.5
Data Storage Security
8.6
Data Protection and Privacy
8.6.1
Types of Stored Data
8.6.2
Specific Data Assets
8.6.3
Security-Relevant Logging and Tracing
8.7
Other Security-Related Information
9
Configuring Integration Settings
9.1
Runtime Profiles
9.1.1
Configure Runtime Profile for an Integration Flow
9.1.2
Set Default Runtime Profile
9.2
Importing Content from SAP Process Orchestration System
9.2.1
Configuring Connectivity to an SAP Process Orchestration System
9.2.2
Importing Mapping Content from ES Repository
9.3
Creating Custom Tags
9.4
Malware Scanner
9.5
Apache Camel 3.14 Upgrade
9.5.1
Request New Tenant
9.5.1.1
Validating Adapters
9.5.2
Upload Custom Adapters
10
Operating and Monitoring Cloud Integration
10.1
Understanding the Basic Concepts
10.1.1
Runtime in Detail
10.1.1.1
Virtual System Landscapes
10.1.1.2
Stable URL
10.1.1.3
Configuring Custom Domains
10.1.1.4
Setting-Up Custom Domains in CF
10.1.2
Application URLs, Neo Environment
10.2
User Management for SAP BTP, Neo Environment
10.2.1
Creating a User for Cloud Integration, Neo Environment
10.2.2
Managing Users and Role Assignments, Neo Environment
10.2.2.1
Adding Members to an Account
10.2.2.2
Defining Authorizations for Integration Team Members
10.2.2.3
Defining Permissions for Senders to Process Messages on a Runtime Node
10.3
Activating Enterprise Messaging
10.4
Monitor
10.4.1
Monitor Message Processing
10.4.1.1
Using IDs to Filter Messages
10.4.1.2
Using Additional Filter Criteria
10.4.1.3
Message Status
10.4.1.4
Message Processing Log
10.4.1.4.1
Message Processing Log - Adapter Tracing
10.4.1.5
Message Processing Log – Text View
10.4.1.6
Setting Log Levels
10.4.2
Manage Integration Content
10.4.2.1
Runtime Status
10.4.2.2
Endpoint Visualization
10.4.3
Manage Security
10.4.3.1
Managing Security Material
10.4.3.1.1
Deploying a User Credentials Artifact
10.4.3.1.2
Deploying an OAuth2 Client Credentials Artifact
10.4.3.1.3
Deploying an OAuth2 SAML Bearer Assertion
10.4.3.1.4
Deploying an OAuth2 Authorization Code
10.4.3.1.4.1
Deploying an OAuth2 Client Authorization Code with Generic Provider
10.4.3.1.4.2
Deploying an OAuth2 Client Authorization Code with Microsoft 365 as
Provider
10.4.3.1.5
Deploying a Secure Parameter Artifact
10.4.3.1.6
Deploying an SSH Known Hosts Artifact
10.4.3.2
Managing Keystore Entries
10.4.3.2.1
Displaying Properties of a Keystore Entry
10.4.3.2.2
Creating a Key Pair/SSH Key Pair
10.4.3.2.3
Uploading a Certificate
10.4.3.2.4
Uploading a Key Pair
10.4.3.2.5
Uploading an RSA Key
10.4.3.2.6
Uploading a Keystore
10.4.3.2.7
Uploading an SSH Key
10.4.3.2.8
Changing the Alias of a Keystore Entry
10.4.3.2.9
Updating a Key Pair
10.4.3.2.10 Updating a Key Pair with a Signing Response
10.4.3.2.11 Updating an RSA Key
10.4.3.2.12 Updating a Certificate
10.4.3.2.13 Downloading a Keystore
10.4.3.2.14 Downloading Single Keystore Entries
10.4.3.2.15 Deleting Keystore Entries
10.4.3.2.16 Backing Up Keystore Entries
10.4.3.2.17 Restoring Backed-Up Keystore Entries
10.4.3.2.18 Downloading Backed-Up Keystore Entries
10.4.3.2.19 Managing the Lifecycle of Keys
10.4.3.2.19.1
Activating a New Key Pair Provided by SAP
10.4.3.2.19.2
Downloading a New Key Pair Provided by SAP
10.4.3.2.19.3
Restoring a Key Pair from the Key History
10.4.3.2.19.4
Downloading a Key Pair from the Key History
10.4.3.3
Managing PGP Keys
10.4.3.3.1
Deploying a PGP Public Keyring
10.4.3.3.2
Deploying a PGP Secret Keyring
10.4.3.3.3
Displaying Properties of a PGP Key
10.4.3.4
Managing Certificate-to-User Mappings, Neo Environment
10.4.3.5
Managing Access Policies
10.4.3.5.1
Managing Access Policies, Neo Environment
10.4.3.5.2
Managing Access Policies, Cloud Foundry Environment
10.4.3.6
Managing JDBC Material
10.4.3.6.1
Managing JDBC Data Sources
10.4.3.6.2
Configure JDBC Drivers
10.4.3.7
Managing User Roles, Cloud Foundry Environment
10.4.3.8
Performing Connectivity Tests
10.4.3.8.1
TLS Connectivity Tests
10.4.3.8.2
SSH Connectivity Tests
10.4.3.8.3
FTP Connectivity Tests
10.4.3.8.4
SMTP Connectivity Tests
10.4.3.8.5
IMAP Connectivity Tests
10.4.3.8.6
POP3 Connectivity Tests
10.4.3.8.7
AMQP Connectivity Tests
10.4.3.8.8
Kafka Connectivity Tests
10.4.3.8.9
Cloud Connector Connectivity Tests
10.4.4
Manage Stores
10.4.4.1
Managing Data Stores
10.4.4.2
Managing Variables
10.4.4.3
Managing Message Queues
10.4.4.3.1
Checking JMS Resources
10.4.4.3.2
Managing Queues
10.4.4.3.3
Managing Messages Stored in Queues
10.4.4.3.4
JMS Resource Limits and Optimizing their Usage
10.4.4.4
Managing Number Ranges
10.4.5
Access Logs, Neo Environment
10.4.5.1
Monitoring Audit Log, Neo Environment
10.4.5.2
Monitoring System Log Files, Neo Environment
10.4.6
Access Logs, Cloud Foundry Environment
10.4.6.1
Monitoring System Log Files, Cloud Foundry Environment
10.4.6.2
External Logging Cloud Foundry Environment
10.4.6.2.1
Possible Errors During External Logging Activation
10.4.7
Manage Locks
10.4.7.1
Message Locks
10.4.7.2
Designtime Artifact Locks
10.4.8
Guidelines and Best Practices for Message Monitoring
10.4.8.1
Checking Out the Message Processing Log
10.4.8.2
Tracing the Execution of an Integration Flow
10.4.8.3
Checking the Default Trace (in the Neo Environment)
10.4.8.4
Monitoring Scenarios that Include Message Queues
10.4.9
Archiving Data, Cloud Foundry Environment
10.4.9.1
Configuring Destination
10.4.9.2
Using SAP Cloud Connector
10.4.9.3
Enable Archiving in the Cloud Foundry Environment
10.4.9.4
Configuring Archiving Settings
10.4.9.5
Key Performance Indicators for Archiving Runs
10.4.10
Central Monitoring and Alerting Solutions
10.5
Inspect
10.5.1
Inspect Data Store Usage
10.5.1.1
Inspect Top Local Data Stores by Usage
10.5.1.2
Inspect Top Global Data Stores by Usage
10.5.2
Inspect Database Connection Usage
10.5.2.1
Inspect Top Integration Flows by Database Connection Usage
10.5.2.2
Inspect Integration Flows Affected by Unavailable Connections
10.5.3
Inspect Database Transaction Usage
10.5.3.1
Inspect Top Integration Flows by Maximum Transaction Duration
10.5.4
Inspect Monitoring Storage Usage
10.5.4.1
Inspect Top Integration Flows by Message Processing Log Count
10.6
Security Artifact Renewal
10.6.1
Basic Security Artifact Renewal Processes
10.6.1.1
Use Cases
10.6.1.2
Involved Roles
10.6.1.3
Security Artifact Renewal for Transport Level Security
10.6.1.3.1
Security Artifact Renewal for HTTPS-Based Communication
10.6.1.3.1.1
Certificate-Based Authentication (Outbound)
10.6.1.3.1.1.1
Renewal of Tenant Client Root Certificate (CA)
10.6.1.3.1.1.2
Renewal of the Tenant Client Certificate
10.6.1.3.1.1.3
Renewal of Receiver Back-End Server Certificate
10.6.1.3.1.2
Certificate-Based Authentication (Inbound)
10.6.1.3.1.2.1
Renewal of Load Balancer Server Certificate
10.6.1.3.1.2.2
Renewal of Sender Back-End Client Certificate
10.6.1.3.1.3
Basic Authentication (Outbound)
10.6.1.3.1.3.1
Renewal of User and Password
10.6.1.3.1.3.2
Renewal of Password Only
10.6.1.3.1.4
Basic Authentication (Inbound)
10.6.1.3.1.4.1
Renewal of User and Password
10.6.1.3.1.4.2
Renewal of Password Only