Table of Contents

Open all
Close all
Foreword by Andreas Quenstedt
19
Preface
21
Structure of the Book
21
Sample Applications
25
Who This Book Is For
26
Acknowledgments
27
John Mutumba Bilay
27
Shashank Singh
28
Swati Singh
28
1 Introduction to Cloud Integration
31
1.1 The Role of Cloud Integration in a Cloud-Based Strategy
33
1.2 Use Cases
36
1.2.1 Point-to-Point versus Mediated Communication
36
1.2.2 Message-Based Process Integration
37
1.2.3 Cloud-to-Cloud Integration
38
1.2.4 Cloud-to-On-Premise Integration
39
1.2.5 On-Premise-to-On-Premise Integration
40
1.2.6 Hybrid Usage of Cloud and On-Premise Integration Solutions
41
1.2.7 Usage in Different Cloud Environments
42
1.3 Capabilities
44
1.3.1 Integration Platform as a Service
44
1.3.2 Message Processing Step Types (Integration Capabilities)
45
1.3.3 Connectivity Options
46
1.3.4 Prepackaged Integration Content
51
1.3.5 Security Features
52
1.3.6 High Availability
52
1.3.7 Integration Design and Monitoring Tools
53
1.4 Editions
53
1.5 Summary
54
2 Getting Started
57
2.1 Architecture Overview
57
2.1.1 Containerized and Clustered Integration Platform
58
2.1.2 Basic Constituents of the Cloud Integration
62
2.1.3 Architecture: User Access and Data Storage Areas
64
2.1.4 Secure Communication
70
2.1.5 Implementation of Message Flows
70
2.1.6 Architecture Summary
74
2.1.7 Environment-Specific Aspects of the Architecture
77
2.2 Tools and Processes
78
2.2.1 Tools
78
2.2.2 Processes
84
2.3 Running Your First Integration Scenario
86
2.3.1 Demo Scenario and Landscape
86
2.3.2 Prerequisites
87
2.3.3 Setting Up the Landscape and the Technical Connections
88
2.3.4 Developing the Integration Flow
89
2.3.5 Creating and Deploying a User Credentials Artifact
114
2.3.6 Importing Certificates Required by the Mail Server into a Keystore
117
2.4 Summary
123
3 SAP Integration Content Catalog
125
3.1 Introduction to SAP Integration Content Catalog
125
3.2 Terms and Conditions of Using Prepackaged Integration Content
128
3.2.1 Quick Configure versus Content Edit
128
3.2.2 Notify about Update (Manual Updates)
129
3.2.3 Automatic Updates
131
3.3 Consuming Prepackaged Content
131
3.3.1 Searching SAP Integration Content Catalog
132
3.3.2 Importing Prepackaged Integration Content
136
3.3.3 Modifying or Configuring the Integration Package
137
3.3.4 Deploy Content
143
3.4 Prepackaged Content Provided by SAP
143
3.4.1 Content for SAP SuccessFactors
144
3.4.2 Content for SAP Cloud for Customer
145
3.4.3 Content for Integrating with SAP Customer Experience
147
3.4.4 Content for Integrating with SAP Business Network
149
3.4.5 Content for Globalization Scenarios
151
3.4.6 Content for ELSTER Integration
152
3.4.7 Content for Salesforce Integration
154
3.5 Creating Your Own Content Package
156
3.6 Adapters to Third-Party Applications for SAP Integration Suite
159
3.7 Summary
162
4 Basic Integration Scenarios
163
4.1 Working with Cloud Integration’s Data Model
163
4.1.1 Message Processing: The Apache Camel Framework
165
4.1.2 Working with Apache Camel’s Message Model
168
4.1.3 Connecting and Configuring a Sender with an Integration Flow
170
4.1.4 Adding and Configuring Steps in the Integration Flow
174
4.1.5 Checking Configuration Using the Problems Tab
178
4.1.6 Running the Integration Flow
179
4.1.7 Troubleshooting
183
4.2 Using Externalization to Enable Easy Reuse of Integration Flows
185
4.2.1 Externalizing
186
4.2.2 Configuring and Running the Scenario
190
4.3 Calling External Systems by Invoking an OData Service
192
4.3.1 The Target Scenario
193
4.3.2 Invoking an OData Service
194
4.3.3 Configuring the OData Connection
195
4.3.4 Creating the Resource Path Using the Query Editor
197
4.3.5 Using the Content Enricher Step
203
4.3.6 Using the Poll Enrich Step
208
4.4 Working with Mappings
214
4.4.1 The Scenario
215
4.4.2 Adding and Using Resources via the References Tab
217
4.4.3 Applying the Mapping Step in the Message Processing Chain
222
4.4.4 Using Value Mappings to Enhance Your Scenario
229
4.5 Defining and Provisioning API-based Integration
234
4.5.1 The Target Scenario
234
4.5.2 Providing an OData Service
234
4.5.3 Providing a SOAP Service
245
4.5.4 Providing a REST Service
249
4.6 Message Routing
250
4.6.1 The Scenario
251
4.6.2 Configuration of the Content-Based Router
253
4.6.3 Running the Content-Based Router Scenario
257
4.7 Summary
260
5 Advanced Integration Scenarios
261
5.1 Working with an Aggregator
261
5.1.1 Sample Scenario
262
5.1.2 Sending Messages via SoapUI
266
5.2 Working with Lists
271
5.2.1 The Scenario
271
5.2.2 Configuring the Integration Flow
273
5.2.3 Running the Integration Flow
283
5.2.4 Enriching Individual Messages with Additional Data
287
5.3 Asynchronous Message Handling
289
5.3.1 Synchronous versus Asynchronous Communication from the Cloud Integration Perspective
290
5.3.2 Adding an Asynchronous Receiver
301
5.3.3 Routing a Message to Multiple Receivers Using the Multicast Pattern
304
5.4 Reliable Messaging Using the JMS Adapter
311
5.4.1 Asynchronous Decoupling of Inbound Communication
311
5.4.2 Configuring Retry for Multiple Receivers
322
5.4.3 Configuring Explicit Retry with Alternative Processing
329
5.5 SAP Process Integration and the XI Adapters
336
5.6 Using Event-Driven Messaging
336
5.6.1 Configuring a Publish-Subscribe Scenario
337
5.6.2 Reading Business Details from Providers
352
5.6.3 Sending Events to SAP Integration Suite, Advanced Event Mesh
355
5.7 Summary
359
6 Special Topics in Integration Development
361
6.1 Timer-Based Message Transfers
362
6.1.1 The Scenario
362
6.1.2 Configuring a Timer-Based Integration Flow
363
6.1.3 Externalizing Timer Configurations
367
6.1.4 Running the Integration Flow
369
6.2 Using Dynamic Configuration via Headers or Properties
370
6.2.1 An Integration Flow with a Dynamically Configured Attribute
372
6.2.2 Monitoring Dynamically Configured Attributes at Runtime
377
6.2.3 Using Predefined Headers and Properties to Retrieve Specific Data Provided by the Integration Framework
381
6.2.4 Adding a Custom Header to the Message Exchange
389
6.2.5 Monitoring Messages Using Custom Headers
390
6.3 Structuring Large Integration Flows Using Local Processes
391
6.3.1 Managing Complexity through Modularization
392
6.3.2 Developing an Integration Flow with a Local Integration Process
392
6.3.3 Using Exception Subprocesses
399
6.4 Connecting Integration Flows Using the ProcessDirect Adapter
405
6.4.1 Use Cases for the ProcessDirect Adapter
406
6.4.2 A Simple Example
407
6.4.3 Using Variables to Share Data between Different Integration Flows
412
6.4.4 Dynamic Endpoint Configuration with the ProcessDirect Adapter
415
6.5 Connecting to a Database Using the JDBC Adapter
421
6.5.1 JDBC Adapter Concepts
422
6.5.2 Setting Up a Database System
423
6.5.3 Setting Up an Example Scenario
425
6.6 Connecting to an AS2 Server Using an AS2 Adapter
428
6.6.1 Configuration of Sender Adapter to Receive Messages
429
6.6.2 Configuration of the Receiver Adapter to Send AS2 Messages
432
6.7 Versioning and Migration of Integration Flows
436
6.7.1 Integration Flow Component Versions
436
6.7.2 Upgrading an Integration Flow Component
438
6.7.3 Adapting Integration Content for SAP Process Orchestration
442
6.8 Simulation of Integration Flow Processing
448
6.9 Transporting Integration Packages to Another Tenant
455
6.9.1 Manually Transporting Integration Packages
456
6.9.2 Transporting Integration Packages Using Enhanced Change and Transport System
456
6.9.3 Transporting Integration Packages Using the Cloud-Based Transport Management Service
457
6.10 Using the Adapter Development Kit
460
6.10.1 Overview
460
6.10.2 Installing the Adapter Development Kit
461
6.10.3 Developing a Sample Adapter (SAP BTP, Neo and Cloud Foundry Environments)
464
6.10.4 Deploying the Adapter (SAP BTP, Neo Environment)
470
6.10.5 Deploying the Adapter (SAP BTP, Cloud Foundry Environment)
472
6.10.6 Testing the New Adapter
475
6.11 Guidelines for Integration Flow Development
478
6.11.1 Running an Integration Flow Under Well-Defined Boundary Conditions
479
6.11.2 Relaxing Dependencies to External Components
480
6.11.3 Keeping Readability in Mind
480
6.11.4 Handling Errors Gracefully
481
6.11.5 Applying the Highest Security Standards
481
6.11.6 Additional Best Practices
481
6.12 Working with Script Collections
482
6.12.1 Creating a Script Collection
483
6.12.2 Using the Script Collection in an Integration Flow
485
6.13 Advanced Message Mapping Concepts
488
6.13.1 Creating Message Mapping as an Artifact
489
6.13.2 Using the Message Mapping in Integration Flow
490
6.14 Summary
492
7 Cloud Integration Operations
493
7.1 Operations: Overview
493
7.2 Monitoring Integration Content and Message Processing
495
7.2.1 Managing Integration Content
497
7.2.2 Log Configuration
501
7.2.3 Monitoring Message Processing
502
7.2.4 Managing Tiles
518
7.3 Managing Security
521
7.3.1 Maintaining Security Material
523
7.3.2 Managing the Keystore
526
7.3.3 Maintaining Pretty Good Privacy Keys
534
7.3.4 Defining User Roles
535
7.3.5 Maintaining Certificate-to-User Mappings
537
7.3.6 Defining Access Policies
539
7.3.7 Managing Java Database Connectivity Data Sources
543
7.3.8 Testing Outbound Connectivity
547
7.4 Managing Temporary Data
560
7.4.1 Monitoring Data Stores
560
7.4.2 Monitoring Variables
564
7.4.3 Maintaining Message Queues
566
7.4.4 Maintaining Number Ranges
575
7.5 Accessing Logs
576
7.5.1 Monitoring Audit Logs
577
7.5.2 Checking System Log Files
579
7.6 Managing Locks
580
7.6.1 Dealing with Message Locks
581
7.6.2 Managing Design Time Artifact Locks
584
7.7 Monitoring Message Usage
585
7.8 Integrating Cloud Integration with Enterprise Monitoring Tools
588
7.8.1 Configuring Splunk to Receive Data from Cloud Integration
589
7.8.2 Enabling External Logging from SAP BTP Cockpit
593
7.9 Summary
597
8 Application Programming Interfaces
599
8.1 Introduction
599
8.2 Java APIs Provided by Cloud Integration
600
8.3 Using the Java API in a User-Defined Function
602
8.4 Using the Script Step
606
8.4.1 Target Scenario
607
8.4.2 Enhancing the Integration Flow
608
8.5 Open Data Protocol API
611
8.5.1 SAP Business Accelerator Hub
615
8.5.2 Cross-Site Request Forgery Token Handling for SAP BTP, Neo Environment
628
8.5.3 Monitoring Message Flows Using the API
631
8.5.4 Managing Deployed Integration Content Using the API
636
8.5.5 Managing Log Files Using the APIs
639
8.5.6 Managing Message Store Entries Using APIs
640
8.5.7 Managing Security Material Using the API
644
8.5.8 Managing the Partner Directory Using the API
645
8.6 Using Cloud Integration with API Management
646
8.6.1 Establishing a Connection between Cloud Integration and API Management
648
8.6.2 Provisioning APIs
650
8.6.3 Consuming APIs
657
8.7 Summary
660
9 Connecting to External Third-Party Systems
661
9.1 Introduction
661
9.2 Open Connectors: Connectors Catalog
663
9.2.1 Overview Tab
666
9.2.2 Information Tab
668
9.2.3 Setup Tab
669
9.2.4 Resources Tab
670
9.2.5 Validation Tab
671
9.2.6 API Docs Tab
672
9.3 Open Connectors: Understanding Connectors
675
9.3.1 Authenticate Connections with API Providers
677
9.3.2 Inspect Authenticated Connector Instances
680
9.3.3 Testing in the API Docs
682
9.4 Open Connectors: Understanding Common Resources
686
9.4.1 Creating a Common Resource
688
9.4.2 Cloning Common Resources
690
9.4.3 Transforming Resources
691
9.5 Using Cloud Integration with Open Connectors
695
9.5.1 Scenario
695
9.5.2 The Solution
696
9.6 Using Cloud Integration to Connect to Third-Party Systems without Open Connectors
704
9.6.1 Connecting to Salesforce
705
9.6.2 Connecting to Amazon Web Services
711
9.7 Summary
719
10 Cloud Integration Security
721
10.1 Technical System Landscape
722
10.1.1 Architecture
722
10.1.2 Network Infrastructure
725
10.1.3 Data Storage Security
727
10.1.4 Data Protection and Privacy
728
10.1.5 Malware Scanner
730
10.1.6 Physical Data Security
731
10.2 Processes
731
10.2.1 Software Development Process
732
10.2.2 Operating the Cloud Infrastructure and Providing and Updating the Software
732
10.2.3 Setting Up Secure Connections between the Tenant and Remote Systems
734
10.3 User Administration and Authorization
735
10.3.1 Technical Aspects of User Management
736
10.3.2 Personas, Roles, and Permissions
736
10.3.3 Managing Users and Authorizations for a Cloud Integration Subaccount
738
10.3.4 Authorization on the Package and Integration Flow Level
748
10.4 Data and Data Flow Security
754
10.4.1 Basic Cryptography in a Nutshell
755
10.4.2 Transport-Level Security Options
761
10.4.3 Authentication and Authorization
763
10.4.4 Securely Connecting a Customer System to Cloud Integration through HTTPS
777
10.4.5 Setting Up a Scenario Using OAuth with the Twitter Adapter
787
10.4.6 Message-Level Security Options
795
10.4.7 Designing Message-Level Security Options in an Integration Flow
799
10.5 Keystore Management
819
10.5.1 Using X.509 Security Material for Cloud Integration
819
10.5.2 Managing Security Material in the Tenant Keystore
823
10.5.3 Managing the Lifecycle of Keys Provided by SAP
827
10.6 Summary
832
11 Productive Scenarios Using Cloud Integration
835
11.1 Integration of SAP Cloud for Customer and SAP ERP
835
11.1.1 Technical Landscape
836
11.1.2 Example Adapter Configurations
837
11.2 Integration of SAP Cloud for Customer with SAP S/4HANA Cloud
840
11.3 Integration of SAP Marketing Cloud and Various Applications
840
11.4 Integration of SAP SuccessFactors and SAP ERP
842
11.4.1 Technical Landscape
843
11.4.2 SAP SuccessFactors Adapter
844
11.5 Integration of SAP Applications with SAP Business Network
846
11.6 Integration with German Tax Authorities Using the ELSTER Adapter
848
11.7 SAP S/4HANA Integration with Salesforce
851
11.7.1 Technical Landscape
852
11.7.2 Example Adapter Configurations
853
11.8 Summary
855
12 Special Topics in Cloud Integration
857
12.1 Edge Integration Cell: Overview
857
12.2 Edge Integration Cell: High-Level Architecture
859
12.2.1 Edge Lifecycle Management
861
12.2.2 Runtime and Operations
862
12.2.3 External Services
863
12.3 Edge Integration Cell: Setup and Installation
864
12.4 Develop, Deploy, and Monitor Your Integrations in the Edge Integration Cell
869
12.5 Migration from SAP BTP, Neo Environment to SAP BTP, Cloud Foundry Environment
871
12.5.1 Benefits of Migration to SAP BTP, Cloud Foundry Environment
871
12.5.2 Availability Zones and Regions
872
12.5.3 Migration Approach
872
12.6 Migration from SAP Process Orchestration to Cloud Integration
874
12.6.1 Assessment and Evaluation
874
12.6.2 Planning and Preparation
877
12.6.3 Migrate and Manage
878
12.7 Summary
879
13 Summary and Outlook
881
13.1 Integration Content Design
882
13.2 Connectivity
883
13.3 Edge Integration Cell
884
13.4 Migration from SAP Process Orchestration to Cloud Integration
885
13.5 Summary
885
The Authors
887
Index
889