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: 
deepakgd
Associate
Associate

Introduction


SAP Cloud Integration version 3.30.**/ 4.17.** comes with two enhancements/features

  1. Flow Step Recommendations

  2. Quick access to flow steps palette list and search


The first enhancement is named as Flow Step Recommendations. As the feature name suggests, for a given flow step - while you are modelling/designing an integration flow - it recommends you a next matching flow step. The recommendations are provided by a machine learning model.

The second one gives quick access to flow steps list/palette to add a flow step and also it addresses current issue of missing search support in SAP Integration Flow editor’s left hand side flow steps palette.

Below is a sample screenshot highlights these enhancements.

Note: You have to be in the Edit mode to add a flow step.


Introduced (+) Icon/Speed button on the flow step selection, which open up a pop-over view


 


Recommended steps and All steps sections


 

 

Flow Step Recommendations


As initially described, flow step recommendations are made by machine learning model, which captures the flow steps combination available in large collection of SAP pre-shipped/standard integration packages. Here, SAP standard integration packages and scenarios act as ‘data set’ for machine learning model. This machine learning model doesn’t read existing integration scenarios of your tenant (from SAP Cloud Integration perspective, we don’t read customer integration scenarios for this machine learning capability, we use our own standard integration content for machine learning).

The recommendations start appearing when you start modelling your integration flow. When you click on a flow step, and press on the (+) icon, the machine learning model behind the screen takes the selected flow step as input and finds the next matching flow steps from its analysis result and proposes 3 flow steps. These 3 flows steps will be sorted based on the best matching ranks as per the machine learning model.

Below are the sample screenshots which provides a different recommendations for different flow steps.


 


 

 

Note : Receiver flow step for Request-Reply recommendation

For a Request-Reply flow step, the recommendation will be a Receiver flow step. But on click on Receiver step, the flow step is not dropped/created on the canvas (because it has be created outside of integration process rectangle) rather, the mouse pointer gets receiver icon, and when you drop the icon outside of the integration process rectangle, then the receiver step is created on the canvas. This will be same behaviour, i.e. mouse pointer icon changing to receiver icon, if you search and select “Receiver” step from the flow steps list.

Sample screenshots below


Select Receiver flow step


 


Mouse pointer gets Receiver flow step icon


 


Drop the Receiver icon outside Integration Process rectangle/box


 


Receiver participant box created


 

 

Planned Enhancements


Below are the topics on which we will be working on with "Flow Step Recommendations" feature

Machine Learning Model Fine Tuning


As machine learning is a continuous and iterative method, we will also be enriching/fine tuning our exiting machine learning model to recommend as accurate flow steps as possible. Also, there are some suggestions which can be corrected, e.g. the “End Message” flow step sometimes may get ranked higher, but if there is already an “End Message” flow step available in the integration flow, the appearance and rank of this can be fine-tuned. We will be working on such fine tuning activities.

UI Rendering performance


Sometimes, you may feel a very little UI lag between click on (+) icon and appearing of pop-over view with flows steps, we are working on this fix this UI performance.

 

Quick access to flow steps list and search


If you find no matching flow steps under the “Recommendations” section, you can use the below section, titled as “All Steps” in the pop-over view, which represents all the flow steps, which are similar in entries of the left-hand side palette.

You can search for a step, click on the desired flow step, which puts this flow step onto the sequence connector line. Below is the sample screenshot


Search for a flow step and use it


 

Note: For some flow steps, like Groovy Script and Message Mapping, there was a (+) icon previously and used to create a groovy script resource or message mapping resource and used to open the corresponding editor. Now, since the (+) is used to create flow steps, there is a new icon introduced to create a resource. Below screenshot describes the same.

 


 

Planned Enhancements


Below are the topics on which we will be working on with "Quick access to flow steps list and search" feature.

(+) Icon on Sequence Connector


As of now, the (+) icon is only available on the selection of flow step. We will be providing this (+) icon on the sequence connector line as well. This becomes a must have for the flow steps which are multi-outgoing connectors in nature, e.g. parallel/sequence multicast, router etc., wherein, currently clicking on such flow steps will create a new branch and then adds the flow step. But if you want to add a flow step on an existing branch, then a (+) icon on the sequence connector/line will come handy.

 


(+) Icon on sequence connector


 

Name Corrections


