Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
kamlesh_zanje
Product and Topic Expert
Product and Topic Expert
7,597
With the January 2020 update (3.20.x) of SAP Cloud Integration, we’ve enriched the externalization feature of Integration Flow Web editor with this release.

Introduction


 

Externalization feature enables an integration developer to define parameter for configurations of adapters or flow steps in an integration flow, whose values can be provided at a later point in time, without editing the integration flow.

This feature was already available in the Integration Flow Web editor. The core aspects of the externalization capabilities have been covered in this blog and SAP Cloud Integration Product documentation

However, over a period of time, we received suggestions and pain points from integration developers who have been building integration contents from scratch. We’ve understood their requirements and improved the externalization capabilities.

Let's summarize the externalization feature and its capabilities in a nutshell before I share the details on the enrichments. Integration Developers build their integration flows in their development landscape using the SAP Cloud Integration Web editor and import them to the test and production landscape once the development is complete. They realize that the same integration flow may not work with the same configuration across different landscapes, because endpoints of the integration flow for each landscape will differ. Hence, this requires changes in adapter and/or flow step configurations. They use the externalization functionality to solve this situation. The developer specifies the parameters for adapter and/or flow step properties whose values can be modified later without editing the integration flow.

This blog’s primary focus is to explain the enrichments that we have brought in the externalization feature.


Enrichment - Separation of responsibility of the Integration Flow Web Editor and Configuration View


 

The major improvement that we have brought is the separation of responsibilities of the Integration Flow Web editor and configuration view with regards to externalization of parameters.

The Integration Flow Web editor allows developers to define and edit the integration flow by externalizing the fields of flow steps and/or adapters of an integration flow and provide the Default value for the parameter. These parameters can be configured at a later point of time without the need to edit the integration flow. The value of a parameter defined in the integration flow editor is called Default value.

The configuration view allows to configure the externalized parameters of adapters and/or flow steps without editing the integration flow. The value configured from the configuration view is called Configured value of a parameter. The Configured value of a parameter is centric to the tenant/landscape.

Creating New Externalized Parameter


 

Open an existing integration flow and select either adapters or flow steps from the Integration Flow Web editor to load the respective configuration in the property sheet. If externalization is supported for that component, you will find a “Externalize” button on the right corner.

Image 1: SOAP Sender adapter’s configuration with “Externalize” button

On clicking the “Externalize” button, the Externalization Editor is launched with all properties of the selected component that can be externalized. This view is divided into 3 columns – field name, parameter name and parameter value.

Image 2: Externalization Editor for SOAP Sender Adapter

To externalize a field, you can create a new parameter in the parameter column using the format {{<parameter_name>}}.


Image 3: Externalizing “Address” Field of SOAP Sender Adapter.

Once you tab out of the parameter column, a token with <Define Value> is created in the value column corresponding to the new parameter.

Image 4: Externalized Parameter (i.e. soap_sender_add) with <Define Value> is created.

Clicking on the token, in the value column, opens a “Parameter value update” dialog, to provide a Default value for this newly created parameter.

Image 5: Default Value of externalized parameter is empty.

Default value field is editable which will allow user to provide the Default value for the externalized parameter.

Image 6: Default value provided to the Address field of SOAP Sender Adapter.

You will observe, Configured Value field is blank (<No Value Configured>) as this is a new parameter which is not yet configured from the “Configure View”. Configured Value field is non-editable and is meant for display.

Image 7: Value of Configured field is empty

Click OK. Now the Default value will appear on the token of the externalized field of SOAP Sender Adapter.

Image 8: Default value of Parameter appears on Token.

Similarly, you can externalize the address field of the SOAP Receiver Adapter.

Image 9: SOAP Receiver Adapter’s configuration with “Externalize” button

Externalize the Address field of SOAP Receiver Adapter. Once you tab out of the parameter column, a token with <Define Value> is created in the value column corresponding to the new parameter.

Image 10: SOAP Receiver Adapter Address field is externalized

Default value provided to the Externalized field of the SOAP Receiver Adapter.

Image 11: Default value provided to Address Field of SOAP Receiver Adapter

On click of OK, Default value appears on the token of the externalized field of SOAP Receiver Adapter. Exit the Externalization editor by pressing Ok button.

Image 12: Default value appears on token

On Exit of Externalization editor, the developer will be navigated to the Integration Flow Web editor. Once you have externalized all the envisioned fields of integration flow, click on Save to save the changes.

Image 13: Save of Integration flow and its externalized parameters.

