Figaf IRT 2.12 release, Secure SAP PI Testing, Dual stack and more

In this release, we have added two quite interesting approaches for testing SAP PI/PO. 

Dual stack

If you have SAP PI dual-stack with Classical Scearnios and want to test your migration. Now we can fetch messages from the dual-stack, and want to create test cases. This is perfect for migration projects, where you want to test if everything works as expected. We have developed on our 7.4 dual-stack system, and successfully fetched data from clients 7.1 system. There will be some issues with older systems, but you can create test cases.  You can read more about the dual stack option here.

Secure messages

This is the big challenge with Record Replay scenarios. Where you take production data and rerun it on your development system. 

We created Figaf based on the assumption that real production data is what needs to be used for testing because it contains the difference in the data. Unforntaly most of it is sensitive and it could have implications of SOX and GDPR. 

That means everybody with access to Figaf can get access to the messages, so it creates a loophole in the SAP security. This means that ie externals may be able to get access to sensitive data. 

We already have an approach for handling the anonymization of data. It does require the developer to understand what is sensitive and it can be multiple values, and it will not work to test migration.
For potential clients with many confidential data that wanted to perform a migration, but it would be difficult to anonymize all interfaces. They wanted a solution to ensure end to end anonymization without external developers would have access to the payload. 

If you create test data on your productive system, Figaf IRT will ensure that all developers will only see the data scrambled data. This way they are able to see if there is something wrong with a specific field. They can see what field is affected and may be able to drive some information. They will not be able to see the specific data. If there is something they don’t understand they can ask an admin to view the difference. 
We are adding some functions over the next few weeks to 

  • Handle synchronize testing so data is not sent to the real system. 
  • Enable the user to access other SAP PI message payloads in the monitor. 
  • Enable same testing option on SAP CPI

I think this security will make it a lot easier to outsource regression testing because you don’t have the challenge if they get access to some secret data.
Improved Synchronization process

For customers with a lof of SAP standard components, our synchronization did not work. The simple query API we used timed out when listing datatypes etc. We are now only syncronizing the SAP objects that are referenced from any other objects. That way you only synchronize the real used objects. 

You can read more and see the demo here.

Improved comparison of SAP CPI iflows

We have improved the algorithm to show what objects were used in an SAP CPI iflow. You can now see which artifacts have been modified between two versions. 

Java 11 /OpenJDK

If you don’t want to use the Oracle Java license, we now also support Open JDK 11. You, therefore, don’t have to use a Java License. We will support Oracle Java for some time, it is really useful for PoC to test the Figaf tool because all SAP PI developers have it. 

Try it now

You can signup to try the Figaf IRT here.


Fetching SAP PI Test messages from Dual-stack system

If you are planning an SAP PI/PO migration from a Dual-Stack system to a Single stack then this update is for you.

We have seen a lot of customers wanting to migrate from a 7.1 system to a 7.5 system. The biggest hurdle is how do you get test data for it?

We have solved the problem now. So we can fetch messages from a 7.1-7.4 SAP PI dual-stack system and convert them to a test case you can use for your ICOs. If you have a pre 7.31 system some functionality of the Figaf tool will not work, but you will be able to create test cases for your migration.

We have tested with

  • BE / Sync messages
  • Async messages that are split
  • Async messages

You can view a short demo of it here. It will take data from a dual-stack system and run the test on our new SAP PI7.5 ICO/IFlow based system.

You don’t need to install anything on the SAP PI system. You just need to ensure that you are logging both in and output messages for the flows. Then Figaf will just connect and find the messages that you have selected. In most cases, you can also use your normal SAP PI user.

You only need to add the JCO files into the libs folder where you run Figaf IRT.

We know that you may have confidential data in your SAP PI system, so we have added options to mask the test data in this release also. That way you can let contractors handle your testing, without giving them access to view your salary information.

Try it your self

You can signup to try the Figaf tool. It takes a few minutes to get started and connect to a dual-stack system.

You can signup and try it out at Figaf IRT.

Secure your SAP PI/PO and CPI test cases

Testing is important for your interfaces. For migration and bug fixes it is important to be able to perform regression tests.

The place you can create the best test data from is from your productive systems, where customers are creating orders with 100 lines with 10 different product types. It is not only from the clinical approach from a user test. You need both.

The bad thing about the production data is, it often contains confidential data. Social security number, payroll data or customer information. It can, therefore, lead to problems if you want to test with it. You may often have externals working on your systems and don’t give them access to confidential data.

Scrambled comparison, user can see there is something wrong but not content

We had to solve this problem with the new innovation. You simply select any of your SAP PI/CPI systems you have connected to and specify that they are confidential. Then all test cases created from that system will be marked as confidential. Then it will only be possible for users with the role IRTSensitivePayloadViewer, to view the original data. Otherwise, you can only see the scrambled version as seen in the image.

It is only possible to run the test on the system marked as secured. With secured systems is meant that it is systems is configured so users cannot view the payloads being processed. We are working on ways to block confidential messages only. It will be a component to filter out the messages and using the web dispatcher.

You can see a video about the testing functionality here.

Over the next patches, we will enable some more functionality like

  • Blocking viewing messages of SAP PI, so you can view your normal test messages
  • Testing SAP CPI with the same approach, where you have a lot of SuccessFactors integration
  • Testing synchronize messages, where the Figaf Tool will work as a proxy to give the results back

This function is really useful for SAP PI/PO migrations where you just want to get a lot of messages from your productive system and let contractors handle the configuration. With this approach, they can test all interfaces.

Try it for your self

You can signup for Figaf IRT and get a free trial. You can get started in 20 minutes.

Webinar: Automate your SAP PI/PO, CPI, and API management

On January 30 I hosted two webinars on the topic of how you can speed you your SAP PI and SAP CPI development processes.

From my conversations with people there seems to be a lot of new integration projects going on. And most integration developers have a way to much work they need to work on. We also see trends towards Agile or DevOps where users need to be able to release code much easier, this is what the webinar is about.

That is why I think automation is the way to go. There is a lot of places where it is possible to automate your SAP Integration processes. I normally see the following 5 areas where it makes sense to automate as much as possible.

  • Development
  • Testing
  • Governance
  • Monitoring/Support
  • Migration  (in another replay see video)

In my webinar, I covered the 3 middle parts where the Figaf tool can help you automate the process.

See how to get started

I want to demystify how difficult it is to get started. So in 15 minutes, I’m able to install and connect to both a PI and a CPI system and setup testing on them. You can see this part after 1:07 hour. 

You can get started at https://figaf.com/IRT 

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