Integration Flow Simulation in SAP Cloud Platform Integration

SAP Cloud Platform Integration April 2020 release (3.23.x/4.11.x) provides a feature to simulate Integration Flow. This feature is described in the SAP Help Portal ( see Integration Flow Simulation).

What is an Integration Flow Simulation

Simulation in an Integration flow Web editor is the feature that enables integration developers to test a subset of integration flow during development without the need of deploying an integration flow and enable trace explicitly.

Why an Integration Flow Simulation

As we know modelling an integration flow, deploying and enabling trace to validate all the steps of integration flow is a time-consuming task.  Developing integration flow is an incremental process that needs the repetition of the cycle of deploying & enabling trace which is cumbersome and reduce the developer productivity. Therefore, there is a need to have a test environment that will give an instant outcome of the integration flow and as well enables developers to negate the possibility of the deployment failure of the integration flow.

To overcome this challenge, we have now introduced an Integration Flow Simulation functionality in SAP Cloud Platform Web Editor that will help developers to validate the subset of integration flow and assess the behavioral outcome of steps in the integration flow. The simulation feature will simulate the execution of the integration flow and gives the developer the output that could be in the form of Payload, Headers & Properties.

How to use Integration Flow Simulation

In this section, we explain how to use this feature and leverage the benefits to test the integration flow. But before this, you should be well versed with the following.

  1. Functionalities and operations of symbols that are associated with the Simulation feature.
  2. Different Color convention associated with the symbols.

Functionalities of the symbols

Functionalities Symbolic Representation Details
Simulation Mode

This switch enables the simulation functionality and it’s located at the top-right corner in the canvas. A simulation tool will be available on the canvas once you turn ON the simulation mode.

Note – Simulation mode is OFF by default.

Start Point

A Start Point is an element of Simulation. It needs to be placed where simulation to be done at first on your flow path.

It feeds a simulation input.

End Point An End Point is an element of simulation that needs to be placed to end the simulation on your connection or the defined path of simulation.
Add Simulation input

On click of start point, Add Simulation Input dialog opens.

This capability allows integration developer to add input that could be as follows:

  • Header
  • Properties
  • Payload

You can copy paste the payload in the body

Add Simulation Response

This capability allows integration developer to simulate the response from the receiver adapter connected to Request-Reply step.

Simulate the read of variable in the content modifier.

Simulate the read of the data store in the Get element.

Run Simulation It’s an action element available in the simulation tool, which is used to run the simulation once the start and end point have been defined.
Clear Simulation It’s an action button on the simulation tool that is used to remove all the simulation elements like start point, end point, message processing output for all the previously defined.
Message Envelope When the simulation run is successful, the message envelop is rendered and located between the start and end point. On Click of message envelope, message content display in the form of header, properties, and message body.

Color conventions of symbol

Color Code Used For Details
Blue Start point and Message Envelope

Start Point: Always remains the same.

Message Envelope: Appear after running the simulation successfully. You can proceed to check simulation output just by clicking on it.

Red End point and Message Envelope Appear when there are any errors. Click on the respective functionalities to check error messages.
Black End point Normal behavior and no action required.
Green End point Appear on successful execution of simulation.

Hope you are aware of the functionalities and color convention of the symbols, now it makes sense to take you through the process of simulating a subset and the complete integration flow.

Open your integration flow in read-only mode. And on the top right corner of the integration flow editor, you see a switch button that helps you to enable the simulation tool. It is switched off by default.

On enabling the Simulation button, the simulation tool appears over the integration flow.

This tool lets you

  • run the simulation
  • clear simulation
  • context sensitive help that will direct you to the information needed.

Let us first set the simulation for a subset of this integration flow.

Click on the connector line where you need to define the start point of your simulation.

 

Follow the same to define the End point for your simulation.

Now you can see that the first two icons of the simulation tool have been enabled.

Now, we need to provide an input for the simulation to run. You can add a header value or a property or you can enter a payload in the body. For this test, let us provide an input payload in the body. You must click the start point which will open the “Add Simulation Input” dialog.

For this test of an integration flow, let us provide following input payload in the body. You can copy paste the following code.

<root> <order> <orderno>OD0001</orderno> </order> </root>

The subset of an integration flow now filters the incoming payload based on the XPath provided in the Filter step.

Let us run the simulation now.

 

The simulation is complete and if it is successful, the End Point turns from black to green.

The message envelope is decorated between the Start and End point. On click of the Message Envelope, the processed output of the step will be shown in the property sheet.

Based on the simulation input and the XPath provided, the output message should consist of the order details.

Let us clear the simulation.

Click on the Clear Simulation in the tool. Simulation data, settings is cleared off.

Supported components for an Integration Flow Simulation

Details on Components Supported in the Simulation Process.

Category Elements Supportability
Message Transformers
  • Content Modifier
  • Converter
  • Decoder
  • Encoder
  • Filter
  • Message Digest
  • Script

All.

Note – For the Script flow step HTTP calls can’t be simulated.

Call
  • External Call
  • Local Call
All. Except the following: –

  • Looping Process Call

Note

It’s made available in the successive release

Message Routing
  • Aggregator
  • Gather
  • Join
  • Router
  • Splitter
All Routing Elements except the following: –

  • Aggregator
  • Splitter
  • Gather
  • Multicast

Note

It’s made available in the successive release

Security Elements
  • Decryptor
  • Encryptor
  • Signer
  • Verifier
All.
Persistence
  • Data Store operations
  • Persist
  • Write Variables

All.

You can only simulate the read of variable value and data store.

Validator XML Validator All.

Benefits of Simulation

This section lists the benefits of simulation in an integration flow.

  1. Simulate the subset of integration flow without need to deploy and enable tracing.
  2. This feature offers realistic input to integration developers when designing an integration flow.
  3. Simulation allows the developer to simulate dependencies and identify issues at the early stage.
  4. It helps integration developer to identify the probable deployment errors.
  5. Any errors identified during the simulation, records as a message along with recommendations to fix it.
  6. Improves the integration developer productivity.

Scope of an Integration Flow Simulation

With the first release (3.23.x/4.11.x) of the Integration flow simulation, we would support the simulation of an integration flow in the read-only mode of integration flow web editor.

The maximum no of steps which can participate in the simulation of integration flow is 10.

Maximum size of the payload – 1 MB

Successive Increments of an Integration Flow Simulation

The successive increments in the integration flow simulation will bring some more additional capabilities. Some of the salient features are as follows:

  1. Start supporting the remaining components which are not supported.
  2. Availability of smart upload capability in integration flow simulation input and simulation response dialog.
  3. Download of the message content from the property sheet after simulation run.
  4. Some more improvements in the validation handling scenarios.
  5. Simulating steps in the edit mode of integration flow.
  6. Persistency/Save of simulated data, configuration and settings.