Planning the Migration Process

Objective

After completing this lesson, you will be able to create a migration plan, incorporating various resources and pre-built content.

Migration Plan

Before starting your migration, verify the Migration Guide for SAP Process Orchestration. This guide addresses customers of SAP Process Orchestration who want to move to the SAP Integration Suite. There you can find all information needed when preparing for the migration and during the migration process itself.

The Migration Guide for SAP Process Orchestration is available on the SAP Help Portal.

This migration guide covers a variety of topics related to the migration process:

  • Assess your existing integration landscape and plan your target landscape.
  • Learn how to move your connectivity options to the connectors and adapters of the SAP Integration Suite.
  • Get an overview of the security aspects you must consider while migrating and how to manage them in SAP Integration Suite.
  • Learn about cloud-based error handling and logging strategies and understand the different approaches available.
  • Understand how interfaces are governed in the cloud and how to manage them across multiple landscapes.
  • Discover the different aspects involved in moving interfaces from SAP Process Integration and SAP Process Orchestration to SAP Integration Suite, as well as scenario and object assessment and how testing can be automated.

SAP Process Orchestration Landscape

For those who are not that familiar with the SAP Process Orchestration, this section explains the most important features of SAP Process Orchestration.

A summary of the main features of SAP Process Orchestration as detailed in the following text.

SAP Process Orchestration combines the power of SAP Business Process Management (BPM), SAP Process Integration, and SAP Business Rules Management (BRM) into one integrated offering. It provides tools to quickly automate and optimize business processes - from simple workflows to integrated processes that span applications, geographies, and organizational boundaries.

SAP Process Integration consists of the following components:

System Landscape Directory (SLD)

This component contains information about the landscape (technical systems and business systems) and the software catalog (product and software component versions). You can configure an SAP system to register itself in the SLD.

Enterprise Services Repository (ESR)

The ESR contains design objects such as data types, message types, interfaces, mappings, and process definitions.

Integration Directory (ID)
The Integration Directory enables you to configure integration scenarios for the message exchange.
Advanced Adapter Engine (AAE)

This component provides the basis for many adapters (for example, File, SOAP, HTTP, and REST) used to connect systems to the Integration Server. The AAE can also be used as the runtime environment for message processing.

Overview of the architecture of the Advanced Adapter Engine Extended.

The figure, SAP Process Orchestration Architecture shows the architecture of the Advanced Adapter Engine Extended (AEX).

The AEX provides the connectivity capabilities of the Advanced Adapter Engine (AAE) as well as design and configuration tools (Enterprise Service Repository and the Integration Directory) to set up integration scenarios.

The main components for design and configuration time are the Enterprise Services Repository (ESR) and the Integration Directory (ID). Using these tools, an integration expert can design integration content (for example, interfaces and process integration scenarios) and specify the configuration settings for message exchange for a specific system landscape. The design and configuration tools are connected to the System Landscape Directory (SLD), which contains, for example, the description of software components and systems.

Based on the configuration settings from the Integration Directory, messages are exchanged between the connected business systems at runtime. AEX uses the AAE as runtime engine.

To process messages, the AAE uses information from the ID. This information is made available to the AAE using a runtime cache.

SAP Process Orchestration Landscape Options

SAP Process Orchestration Landscape Options - Central

SAP Process Orchestration offers several landscape deployment solutions that can be categorized as central, distributed (model 1), or distributed (model 2) domains.

Outline of the central landscape deployment solution. A box for SAP Process Orchestration connects to a box for each of the following: SAP ERP Backend, SAP SCM Backend, and Non-SAP Application.

A single integration server communicating with all business systems. Central deployment of SAP Process Orchestration is a common architecture for most organizations because it represents the smallest possible installation footprint and holds associated total cost of ownership (TCO) benefits.

Distributed (Model 1)

Outline of the distributed model 1 landscape deployment solution. A box for SAP Process Orchestration connects to two non-central Advanced Adapter Engines, one of which is placed in a demilitarized zone (DMZ) for secure external communication.

