Posts

Figaf runs Figaf (SAP CPI Git Groovy scripting)

This week I wanted to try to use our Git for SAP CPI tooling to make some new development and see how it would work out. I wanted to create an SAP CPI microservice to convert XML to PDF, you can see all about it here.

The idea with our Git integration is to take all content from your SAP CPI and API repositories. So it will synchronize all the content in the CPI repository to the Git. The user will then be able to see each iflow with the individual resources. In the Git repository, we had templates to some Gradle plugins. They allow you to upload the content directly to your SAP CPI agent and deploy it all from your IDE like IntelliJ or Eclipse. This speeds up the development because you don’t need to edit files in the WebIDE or upload them manually.

A real editor gives you the option to get syntax highlighting, autocompletion and debugging options. To achieve the running and debugging option we are able to leverage a real test performed with SAP CPI.

Our ide was to make it as simple for normal integration users to be able to edit and run their Groovy scripts without having to know a lot. In my free course about Create SAP CPI Integration faster, I’m covering how you can use the Figaf IRT tool to create a Git repository and configure all parameters, so you can use this development approach. It probably takes you 15 minutes to the repository working. So it is pretty simple.

You can see what the project was about and how the tool worked in this video.

Lessons learned

This was the first time I really used this function to create a useful Groovy script.

  1. It was possible to run the Groovy script pretty simple with the test data generator. That way I could run the message and get the correct output back. Once I was developing the groovy script I could then run it locally in my IntelliJ and even run debug.
  2. Out standard git template does not allow .jar files in the .gitignore file. It is best practice not to have jar files in your git repository because they take up a lot of space. In most cases, you will find the files in a maven repository and use them at runtime. A workaround we used was to add the path to the jar files with the following line in the .gitignore file !demo/XMLtoPDF/src/main/resources/lib/*.jar . ({package}/{iflowname} /src/main/resources/lib/*.jar .You can then add lines for all the iflows you are working on with the tool.
  3. The more you understand Git and Gradle the better. It will make it easier for you to use this workflow.
  4. Our comparison did not understand that the payload was binary for comparison. So it probably does not make a lot of sense to have test cases for it. In the PDF you have a time that is increasing and most of the content is binary. It was possible to create manual test cases and use it to check if the payload was successful.

Conclusion

It does take some time to get use to develop with the Figaf tool to create your SAP CPI iflows. Once you do understand how to create a test case and run it. It is much easier to work in the confines of IntelliJ when you are experimenting and do not know what you need to fix for the code to work.

Try it out your self.

I hope you want to try it out your self. It takes 15 minutes to get started and then you can have all your SAP CPI content in a git repository.

Just go to download it at Figaf IRT

Speed up your SAP CPI development process

Thursday, I hosted the webinar “How to speed up SAP CPI development”. It is an important topic because developers need to find a way to learn how to create what they can do to improve the speed of the integration service.

I have been talking about the topic easier but this time we have added an important component. That is Figaf IRT now can make your development process much simpler. So now we really can speed up the development and also change management.

There are two areas where the application allows users to create faster integration.

  • Development in your favorite IDE, this is where we have improved a lot lately.
  • Change management, this is where you document changes and transport individual iflows.

You can see the presentation here.

Development process

When you are working with SAP CPI you will often end up having to edit an XSLT or a Groovy script. It is normally not really easy to do in the build-in editor. Sure there may be simple changes where you can do it, but if you want to make any complicated logic you need to create

We have been adding functions to make it a lot easier over the last few months. The biggest impact has been our Git integration.

We have also added a method to share scripts and other resources between iflows. The challenge with sharing of scripts between flows is to keep it synchronized and ensure a change does not break other iflows.

Git integration

The Git integration allows you to take your SAP CPI iflow and just expose it to all content to a Git repository. We have also added configuration files templates so you just can use them. With this, you get plugins that will allow users to deploy scripts from their IDE.

We have also added a unit testing component that allows users to test with real payloads. This speeds up the processing about ensure that you have the correct to start your groovy script. From your IDE you also have the option to test how the created iflows works.

Change management

We have build a solution that allows users to make it possible to document what they have done. I believe that all changes in an Integration environment must be because of business reasons like Service Request, Ticket or what is called in your method.

We have made it simple to link Service Request and the changes that happen. This speed up the development process.

It is also possible to transport individual iflows across your landscape. You can even use the virtual environment on your CPI system. This means that you are able to develop and test on the same tenant, so you can save an instance. Figaf also allows you to manage configuration a lot easier across your environment.

Testing is also a part of your release. You can run tests really simple on all your iflow. This makes it possible to see if your changes have a negative impact on your process. It is also possible to test with mock services, so you can test integrations even if they require you to have access to third-party apps, that do not support calling with the same data multiple times. Then it will enable you to test your flows, scripts are working the same way also after an upgrade.

Try IRT self

You can try out all the functions with Git or change management with our free community edition. If you enjoy it you can upgrade to any of our solutions that allow a lot more integration development options.

Download IRT now or run it in our cloud

Figaf IRT 2.10 Making SAP CPI development faster Git

It has been a long time since our last release. We did have a summer vacation and had a big new function to release. 

I have been teasing that we have Git integration for SAP CPI and also added it for SAP API mgt

Why Git:

The thing that I like with our Git integration is that it allows users to access all sources from your project in just one simple repository. It will speed up the development because you will get easier access to all groovy script and XSLT, so you can reuse it. We have tried using Github, SAP Git from Cloud Platform and also Bitbucket, other will probably also work. Just be sure it is a private repository.

It gives you an opportunity to work in your favorite IDE like Eclipse or IntelliJ to edit the code. They have a much better code completion that allows you to write the code faster. 

It is our first Git release, so we are looking for feedback about how the workflow should be and if there are any ways we can improve it. 

Gradle Plugins:

From an SAP developer perspective, we are not really used to be able to use plugins in our IDE. SAP has released the Netweaver Developer Studio for PI that and the old Eclipse Plugin for CPI development. Here you had some function you could use, but it would only work in that IDE. The better way to deliver integration tools is to deliver Gradle plugins. Normal Java developers have a lot of Gradle plugins they can use to bundle application or run them in a specific way. So it would make sense to add some code to Gradle plugins that allow you to upload, deploy and test your iflows directly from your IDE. That way you don’t need to do leave your IDE to validate if your code is running correctly. We have created 3 plugins are all open source. One to CPI, one to API Mgt and one to handle testing with Figaf IRT. The plugins can be found in the Gradle plugins directory or on our Github page.

Simple workflow

One of the big challenges with starting your own infrastructure is that you need to configure all your plugin. That is the pain we are removing. You don’t need to be a Git expert or know a lot of Java configuration all configurations are delivered templates that you can just reuse. It makes your developers much more productive. 

Other improvements:

We have made some more improvements in the application and fixed some bugs. Among them are once you use the Figaf IRT to transport individual iflows that it use the unofficial Update metadata API. This allows you to keep the version history of your changes and do rollbacks. It is not ideal but we will use it until SAP support the option to update an iflow with the official API. 

What is next:

The next big challenge that we would like to tackle makes it easier for the user to create test data and assertations for CPI development. Half a year ago we created an option to create a Groovy script to set up a message with test data. The approach did make it easier but you had to make some manual changes. That is what we are trying to change. We want to make it possible to generate scripts both input and expected output, so you can run the test case a lot easier. This will speed up your development even more. 

Try it out now and see how it works

There is a free version of Figaf IRT that you can use. It will enable you to expose your CPI system using Git. You can run Figaf IRT on your Laptop and it takes 10 minutes to get started.

We hope to find a way to license the feature while making it easy to try. But for now, there is only a restriction on the number of agents/CPI systems you can connect with.