Simplify your SAP CPI development process with Gradle Plugin Teched
I’m thrilled to share a session at SAP Teched.
Simplify Cloud Integration in an IDE with Gradle Plugins[CM104] Thursday, Dec 1010:40 AM – 11:00 AM CET
See how the open-source Gradle plugins for SAP Cloud Platform Integration Suite and SAP API Management can improve the way you deliver SAP integration projects.
I’ll be interview by Marina Pontjakova on the topic.
I wanted to use this blog as a way to bring some more details about the things that we will be covering so you can get started with using the tools to simplify your development processes.
Why Gradle Plugins
About a year ago I wanted to improve the way people were developing SAP CPI. To edit Groovy scripts in the build-in the editor was not optimal. And if you needed to upload/download your scripts it was possible but a little complicated.
I thought the easiest would be to create an eclipse plugin as we have seen for SAP PI and for SAP CPI. It would have a number of downsides among others that it would only be used on Eclipse and testing would be challenging.
The team convinced me that it would be better to use Gradle to handle the process. The cool thing about Gradle that it is used in normal build processes, so it is really flexible in what you are able to achieve with it.
A challenge that it needed to be configured to run the tasks that developers wanted, like upload, download, and deploy. To handle this we provided some templates via the Figaf DevOps Tool so you did not need to spend a lot of time figuring out how to configure the plugins.
You can see the plugins here
SAP CPI version support
- Value mappings
SAP API management Gradle Plugin
API management support
- API Proxies
Installation or getting it to run
For each plugin there are some requirements on how folder structure should be created and how to create the configuration.
Your IDE must also have the Gradle installed so you can run it there.
Once everything is configured correctly you can see the data in
Once you click the upload iflow the task will be run
How does the plugin help you?
It makes it simple to perform develop the places where you have the most productivity. So you can edit in a real editor and try to run your new code without leaving your editor. This will enable you to debug mapping scripts, which will speed up the development process even more.
You will still need to use both the SAP CPI WebUI and your IDE to maintain the specific processes.
The biggest challenge is that you still need to develop to places both in your IDE and then in the SAP CPI UI. I don’t really see a good place where it can change.
And you cannot really be two developers working on the same iflow at one point in time. Sure they can work on different Groovy scripts but it will end up with challenges once they want to test in the development system.
There can be some exotic ways it can be handled and it will probably require more CPI systems.
How to get started
By far the easiest way to initialize the plugins is to use the Figaf DevOps Tool to create the Git repository for your SAP CPI. In this blog post you can see a 20-minute video about installing the Figaf Tool, Connection to SAP CPI, Create a Git repository, and create test cases to run unit test scripts with so you can debug your Groovy scripts.
Next steps DevOps
A lot of people want to be able to deliver SAP CPI with the help of Azure DevOps or other similar platforms. We have been able to use the same Gradle Plugins to support the process. It is the same kind of steps that are needed to deploy the integration at each platform.
You can see how we set up the DevOps for SAP CPI here.
The same can be done with the help of the API management plugins that also have the same capabilities.
It is currently only a PoC and there is a number of elements that could be improved to ensure everything works as expected.
After the event, I’m planning to go live and show what the tool can help with and answer questions.
I hope you get to join me there.
If you have any questions about this please post a comment.
This is a good share, thanks for this,
in terms of the BPM Iflow of SAP CPI i was reading as well your other blog: https://figaf.com/sap-cpi-with-azure-devops/, were you able to bring this to intellij, as still I believe we need to have SAP CPI WEB IDE to maintain unfortunately the iflw file (the BPM flow). I could see that you seems to have built something that looks almost similar... did you use something like camunda with extensions or?
And thanks again for the info above,
In the DevOps example, we used the same Gradle plugins to upload/deploy new artifacts.
With the Gradle plugins, you can synchronize back and forth between the CPI Ide and IntelliJ. And you will need that to change the iflow models and then go back to IntelliJ to update the groovy scripts. It is just about making that process simpler.