A single integration server with one or more decentralized adapter engines communicating with relevant business systems. It's often found in organizations where performance or security reasons dictate a more complex solution compared to centralization. This is a hybrid approach between central and federated models combining the benefits around performance and security with the benefits from centralized governance, maintenance, and monitoring.

Distributed (Model 2)

Outline of the distributed model 2 landscape deployment solution. Two boxes for SAP Process Orchestration share content via a central ESR.

Two or more integration servers (domains) within a single landscape tier communicating with relevant business systems. Use of additional decentralized adapter engines per integration server is also possible and adds a further level of complexity. Due to the more complex architecture, the second distributed domain model allows greater flexibility, however at the expense of a higher TCO. Such organizations are usually larger in size and require a high degree of abstraction in their landscape.

In contrast to customer-driven reasons for this model, there are also some SAP-driven reasons, such as isolation for upgrade path independence or decoupling of business systems and portal UI bindings.

Cloud Foundry

The technical approach in Cloud Integration differs from the SAP Process Integration and SAP Process Orchestration landscape. In Cloud Integration, the integration platform is designed as a containerized and clustered integration platform. Messages processed by integration flows from different customers are handled on different parts of the platform (referred to as tenants). Tenants processing integration flows from different customers are strictly separated from each other in terms of CPU, data storage, and user access.

The high-level architecture of Cloud Integration. It calls out that the Administrator manages user permission for account and application, while the Integration Developer designs and operates integration content.

The figure Cloud Foundry Integration Landscape describes the high-level architecture of Cloud Integration.

Central Architecture

In a central landscape, many business systems are bound to a single integration server.

The central approach is also the perfect starting point for entering the cloud world, because all business systems connect to a single SAP Integration Suite.

Distributed (Model 1) Architecture

With the planned release of the hybrid deployment option, the distributed (model 1) architecture can also be resolved with a lightweight runtime in the customer network.

Distributed (Model 2) Domain Architecture

Due to the more complex architecture, the distributed (model 2) domain model allows greater flexibility, but at the expense of a higher TCO. Organizations that use the distributed (model 2) domain model are usually larger in size and require a high degree of abstraction in their landscape

Pre-built Content

SAP Business Accelerator Hub