In order to configure the tenant/landscape specific value of parameter, click the Configure button. This will open the Configure view.

Note?: If the integration flow is in Edit mode, Click Cancel button to switch integration flow to non-edit mode. Configure button should appear.

Image 14: Configure button to open Configure view

The Default value of parameter will be shown in this view.

Image 15: Default value of SOAP Sender Adapter will appear in configure view.

Image 16: Default value of SOAP Receive Adapter will appear in configure view.

The Integration developer/business expert should configure the value of parameter which is tenant/landscape specific.

Image 17: Configured value provided to the Address field of the SOAP Sender Adapter

Image 18 : Configured value provided to the Address field of the SOAP Receiver Adapter

After configuring the value of parameter from the Configure View, the respective value will be displayed in the externalization editor.

In order to verify this, go to the Externalization editor of the component that displays both Default and the Configured values.

Address field of SOAP Sender Adapter:

Image 19: Configured value and Default value of Address field of SOAP Sender Adapter

Address field of SOAP Receiver Adapter:

Image 20: Configured value and Default value of Address field of SOAP Receiver Adapter

Note?:  Configured value takes precedence over the Default value of a parameter when the integration flow is validated, deployed and executed. If the parameter is not configured from the Configure View, the Default value of parameter will be consumed in the flow execution.

 

Enrichment - Externalized Parameters View enhanced to show the Default and Configured value of parameter for comparison and quality assurance


 

Earlier, the Integration Flow Web editor does not provide the seamless capability to compare the Default and Configured value of all externalized parameters. Without this information it becomes difficult for the integration developer to assure the quality of the externalized parameter value.

In order to provide the comparison between Default and Configured value of parameter, we have enriched the Externalized Parameters view.  The advantage of this view is that you can see the consolidated view of all parameter values externalized.

This view provides an easy way to compare the Default value and the Configured value for quality assurance. However, the Default value of parameters can be updated from the externalization parameters view when the integration flow is in the edit mode whereas the Configured values will be always shown in the non-edit mode irrespective of mode of integration flow.

Image 21: Externalized parameters view showing Default and Configured value for comparison and quality assurance.

 

Enrichment - Download of Integration Flow Capability


 

Earlier, the download capability of an integration flow downloads the integration flow with the Configured values of the parameters from development tenant which on import into a target test/production tenant can lead to a problematic situation as they would always envision to import the integration flow with default values which is not tenant/landscape specific.

Therefore, to address this use case we have enhanced the download feature of integration flow which would allow integration developer to download integration flow with “Default Values Only”.

On click of the Download action of the integration flow, a Dialog will appear with two options.

Image 22: Download action of the Integration flow.

The integration flow download feature now offers two options for the integration developer:


  1. Default Values Only:Downloads the integration flow with Default values only. Image 23: Downloads the integration flow with Default values only

  2. Merged Configured and Default Values: Downloads the integration flow with values that consists of Configured and Default values.This option would replace the Default values with the Configured values and accept them as new Default values in the downloaded file. That means on import of the integration flow into the target system, the Configured values of the source tenant will become the new Default value in the target tenant.Image 24: Downloads the integration flow with Merged Configured and Default Values


 

The supported controls for externalization are string, checkbox, drop down, scheduler, help service, text area, integer and individual cells of a table. Please refer this documentation for more details.

 

Recommendations:



  1. Externalize all the fields of integration flow that you envisioned and provide the appropriate Default values.

  2. Ensure not to provide the tenant/landscape specific value as a Default value of parameters.

  3. Validate the Default value of parameters through validation checks. Save of integration flow will run validation checks.

  4. Always provide tenant/landscape specific value in the Configure View.

  5. Before downloading the Integration flow or exporting the content package, always leverage the benefit of Externalized Parameter View to compare the Default and Configured value of parameters for quality assurance. Update Default value of parameter from externalized parameters view or externalization editor for any correction.

  6. Download integration flow with “Default Values Only” if you wish to import the integration flow in the target system which has different tenant/landscape configuration.

  7. Download integration flow from source system with “Merged Configured and Default Values” if you wish to import the integration flow in the target system which has same tenant/landscape configuration.


 

Conclusion


Enrichments in the externalization features is supported for adapters, flow steps, integration flow configuration, integration process and local integration process components.

I hope this blog helps to consume enrichments that we have introduced in externalization feature offered in the SAP Cloud Integration Web Editor to ease the job of integration developer who would like to develop the integration content from scratch.

 
5 Comments