Table of Contents

Open all
Close all
Foreword
23
Acknowledgments
25
John Mutumba Bilay
25
Roberto Viana Blanco
25
Introduction
27
Who This Book Is For
28
Structure of the Book
28
I Getting Started
31
1 Introduction to SAP Process Orchestration
33
1.1 Historical Overview and Evolution
33
1.1.1 SAP Process Integration
34
1.1.2 SAP Composition Environment
35
1.1.3 SAP Process Orchestration
36
1.1.4 SAP Process Orchestration 7.5 Highlights
37
1.2 SAP Process Orchestration Components
38
1.2.1 SAP Process Integration
38
1.2.2 Business Process Management
42
1.2.3 Business Rules Management
43
1.3 Architectural Overview and Positioning
45
1.3.1 SAP Process Orchestration Positioning
45
1.3.2 SAP NetWeaver Application Server for Java: System Architecture
47
1.3.3 SAP NetWeaver AS Java System Logical Layers
50
1.4 Installation Options
53
1.4.1 Case 1: SAP Process Integration Dual Stack
53
1.4.2 Case 2: SAP PI Dual Stack and SAP Composition Environment in Separate Installations
54
1.4.3 Case 3: SAP PI Single Stack and SAP Composition Environment in Separate Installations
56
1.4.4 Case 4: SAP PO—SAP PI and SAP Composition Environment in a Single Installation
56
1.5 Summary
57
2 Administration and Development Tools
59
2.1 SAP Process Orchestration Tools
59
2.1.1 Enterprise Services Repository
61
2.1.2 Integration Directory
70
2.1.3 System Landscape Directory
73
2.1.4 Configuration and Monitoring
77
2.2 SAP NetWeaver Administrator
78
2.2.1 Availability and Performance
80
2.2.2 Operations
82
2.2.3 Configuration
82
2.2.4 Troubleshooting
84
2.2.5 SOA
84
2.3 SAP NetWeaver Developer Studio
86
2.3.1 Use and Download
86
2.3.2 SAP Process Orchestration and SAP NetWeaver Developer Studio
87
2.4 Summary
90
II Advanced Adapter Engine Extended (AEX)
91
3 Configuring the System Landscape Directory
93
3.1 System Landscape Directory Components and Features
94
3.1.1 Landscape
94
3.1.2 Software Catalog
100
3.1.3 Development
103
3.2 Registering Systems to the System Landscape Directory
107
3.2.1 Connecting to ABAP-Based Systems
107
3.2.2 Connecting to Java-Based Systems
108
3.2.3 Connecting to Other Systems
110
3.3 Administration of the System Landscape Directory
110
3.3.1 Server
110
3.3.2 Data and Content
112
3.4 System Landscape Directory Strategies
113
3.4.1 Manual Export and Import of Data
114
3.4.2 Automatic Bridge Forwarding
115
3.4.3 Full Automatic Synchronization
116
3.5 Tips and Tricks
118
3.5.1 Naming Convention
118
3.5.2 Keeping Your System Landscape Directory Catalogs Up to Date
119
3.5.3 Self-Registration of a Java-Based System with the SLD
120
3.5.4 Configuring Data Suppliers from One SLD to Another
122
3.5.5 Manual Export and Import of Data
122
3.5.6 Connecting the SLD to CTS+ to Facilitate the Export and Import of SLD Data
122
3.6 Exercise: Configuring the System Landscape Directory
124
3.6.1 Exercise Description
124
3.6.2 Exercise Solution Approach
125
3.6.3 Exercise Step-by-Step Solution
126
3.7 Summary
131
4 Working with the Enterprise Services Repository and Registry
133
4.1 Basic ES Repository Technical Concepts
134
4.1.1 Functional Blocks
134
4.1.2 First Steps in the Enterprise Services Repository
136
4.1.3 Service Interface
137
4.1.4 Integration Patterns: Stateful and Stateless Communication
138
4.1.5 Asynchronous versus Synchronous
139
4.1.6 Quality of Service
141
4.2 Design Objects
141
4.2.1 Software Component Versions
142
4.2.2 Folders
142
4.2.3 Namespaces
142
4.2.4 Mappings
144
4.2.5 Process Integration Scenario
147
4.2.6 Actions
148
4.3 Data Types and Message Types
149
4.3.1 Data Types
149
4.3.2 External Definitions
149
4.3.3 Message Type
150
4.3.4 Additional Design Objects
151
4.4 Exercise: Working with the ES Repository and Registry
153
4.4.1 Exercise Description
153
4.4.2 Exercise Solution Approach
153
4.4.3 Exercise Step-by-Step Solution
154
4.5 Summary
169
5 Working with the Integration Directory
171
5.1 Integration Directory Overview
171
5.2 Collaboration Profiles
173
5.2.1 Party
173
5.2.2 Communication Component
174
5.2.3 Communication Channel
177
5.2.4 Communication Component without a Party
186
5.3 Adapter Types
189
5.3.1 Technical Adapters to Enable Communication with SAP or Third-Party Systems
189
5.3.2 Application Adapters to Enable Communication with an SAP System
190
5.3.3 SAP Industry Adapters
191
5.3.4 Third-Party-Developed Adapters
191
5.4 Integrated Configuration
192
5.4.1 Inbound Processing
193
5.4.2 Receiver
195
5.4.3 Receiver Interfaces
198
5.4.4 Outbound Processing
199
5.5 The XI Message Protocol
203
5.6 Configuration Scenario
204
5.6.1 Creating a Configuration Scenario from Scratch (Manually)
204
5.6.2 Creating a Configuration Scenario from a Model
205
5.7 Value Mapping
206
5.7.1 If/Else Logic
206
5.7.2 Fixed Values
207
5.7.3 Value Mapping
208
5.8 Business-to-Business Integration
209
5.8.1 Business-to-Business On Premise
209
5.8.2 Business-to-Business Managed Services
210
5.8.3 Trading Partner Management
210
5.9 Axis Framework
212
5.10 Representational State Transfer Adapter
215
5.11 Message Alerting
218
5.11.1 Alert Rule Overview
219
5.11.2 Creating an Alert Rule
222
5.11.3 Editing or Deleting a Rule
225
5.12 Publish the Service in the Services Registry
225
5.13 Integration Directory Programming Interface (Directory API)
226
5.14 Exercise: Working with the Integration Directory
229
5.14.1 Exercise Description
229
5.14.2 Exercise Solution Approach
230
5.14.3 Exercise Step-by-Step Solution
230
5.15 Summary
238
6 Building an Integration Flow
241
6.1 SAP NetWeaver Developer Studio
242
6.1.1 Installing SAP NetWeaver Developer Studio
242
6.1.2 Setting Up SAP NetWeaver Developer Studio
243
6.1.3 Enterprise Integration Patterns and User-Defined Templates
246
6.2 Basics of Creating and Configuring an Integration Flow
248
6.2.1 Creating an iFlow
248
6.2.2 Configuring an iFlow
250
6.3 iFlow Example
256
6.3.1 Creating Products, Software Components, Business Systems, and Technical Systems in the SLD
256
6.3.2 Importing SLD Objects into the ES Repository in SAP NetWeaver Developer Studio
259
6.3.3 Create Enterprise Service Repository Objects
260
6.3.4 Create Directory Objects: Import Business Systems and Create iFlows
268
6.3.5 Testing the iFlow Scenario
272
6.3.6 Monitoring the Scenario
272
6.4 New Features of the Process Integration Designer
273
6.4.1 Export Objects from the Integration Designer
273
6.4.2 Automatically Deploy after Import
274
6.4.3 Version History and Deployment Status
276
6.5 Supporting Multiple Senders for Your iFlow
277
6.6 Exercise: Building an Integration Flow
280
6.6.1 Exercise Description
280
6.6.2 Exercise Solution Approach
281
6.6.3 Exercise Step-by-Step Solution
281
6.7 Summary
289
7 Administration and Monitoring in AEX
291
7.1 Administration
291
7.1.1 Central Administration Tool
292
7.1.2 SAP NetWeaver Administrator
293
7.1.3 SAP NetWeaver Application Server Java
294
7.1.4 SAP Process Integration Monitoring (pimon)
294
7.1.5 SAP Management Console
294
7.1.6 Config Tool
295
7.1.7 Administration Using Telnet
296
7.2 Monitoring
296
7.2.1 SAP NetWeaver Administrator
296
7.2.2 SAP Process Integration Local Monitoring
297
7.2.3 SAP PI Central Monitoring with SAP Solution Manager
300
7.2.4 Message Retention
303
7.2.5 User-Defined Message Search
303
7.3 Troubleshooting
309
7.3.1 Configuring Log and Traces
311
7.3.2 Using the Log Viewer
313
7.4 Summary
316
8 Migrating Interfaces from SAP PI Dual Stack to SAP PO
317
8.1 Migration Strategies
317
8.2 Migrating System Landscape Directory Content
321
8.2.1 Products
321
8.2.2 Software Components
322
8.2.3 Technical System
323
8.2.4 Business System
323
8.3 Migrating Enterprise Services Repository Content
324
8.3.1 Exporting Objects
324
8.3.2 Importing Objects
325
8.4 Migrating Integration Directory Content
325
8.4.1 Manually
326
8.4.2 Using the Migration Tool
327
8.5 Summary
337
III Business Process Management and Composition
339
9 Introduction to SAP BPM and BPMN 2.0
341
9.1 Managing Business Processes
342
9.2 SAP Business Process Management
344
9.2.1 SAP BPM versus SAP Business Workflow
345
9.2.2 BPM before SAP BPM
347
9.2.3 SAP BPM Main Components
349
9.3 Business Process Model and Notation 2.0
351
9.3.1 Swimlanes
353
9.3.2 Artifacts
356
9.3.3 Flow Objects
358
9.3.4 Connections
367
9.4 Summary
369
10 Creating Your First SAP BPM Process
371
10.1 SAP BPM Positioning and Development Environment
371
10.1.1 Positioning
372
10.1.2 Setting Up Your Development Environment
373
10.2 Creating and Modeling an SAP BPM Process
377
10.2.1 Demonstration Scenario
377
10.2.2 Building an SAP BPM Process: Overview
379
10.2.3 SAP NetWeaver Developer Studio Perspective Concept
380
10.2.4 Create a Project in SAP NetWeaver Developer Studio
382
10.2.5 Creating a Process for Your BPMN
387
10.2.6 Creating a BPMN Model
390
10.3 Configuring the BPMN Model
396
10.3.1 Data Objects
396
10.3.2 Creating Data Structures
397
10.3.3 Importing XSD and WSDL
399
10.3.4 Process Pool Properties
399
10.3.5 BPMN Flow Objects
406
10.4 Flow Objects
407
10.4.1 Events
407
10.4.2 Tasks
418
10.4.3 Activities
428
10.4.4 Gateways
447
10.4.5 Artifacts
450
10.5 Build and Deploy Your Process
452
10.5.1 Steps for Building a Process
453
10.5.2 Steps for Deploying a Process
454
10.6 Advanced Mapping
455
10.6.1 Mappings
455
10.6.2 Options in Mapping Assignment
457
10.6.3 Automatic Mapping
458
10.6.4 Custom Functions
460
10.7 Implementing Error Handling
462
10.8 Combining SAP BPM and the AEX
464
10.8.1 Message from SAP BPM to the AEX
466
10.8.2 Message from the AEX to SAP BPM
467
10.8.3 Leverage an ES Repository Mapping in SAP BPM
468
10.9 Exercise: Creating an SAP Business Process Management Process
470
10.9.1 Exercise Description
471
10.9.2 Exercise Solution Approach
471
10.9.3 Exercise Step-by-Step Solution
472
10.10 Summary
498
11 Applying Advanced SAP BPM Concepts and Extensions
501
11.1 Service-Oriented Architecture Configuration
501
11.1.1 Configuration for an Automated Activity
502
11.1.2 Configuration for a Start Event or Intermediary Event
515
11.2 Testing and Running an SAP BPM Process
517
11.2.1 Process Repository Overview
517
11.2.2 Process Testing
519
11.3 Custom Enterprise Java Bean Functions
523
11.3.1 Create EJB and EAR Development Components
523
11.3.2 Create the Enterprise Java Bean
526
11.3.3 Build and Deploy
529
11.3.4 Create a New Enterprise Java Bean Function
530
11.4 Using the Claim Check Pattern
532
11.4.1 Create Interfaces
534
11.4.2 Create Mappings
534
11.4.3 Configure the Channel
534
11.4.4 Retrieve the Large Message from SAP BPM
535
11.4.5 Update the Status of the Large Message from SAP BPM
536
11.5 SAP BPM Application Programming Interface
536
11.5.1 Prerequisite to Using the SAP BPM API
537
11.5.2 Implementation Aspects and Examples
537
11.6 SAP Business Process Management OData
539
11.6.1 OData Services for Tasks and Task Data
541
11.6.2 Error Handling
541
11.7 Using the Push API to Access SAP BPM Lifecycle Events
542
11.7.1 Accessing Events through a Message Driven Bean
543
11.7.2 Accessing Events through a Java Message Service API
544
11.8 Debugging and Troubleshooting SAP BPM Processes
545
11.8.1 Place Breakpoints in the Process
546
11.8.2 Add a Debug Configuration
547
11.9 Tuning SAP BPM-Related Performance Parameters
549
11.10 Best Practices for Your SAP BPM Application
551
11.10.1 BPMN, Mapping, and Parallelism
551
11.10.2 Task Related
552
11.10.3 Gateways
552
11.10.4 Looping
553
11.10.5 Data Object
553
11.10.6 Correlation
553
11.10.7 Error Handling
554
11.10.8 Housekeeping
554
11.11 Exercise: Applying Advanced SAP BPM Concepts and Extensions
554
11.11.1 Exercise Solution Approach
555
11.11.2 Exercise Step-by-Step Solution
555
11.12 Summary
566
12 Combining SAP BPM and UI Technologies
567
12.1 Web Dynpro Java User Interface Technology
567
12.1.1 Generating a Web Dynpro User Interface
569
12.1.2 Post-Configuration Steps
574
12.2 Integrating SAPUI5 into an SAP BPM Process
578
12.2.1 SAPUI5 Technology Platform
579
12.2.2 Model-View-Controller Concept
580
12.2.3 SAPUI5 Components
581
12.2.4 Other SAPUI5 Concepts
583
12.2.5 Integration Steps
583
12.3 Other User Interface Technologies
592
12.3.1 Visual Composer
592
12.3.2 Adobe Offline Forms
592
12.3.3 Support for Custom User Interface Technologies
593
12.4 Summary
595
13 SAP Business Rules Management
597
13.1 How Business Rules Work
597
13.2 SAP Business Rules Management
601
13.2.1 Rules Composer
603
13.2.2 Rules Manager
605
13.2.3 Rules Engine
609
13.3 Modeling Business Rules with Rules Composer
610
13.3.1 Create the Rules Composer Development Component
610
13.3.2 Adding Context to the Rules
612
13.3.3 Creating a Ruleset
614
13.3.4 Flow Ruleset
620
13.4 Testing Business Rules
623
13.5 Best Practices for Modeling Business Rules
625
13.5.1 Separate Decision Logic from Other Types of Logic
625
13.5.2 Reuse and Extend before Building
626
13.6 Exercise: SAP Business Rules Management
627
13.6.1 Exercise Solution Approach
628
13.6.2 Exercise Step-by-Step Solution
629
13.7 Summary
650
14 Implementing Java Proxies
653
14.1 Java Proxy Concept and Considerations
654
14.2 Implementation Approaches
655
14.2.1 Outside-In Approach
655
14.2.2 Inside-Out Approach
656
14.3 Technical Implementation
656
14.3.1 Development Environment
656
14.3.2 Developing a Server Java Proxy
659
14.3.3 Developing a Client Java Proxy
675
14.4 Building an Orchestration
687
14.5 Exercise: Implementing Java Proxies
688
14.5.1 Exercise Solution Approach
689
14.5.2 Exercise Step-by-Step Solution
689
14.6 Summary
714
15 Administration and Monitoring Message Processing in SAP BPM
715
15.1 Monitoring
715
15.1.1 SAP Business Process Management System Overview
716
15.1.2 Process Repository
717
15.1.3 Process Management
718
15.1.4 Task Management
723
15.1.5 SAP BPM Inbox
725
15.1.6 Business Logs
727
15.1.7 SAP BPM Action Monitor
728
15.1.8 Process Troubleshooting
730
15.1.9 Rules Business Logs
730
15.1.10 SAP BPM Analytics Dashboard
731
15.2 Administration
733
15.2.1 Process Data Archiving
733
15.2.2 Log Viewer
734
15.3 Summary
736
16 Migrating ccBPM from SAP PI to SAP PO
737
16.1 Motivation for Migration
737
16.2 Migration Approach
740
16.2.1 Analyze the As-Is Integration Processes
743
16.2.2 Translate and Redesign
745
16.2.3 Export and Reuse Enterprise Services Repository Objects
748
16.2.4 Migrate and Adapt Configuration Scenarios
751
16.3 Recommendations
755
16.4 Summary
757
IV Advanced Concepts
759
17 SAP Cloud Platform Integration for SAP PO
761
17.1 Enable Cloud Integration Content in SAP PO
762
17.2 Reusing Cloud Integration Content
763
17.2.1 Download Cloud Integration Content
764
17.2.2 Deploy the Cloud Integration Content
766
17.3 Monitoring
767
17.3.1 Monitoring the Integration Gateway Component
767
17.3.2 Monitoring Messages Related to the Deployment of Cloud Integration Content
769
17.4 Summary
770
18 Additional Components for SAP Process Orchestration
771
18.1 Component Model
772
18.1.1 Product
773
18.1.2 Software Components
773
18.1.3 Development Component
774
18.1.4 Dependencies among Development Components
776
18.1.5 Public Parts
779
18.2 SAP NetWeaver Development Infrastructure
781
18.2.1 Change Management Services
783
18.2.2 Design Time Repository
798
18.2.3 Component Build Service
801
18.3 SAP Composite Application Framework
804
18.3.1 Design Time Aspects
805
18.3.2 Runtime Aspects
811
18.4 Service Registry
812
18.5 Enhanced Change and Transport System
815
18.5.1 SAP PI-Related Transports
816
18.5.2 Transports for Non-SAP PI Java Objects
819
18.6 Exercise: Create an SWCV
821
18.6.1 Exercise Solution Approach
821
18.6.2 Exercise Step-by-Step Solution
822
18.7 Summary
830
19 Landscape Setup Considerations
833
19.1 Java System Configuration
833
19.1.1 Java Sizing and Setup Considerations
834
19.1.2 Java System Architecture
841
19.1.3 Java Central Services
842
19.1.4 Java Parameter Tuning
843
19.2 Handling Certificates
846
19.2.1 Certificate Key Storage
846
19.2.2 Encryption of Message Content on Database Level
846
19.3 Housekeeping
847
19.3.1 Archiving
847
19.3.2 Deletion
847
19.3.3 Restarting
847
19.3.4 Recovery
848
19.4 Monitoring
848
19.4.1 Runtime Workbench
849
19.4.2 Wily Enterprise Manager
850
19.4.3 SAP Management Console
851
19.4.4 SAP Solution Manager Monitoring
853
19.4.5 Tracing
854
19.4.6 JVMMON
856
19.5 Summary
857
Appendices
859
A Orchestration Outlook
859
A.1 SAP API Management
859
A.2 SAP Cloud Platform Integration
860
A.3 The Integration Advisor
876
A.4 SAP Cloud Platform Workflow as a Service
879
B The Authors
885
Index
887