The SAP Business Accelerator Hub (https://hub.sap.com) is a web application hosted by SAP to discover, explore, and test SAP and partner APIs (application programming interfaces) that are required to build extensions or process integrations.

APIs in SAP solutions use various protocols, documentation, and access mechanisms. Application and integration developers must have a consistent overview of the APIs available in the relevant SAP systems (deployed on-premise and in the cloud). Testing APIs and building prototypes also involves organizing access to relevant systems and tenants for developers.

SAP Business Accelerator Hub addresses these challenges by offering a central catalog of APIs, along with an integrated test environment in the cloud for easy testing. SAP Business Accelerator Hub covers APIs from SAP S/4HANA, SAP SuccessFactors, SAP BTP, SAP Hybris, and more.

SAP Business Accelerator Hub therefore simplifies the development process and reduces effort for:

  • Application developers when building extensions (for example, when building extensions to applications within the same line of business), mobile applications, or Web applications.

  • Integration developers when developing process integrations to third-party systems (Application-to-Application [A2A] or Business-to-Business [B2B]).

Integration Flow Design Guidelines

As an integration developer, you need to make sure that you design integration flows in a robust way in order to safeguard your company's mission-critical business processes. For this purpose, SAP offers several integration flow design guidelines. For each design guideline, one or more reference integration flows are documented.

You can access the integration flows from SAP Business Accelerator Hub. These integration flows are kept as simple as possible and can be set up and executed quickly.

The integration flows are designed to meet the following requirements:

  • Each integration flow focuses on one dedicated guideline or pattern to make it easy for you to understand the topic.
  • Each integration flow can be deployed and executed with minimum effort. That way, you can test each guideline or pattern on your own.
  • You can use reference integration flows as a basis for creating more complex scenarios.

Use the link to the Integration Flow Design Guidelines for more details. There you will find the following guidelines:

Learn the Basics

Understand the basic capabilities for modeling integration flows. Find the corresponding iFlows on the SAP Business Accelerator Hub. https://api.sap.com/package/DesignGuidelinesModelingBasics/integrationflow

Guidelines to Design Enterprise-Grade Integration Flows

An integration flow is enterprise grade when it's designed in such a way that it's qualified to implement parts of the mission-critical processes of an enterprise. A poorly designed integration flow can lead to errors. In the worst case, the integration flow breaks, resulting in a service disruption for the business process. It is your responsibility to design an integration flow in such a way that the overall availability of the business process isn't impaired. To fulfill this requirement, you need to embrace certain characteristics constituting an enterprise-grade integration flow.

Guidelines to Implement Specific Integration Patterns

In 2003, Gregor Hohpe and Bobby Woolf defined 65 Enterprise Integration Patterns in their book Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions. Both authors collected and documented these patterns from many client projects. Use the blog https://www.enterpriseintegrationpatterns.com/ from Gregor Hohpe to get an overview of the defined Enterprise Integration Pattern.

SAP Process Orchestration as well as SAP Integration Suite supports the implementation of Enterprise Integration Patterns that are also referred to as Integration Patterns or Messaging Patterns.

An example of an Enterprise Integration Pattern is the content-based router. Assume, for instance, that a sender is connected to multiple receiver systems. The business process requires that a message from the sender be forwarded to a particular receiver system, depending on the content of the message (for example, a customer ID). The content-based router makes such forwarding possible.

Another example is the splitter, which defines that a single message be split into multiple partial messages that can be processed individually.

Find the corresponding iFlows on the SAP Business Accelerator Hub: https://api.sap.com/package/DesignGuidelinesPatterns/overview.

The following table provides an overview of the Enterprise Integration Patterns that are available in each solution.

Enterprise Integration Pattern in SAP Integration Solutions

SAP Integration SuiteSAP Process Integration/SAP Process Orchestration
AggregatorAggregator available with SAP NetWeaver 7.3 EhP1 SP5 for SAP Process Orchestration
Composed Message ProcessorComposed Message Processor available with SAP NetWeaver 7.3 EhP1 SP5 for SAP Process Orchestration
Scatter GatherScatter Gather available with SAP NetWeaver 7.3 EhP1 SP5 for SAP Process Orchestration
Content EnricherContent Enricher available with SAP NetWeaver 7.3 EhP1 SP4 for SAP Process Orchestration
SplitterSplitter available with SAP NetWeaver 7.3 EhP1 SP4 for SAP Process Orchestration and Advanced Adapter Engine Extended (AEX)
Content Based RouterContent Based Router available with SAP NetWeaver 7.3 EhP1 SP4 for AEX
Recipient ListRecipient List available with SAP NetWeaver 7.3 EhP1 SP4 for AEX
Message FilterMessage Filter available with SAP NetWeaver 7.3 EhP1 SP4 for AEX
Content FilterContent Filter available with SAP NetWeaver 7.3 EhP1 SP4 for AEX
 Dynamic Router available with SAP NetWeaver 7.3 EhP1 SP4 for AEX
 Message Translator available with SAP NetWeaver 7.3 EhP1 SP4 for AEX
 Claim Check available with SAP NetWeaver 7.3 EhP1 SP5 for SAP Process Orchestration
 Sync/Async Bridge available with SAP NetWeaver 7.3 EhP1 SP4 for SAP Process Orchestration

Aggregator

The Aggregator pattern is a fundamental Enterprise Integration Pattern used in systems such as SAP Integration Suite to group multiple related messages and process them in bulk. This pattern is crucial for scenarios where individual messages need to be collected and managed together, such as collating multiple order items into a single order document. The aggregated message is then sent to the actual receiver.

Two flow charts depicting the Aggregator Pattern: one in SAP Process Orchestration and one in SAP Integration Suite.

The figure Aggregator Pattern explains the differences between the pattern implementation on SAP Process Orchestration and SAP Integration Suite.

Because the Aggregator pattern keeps a state, SAP Business Process Management (SAP BPM) is required to orchestrate the message flow. For the actual exchange of messages with the involved systems, the SAP Process Integration runtime of SAP Process Orchestration is used.

As you can see in the integration flow model, SAP Integration Suite comes with a dedicated Aggregator flow step. Therefore, you do not need to model the pattern in a loop as seen for SAP Process Orchestration. In the Aggregator flow step, you actually define your correlation condition as well as the completion conditions. Currently, last message condition and completion timeout are supported. Unfortunately, maximum number of messages is not yet supported. The rest of the flow steps are used in order to map the collection of items to the right message format, in our case an order with order header information and all items, hence removing redundant information.

Composed Message Processor

This pattern is used when a message with multiple elements needs to be handled, and each element requires different processing. The message is split into sub-messages and sent to different destinations for processing. The results are then recombined into one single message.

A flow chart depicting an example of a Composed Message Processor pattern.

In this example, a General Splitter is used to break up the order into multiple individual messages, according to the number of items within the original order. In a subsequent step, the Router forwards the items to a different inventory system, depending on the product category. The Content Enricher then reads data synchronously from an external system and appends the additional information to the original message before routing to the actual receiver. Finally, the Gather step reaggregates the multiple responses back into a single message within the original order.

Scatter Gather

With the Scatter-Gather pattern, you can broadcast a message to multiple recipients and reaggregate the responses back into a single message.

The reference Scatter-Gather Pattern integration flow consists of two integration processes: one for the scatter part and one for the gather part.

A flow chart depicting an example of the Scatter integration process.

In this example, the Scatter part takes the request and broadcasts it to multiple banks. Prior to this Scatter part, the timer is triggered via a separate message sent to the Gather part.

A flow chart depicting an example of the Gather integration process.

The Gather integration process receives the quotes from the banks, aggregates them, calculates the best quote, and finally returns the best quote to the requester.

Content Enricher

The Content Enricher reads data synchronously from an external system, and appends the additional information to the original message before routing to the actual receiver.

Two flow charts depicting the Content Enrichment Pattern: one for SAP Process Orchestration and one for SAP Integration Suite.

The figure Content Enricher Pattern explains this pattern on SAP Process Orchestration and on SAP Integration Suite.

In the above example, the process starts gathering an order list for a specific employee. The customer details are missing. They need to be retrieved from a different system. Therefore, you loop over the list of orders and, within each loop pass, you do a web service call using an automated activity. Within the automated activity, the additional information is then mapped to the respective order item, hence enriching the message.

On SAP Integration Suite, you can either model the Content Enricher via the Request Response pattern or via a dedicated Content Enricher flow step.

The Content Enricher flow step automatically matches the responses to the different items of the original message. It is particularly suited to enriching bulk data. Using this option is much better in terms of performance compared to a request response pattern. Here, you do not need to loop over all items carrying out individual lookup calls, you simply do one call and the matching is done automatically based on your key.

Splitter

Depending on the use case, there are several options available for the Splitter pattern. With the Splitter pattern you can break up a message into multiple individual messages according to the number of elements.

There are two use cases:

  • Splitting a bulk order message into multiple orders
  • Splitting a single order with multiple items
Variant with Iterating Splitter

When Splitting a bulk order message into multiple orders, you can use the variant with Iterating Splitter.

Process flow depicting an integration process with an iterating splitter step.

The figure Variant with Iterating Splitter illustrates this simple scenario containing an iterating splitter step.

Variant with General Splitter

The General Splitter allows you to split a single order with multiple items into individual messages. The General Splitter automatically duplicates the header information of the order for each individual message.

Process flow depicting an integration process with a general splitter step.

The integration flow Variant with General Splitter contains a general splitter step.

Variant with Message Mapping

Use this variant if you have specific requirements that aren't covered by the General Splitter or you want to reuse the mapping from your SAP Process Orchestration system.

Process flow depicting an integration process with message mapping.

The figure Variant with Message Mapping illustrates the required flow steps.

Content Based Router

Content-based routing allows you to forward messages to the right recipient, depending on the content of a message.

For each receiver, you can maintain a condition in the form of an XPath expression. The XPath expression can be either based on the payload data or the message header. During message processing, Cloud Integration evaluates the condition, and if met, routes the message to the respective receiver. If no receiver can be determined, Cloud Integration can proceed according to the following variants:

  • Send message to a default receiver
  • Ignore message
  • Raise an error
Send Message to a Default Receiver

In the example integration flow, the message is routed to different receivers depending on a certain routing condition. If neither routing condition is met, Cloud Integration sends the message to a default receiver.

Process flow depicting an integration process for content-based routing in which the message is sent to a default receiver.

The figure Variant Send Message to a Default Receiver shows the iFlow.

Ignore Message

In this variant, no receiver can be determined at runtime as no routing condition is met.

Process flow depicting an integration process for content-based routing in which the message is ignored if no receiver can be determined.

For each receiver, the routing condition is configured accordingly. In addition, a route is configured that points to an End event.

Raise an Error

In this example, an error is raised if no receiver can be determined, depending on the XPath expression. Now the default route leads to an Error End event.

Process flow depicting an integration process for content-based routing in which an error is raised if no receiver can be determined.

Different message processing options are modeled for the Exception Subprocess. The options depend on whether the event is triggered by the Error End event within the main integration process or any other error that can occur during message processing.

Recipient List

The Recipient List Integration Pattern allows you to send one or more messages to different recipients. Similar to an order, you want to send to different suppliers depending on the product that you want to order. Therefore, the particular suppliers are dynamically determined based on the respective goods. Other than for the content-based router, a copy of the message, is sent to multiple receivers.

There are two options when implementing the Receiver List pattern:

  • Static routing with XPath conditions
  • Dynamic routing using mapping to determine the receivers
Static Routing

In this variant, a fixed list of potential receivers exists. The recipient list pattern is realized via a combination of multicast and message filters.

Process flow depicting an integration process for the static routing with XPath conditions variant of the Recipient List pattern.

The figure Variant Recipient List with Static Routing shows an example iFlow. The Multicast step is used to send copies of the same message to multiple routes. The Message Filter is a specific type of the message router that has only one single receiver channel. The Message Filter evaluates every incoming message. If the message meets the criteria specified by the Message Filter, the message will be routed to the receiver, otherwise it's discarded.

Dynamic Routing

Other than for the static routing variant, you don't need to maintain a fixed number of receivers in the integration flow.

Process flow depicting an integration process for the dynamic routing using mapping to determine the receivers variant of the Recipient List pattern.

As shown in the above figure, the receiver determination part is decoupled from the receiver-specific delivery of the message. Therefore, a main integration process is modeled that contains the receiver determination, and an integration flow is modeled for each potential receiver. The main model and the individual integration flows are coupled via the ProcessDirect adapter. The ProcessDirect address is set dynamically based on the receiver determination.

Message Filter

With the Message Filter pattern, you can remove any data from a channel that you are not interested in. The Message Filter is a specific type of the Message Router pattern that has only one single receiver channel. Any incoming message is evaluated, and if it meets the criteria specified by the Message Filter, the message is routed to the receiver, otherwise it's discarded.

Process flow depicting an integration process for the Message Filter pattern.

The Message Filter pattern is similar to the Content-Based Routing pattern where the message is ignored if you cannot determine the receiver.

However, for the Message Filter pattern, you define only one single receiver.

In the Pattern Message Filter integration flow, you define a routing condition that is based on the product category. If the routing condition is not met, the message will be discarded. You can achieve this behavior by adding a default routing pointing to an end event.

Content Filter

The Content Filter Pattern allows you to remove data from a message that is not required in your application system.

There are two options when implementing such a scenario:

  • Using a Filter step
  • Using Message Mapping
Using a Filter Step

In this variant, the filter is used to remove all unnecessary data items from the message. However, the message header is kept.

Process flow depicting an integration process using the filter step variant of the content filler pattern.

The figure Variant Using a Filter Step illustrates this simple scenario.

Using Message Mapping

In this variant, Message Mapping is used to remove all unnecessary data items from the message, but the message header is kept.

Process flow depicting an integration process using the message mapping variant of the content filler pattern.

The integration flow only contains Message Mapping.

Hybrid Integration with Edge Integration Cell

Edge Integration Cell is an optional hybrid integration runtime offered as part of SAP Integration Suite, which enables you to manage APIs and run integration scenarios within your private landscape.

The hybrid deployment model of Edge Integration Cell enables you to:

  • Design and monitor your integration content in the cloud.

  • Deploy and run your integration content in your private landscape.

At runtime, the messages exchanged between sender and receiver systems are exclusively passed through your private landscape, as depicted in the following figure.

Overview ot the collaboration between SAP Integration Suite and Edge Integration Cell runtime. Design Integration and API content in the SAP Integration Suite. Deploy your designed objects on Edge Integration Cell Runtime Location and monitor message processing in the SAP Integration Suite.

As shown in the figure, your Edge Integration Cell runtime processes the integration scenarios. You must connect your Edge Integration Cell runtime to the cloud at regular intervals to synchronize data, such as, deployed artifacts that are required to reliably operate your integration scenarios.

The hybrid deployment option offers a more versatile solution, particularly for organizations that need to keep certain integration processes on premise due to compliance or security concerns. With Edge Integration Cell, you can process messages within your on-premise environment while still leveraging the design, management capabilities, and monitoring of the cloud-based UI in SAP Integration Suite. Edge Integration Cell is designed to operate without an internet connection for a limited period, which enables you to process messages without an internet connection and enhance the security of the backend systems.

Outline of the hybrid deployment option. At the top of the image, the SAP Integration Suite, with third-party apps, SAP apps, B2B trading partners, and government. Beneath the SAP Integration Suite, a red box containing hybrid integrations with Edge Integration Cell. These include API-based and event-driven integrations, security and governance, and operations.

The following figure provides an overview of the Edge Integration Cell Architecture.

An overview of the Edge Integration Cell architecture.
Edge lifecycle management

Edge lifecycle management is used as the foundation for software lifecycle management. It provides a shipment channel for SAP Business Technology Platform-based products to deliver and manage containerized workloads to on-premise or edge computing sites. It offers a convenient way to standardize the entire SAP software lifecycle for usage on the edge: Initial setup, onboarding, deployment, continuous lifecycle management operations, monitoring, and logging – all via centrally offered tooling using modern software architecture and industry standards (such as containers and K8s) in an SAP environment.

Runtime and Operations

In addition to runtime components for executing integration scenarios and API proxies, Edge Integration Cell also includes management components for edge operations.

Components require connectivity to certain SAP Integration Suite and SAP BTP services. Service keys are used to share the connectivity information with Edge Integration Cell components. For security reason, these service keys also need to be rotated as part of the software upgrade. Depending on the service type, keys have different validity timelines.

Edge Deploy Controller accesses the platform’s object store where credentials have a validity of 86 days. In general, service keys need to be rotated after 120 days. Key rotation is integrated in Edge Integration Cell lifecycle operations.

Edge Local Authentication and Authorization provides inbound local authentication and authorization for Integration Flows and API proxies. It removes the real-time dependency on SAP Business Technology Platform for inbound authentication and authorization. Currently, only Certificate/External Certificate service keys are supported for local authentication and authorization.

External Services

Edge Integration Cell includes a Message Service (Solace Broker) for asynchronous messages and system internal events.

Edge Integration Cell requires external services for managing persistence and policies. A Load Balancer is required to expose Edge Integration Cell endpoints and load balance traffic across K8s nodes and services.

Licensing Model

Outline of the licensing model. The top half of the image shows the SAP Integration Suite, Cloud tenant and Edge Integration Cell with a note that customers will have to subscribe to minimum 1 unit of standard or premium edition SKU. The lower half of the image shows a dedicated add-on SKU for Edge Integration Cell and Edge Integration Cell with a note that the add-on SKU will be dependent on SAP Integration Suite standard edition or premium edition.

Edge Integration Cell is included as a part of the existing SAP Integration Suite (for standard and premium editions and Cloud Platform Enterprise Agreement (CPEA) and pay-as-you-go (PAYG). Additional Edge Integration Cells can be acquired through a separate add-on Stock Keeping Unit (SKU). Only 50% of the messages that are processed by Edge Integration Cell are chargeable (excluding unmodified standard content for SAP-to-SAP software).

Log in to track your progress & complete quizzes