
I like to let you know that a new version 1.0.9 of the Pipeline Concept has been recently shipped with a couple of new enhancements that help you to improve the overall performance, operation and lifecycle when using the Pipelines package for Cloud Integration. At a glance, the following new features and fixes have been introduced:
The package can be accessed from the SAP Business Accelerator Hub. If you have already copied the package to your workspace in your SAP Integration Suite tenant, you can simply run the update of the package to be able to use the latest features.
Let me briefly describe the major new features.
In the previous package version 1.0.8, we shipped the option to combine receiver and interface determination in one single XSLT mapping for an improved runtime behavior. Now, with the new version, we introduced a new pipeline step called Pipeline Generic Step02 - Integrated Messaging Runtime Async which combines the inbound conversion as well as the receiver and interface determination in one single pipeline step. This helps to further improve the runtime behavior as well as monitoring and operation.
When using this new integrated pipeline step, you are able to skip most of the other pipeline steps. So, you can reduce the number of JMS queues required to process your messages from 4 to 2 or 8 to 4 when counting in the dead letter queues as well. This integrated messaging runtime only works with the combined receiver and interface determination XSLT, so we can reduce the number of XSLT to a minimum of 1. If you like to use this integrated pipeline instead of the fully decoupled pipeline, you just need to deploy the new generic flow and configure the JMS queue of the scenario-specific inbound processing flow accordingly, by default the name of the inbound processing queue of the integrated pipeline is PIPX01 instead of PIPQ01.
From performance measurements that we did, we know that reading and writing from and to the JMS queues incl. zipping and unzipping the messages as well as fetching the XSLT mappings from the Partner Directory incl. decoding the XSLT require the most CPU consumption within the overall pipeline processing. So, using the integrated messaging runtime helps to reduce the overall CPU consumption compared to the fully decoupled pipeline with 4 generic integration flows instead of 2.
Furthermore, since we run through less number of pipeline steps, the number of message processing logs is also reduced.
We still support the complete pipeline which is shown here:
Recommendation however is to use the integrated pipeline. This picture nicely illustrates which steps and queues can be saved.
For more details about the integrated messaging runtime, see the chapter Integrated Messaging Runtime (Asynchronous) in the standard documentation.
With the new version, we now also support a synchronous pipeline. The new pipeline called Pipeline Generic Step02 - Integrated Messaging Runtime Sync combines the receiver and interface determination in one single pipeline step and is suited for handling synchronous Content-Based-Router scenarios. Other than the async pipelines, it doesn't require any JMS queue, instead the pipeline steps are connected using the ProcessDirect adapter which is synchronous by nature.
For more details about the synchronous integrated messaging runtime, see Integrated Messaging Runtime (Synchronous).
On Cloud Integration, you do not necessarily have to have different business system names depending on the landscape stage such as DEV, QA, PRD. For XI and IDoc however you usually do. In SAP Process Orchestration, you maintain the business systems as well as transport groups in its SLD, and when transporting the objects between the stages, the business names are automatically converted. This is not supported in Cloud Integration, so we came up with the following approach to support different stages without the need converting the system names when transporting across the stages.
Within the pipeline, we actually use alias names for the business systems. During runtime, the actual sender business system name is mapped to a sender alias which is used within the pipeline processing, once the receiver alias has been determined, it is then mapped to the actual receiver business name. This allows you to run your scenarios on the different landscape stages without changing the configuration in the Partner Directory such as the XSLT for determining the receivers. So, all partner and scenario definitions in the Partner Directory are the same on all stages based on the alias names. As said, there is no need to do any changes in the XSLT, so this approach is less error prone.
To setup the support for landscape stages, you need to create the business system aliases as partner IDs in the Partner Directory where for each stage you maintain the mapping between alias name and actual names.
Furthermore, to automatically identify the landscape stage of your tenant during runtime, the tenant names are used which are mapped to the corresponding stage IDs. This mapping is stored in the Partner Directory using partner ID SAP_Integration_Suite_Landscape. To do so, you can either use the Partner Directory API or the new Partner Directory user interface.
For more details, see Landscape Stages.
With the latest enhancements of the Cloud Integration capability of SAP Integration Suite, we support the so called handled by integration flow option for both the XI sender and the XI receiver adapter. In the generic XI inbound processing flow we have changed the XI sender adapter using this very option. With this, we can reduce the number of JMS queues by one. Since we write the messages into an inbound JMS queue anyway, we do not need to use the XI sender specific JMS queue. Furthermore, this option allows us to receive both async and sync calls via the same inbound adapter. So, this reduces the configuration effort in your sender backend, there is no need any more to maintain the IS_URL configuration parameter, all scenarios can be pointed to the very same end point on Cloud Integration.
For more details, see XI Sender Adapter.
If you like to try out the pipeline concept in general and the new features in particular, check out this github repository where I describe how to setup sample scenarios using the pipeline concept. Here, we have added the following new scenarios and scenario variants leveraging the new features:
As usually, in case of feedback, feel free to reach out to me.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.