There are some name corrections which we need to do, e.g. there is only entry of “JSON to XML” in “Converter” section, and there is “XML to CSV Converter”, we will be fixing them.

Auto Resize


As of now, if you add a flow step, either from “Recommendations” section or from “All Steps” section, it will add only the flow step, but the tool doesn’t resize, e.g. push the existing flow steps to right hand side by some pixels, increase the width of “Integration Process” pool/box etc., that is in one word Auto Resize after adding a flow step is not available. You need to increase the size of those shapes manually as of now. We are working on Auto Resize feature.

 

Summary


With introduction of these two enhancements, we plan to increase the integration flow developer’s modelling efficiency.
15 Comments
svalluri23
Participant
0 Kudos
Hi Deepak,

Thanks a lot for the helpful blog.

 

Regards,

Srihari.
fatihpense
Active Contributor
0 Kudos
Hello Deepak,

Thank you & the team behind! It is refreshing to see SAP caring about UI improvements. They really seem to improve the development speed and you plan for more enhancements.

"Auto Resize" is also a good idea.

I would also love to see an "Auto Layout" option where I don't have to worry about how the flow looks. But I accept that auto-layout for graphs is one of the computer science problems that seems easy on the surface but very hard to implement 🙂

To sum up, I agree with the premise that these increase development efficiency & Keep up the good work!

Regards,
Fatih
yatanveersingh
Active Participant
0 Kudos
Hi Deepak,

While creating the Groovy file, XSLT files, if we get option to name the file it will be great.

Regards,

Yatan

 

 
deepakgd
Associate
Associate
0 Kudos
Hi Srihari,

Thanks for the feedback

 

-Deepak
deepakgd
Associate
Associate
Hi Fatih,

Thanks for the feedback. And yes, auto layout support is also in our development backlog/pipeline. I or my colleague will publish a blog when the auto layout feature is available.

 

-Deepak
deepakgd
Associate
Associate
0 Kudos
Hi Yatan,

Thanks for the input. As you may be aware, option to provide a name is available while creating a message mapping. Same facility to provide a name for groovy file and others is not available, and we will be working on this enhancement as well and keep you posted once enhancement is available.

 

-Deepak
ppereira
Explorer
0 Kudos
Hi Deepak,

 

Thanks a lot for your work and this explanation! Good news! Now we have AI into Integration processes!

Can you tell us which machine learning models are used?

 

Thanks and Best Regards,

Pedro Pereira
apu_das2
Active Contributor
0 Kudos
Hi Deepak,

Wow this is really awesome. We are going in the right direction. SAP CPI is much stronger now compare to 4 years back when I have started working on this.

Hopefully, this ongoing enhancement will go long path and SAP will be able to suppress ongoing dominance of Mulesoft.

What is our plan to cope up with other API management tools available i the market like Mule ESB?

Thanks and Regards,

Apu
deepakgd
Associate
Associate
Hi Pedra,

We are using decision tree classifier algorithm in machine learning model.

 

Thanks

Deepak
deepakgd
Associate
Associate
0 Kudos
Hi Apu,

Thanks for the feedback.

Response on your question is "SAP Integration Suite", which has capabilities of Cloud Integration, APIM, Open Connectors and Integration Advisor combined.

 

Thanks

Deepak
apu_das2
Active Contributor
0 Kudos
Hi Deepak,

Thanks for your reply. SAP APIM is yet to go long way frankly speaking specially for API spec design.

 

Thanks,

Apu
jonprow
Participant
0 Kudos

What's the comparison? Building in SwaggerUI then importing in design editor is working fine for us.

gsmohanbabu
Explorer
0 Kudos
Hello Deepak,

It would be great if Auto Layout is also available for Message Mapping.

 

Regards,

Mohan
apu_das2
Active Contributor
0 Kudos
Yes, why we need to go to SwaggerUI?

Because native SAP API Designer is not much flexible.

There are few features missing like we have created an API specification. Now, we want to create an API using this spec. SAp should create some feature like import the spec and it will create a flow based on the spec in CPI and allow user to edit and enhance more. Mulesoft allows all these and being a SAP integration consultant it bothers me :).

@Jon,

In what purpose you generally use API Designer portal? You create API spec in SwaggerUI, then impot in SAP API Designer for what? To create node js?
jonprow
Participant
0 Kudos
Documentation on API portal for consumers.  By the way, looks like the API Designer got an update. 🙂