SAP CPI Testing, now with Mock and secured data

Testing is not really fun. But you need to perform it.

Making a good unit test for SAP CPI and testing full iflows is one of the more complicated processes. You could create some test cases but it became pretty difficult to manage

1) Testing with mock services. This is if you have SuccessFactors systems you cannot call once you want to run regression tests. Then the Figaf tool will replace calls to SuccessFactors and replace them with an HTTP call to Figaf. In the request, it will inject the expected response. So you can get to test scripts, routing, and flows.

2) Secured testing. The best test data you have is from production. This is in many cases confidential like HR data. You, therefore, do not want all your developers to see the information. That is why we have added secured testing. This ensured the payloads are masked in the Figaf tool, so normal developers only see masked data. So they will be able to determine something is wrong but to get the name of the person.

We have written a lot more about the secured testing that also is for SAP PI/PO.

You can see how this works in the following video.

3) Groovy unit tests based on the Figaf test cases you have. This is a simple way to test all your groovy scripts in an Iflow. We have bundled this with the Git integration to make it possible to run the development process simpler. This allow you to run and debug your groovy scripts and it is a lot faster to develop in that way.

Try it out

There is free trials of the tools at https://figaf.com/irt. You can get started in less than 60 minutes to try out what the tool is able to.

If you any questions email info@figaf.com and we will answer your concerns.

The new Roadmap for SAP PI/PO and SAP CPI Suite

At DSAG (German-speaking user Group) there was a roadmap session that we could see some points from. This is what happens after SAP updated their support for ECC/Business Suite to 2027 it and implications for other tools. 

I would assume that this is the current working model and we will see more updates on this later. There will come an official roadmap later, once everything has been cleared. 

I created a video with some more information.

Biggest takeaways were:

  • PI 7.5 will be the last release but support extended some years until 2027.   
  • So now a new version that we got the impression the last years. 
  • There will be an on-prem version of SAP CPI and API management you can run on your own hardware. With a monitor and development tool. 

I really love this. It will have a lot of benefits to SAP customers. 

SAP PI

Java 8 has been extended support for longer by oracle. So there is no reason to upgrade to Java 11 and create a new version of NetWeaver Java. It would be costly for SAP to upgrade and also for customers so it makes a lot of sense. It is both PI but also all the other applications on the suite.

It would also be a stretch to get customers to move to the next NetWeaver release within 2 years, now have customers that have not upgraded for 10 years. 

I don’t know what the investments will be into PI/PO with this extended support. I would assume they free some capital for not having to perform the upgrade. 

SAP CPI

SAP CPI is the path forward and where customers should move. 

Removing PI from the Netweaver stack makes a lot of sense. It was probably 6 months behind cloud deployment and was costly to implement. I would assume there is quite a bit of work to port the framework to use the Netweaver stack compared to the cloud. 

That was the main reason we dropped running our Figaf tool on Netweaver stack. 

My assumptions of this: 

  • I would assume that you need to upgrade every 1-3 months to get support or even be able to use the tool. I expect that SAP does not want customers running 5-year-old versions of CPI. So you need to be able to test and upgrade much more often.
  • If SAP did not have the dependency for Netweaver then CPI can be upgraded to Java 11 and Camel 3.0. 
  • If SAP will allow users to have an on-prem version of the CPI then it means that there will not be a change to WebIDE to develop CPI.

Learn more

If you want to learn more about SAP CPI we have created a course that helps you understand how you can develop SAP CPI, so you can get started faster. On the side you can also find our free version of the course.

If you want to develop and manage SAP CPI better try the Figaf IRT. It enables you to manage, govern, test and document SAP CPI and API management much simpler.

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

Biggest challenges for SAP Integration in 2020

This blog contains some of the biggest trends in SAP Integration in 2020. Hopefully, you have already progressed with some of the areas, so you will have more time to focus on the other topics.

The topics covered are:

If you liked the blog and content please help share it with your team, Linked, Twitter or your favorite social network

Migration

Ever since the dawn of software age, there has always been a task to perform migrations. They just happen to ensure customers has the newest software and are able to achieve a lower TCO for their integration, and have support for their tools. The same is true for the SAP Integration portfolio it also undergoes changes. 2020 is the last year that 7.11, 7.3, 7.31 and 7.4 is supported, so in 2021 all customers must be on SAP PI/PO 7.5.

There will still be customers that have not managed to upgrade before then, but they must then accept their system is out of support. So if something bad happens they can move the interfaces to a newer platform.

In some cases, you can go for an upgrade to PI 7.5  with a stack split and then delete the ABAP stack. It is a bit risky and you will need to have good testing in place. It requires that you have ICO’s only.

Migration projects are a technical exercise that adds little value to the business, except they must be able to process it. The business therefore seldom cares about it, it is just some technical thing that must be completed. A migration project can take many months for you to perform, so you need to plan it. It is probably one of the tasks that you want outside help to perform because it will not be a core competency of your team to run migration projects. 

At Figaf we have created a set of tools that allow you to automate your SAP PI/CPI process, and they can also be used for migration. Here they can help you test everything is correct and identical to what was seen before. That way you know everything works as seen before.

We have also the only tool on the market that allows you to manage your migration process. You will be able to see how fast your migration is progressing and it does help with configuration and transports. I have a recording of the migration tool here.

If you a large investment in Seeburger Message Maps then the tool will enable you to automate the migration. In 2 minutes you can take the old message mapping and update it to a B2B Add-on structure with the Figaf Seeburger Migration Tool. That is a lot less than the 4-8 hours others have reported for migration of on message mapping.

The migration is not a straight path and can be challenging, but depending on your scenario there can cost savings in the operations aspect. 

I have created a list of my best resources for an SAP PI/PO migration here.

SAP Cloud Platform Integration CPI

SAP CPI has already been mainstream and the goto tool for creating new cloud-based integration. For customers using cloud services, it is the best tool compared to SAP PI/PO. 

It makes it much easier to create integrations because everything can be managed in just one iflow and modularity.

The amount of redelivered content is growing and it becomes a lot easier to make modifications to it. So you can create your own special processes that can be reused in other places. 

There is also the Cloud Foundry process that is going on. Currently, there is a large gap between NEO and CF. I would expect this gap to close since CPI is available on AWS, Azure, and Alicloud and Google is not on the road map. This should mean there are more resources to close the gaps. Once it is done I would expect a CF would be the main place SAP is delivering new functions on SAP CPI, to get customers to move to the platform. 

Regarding SAP PI/PO there are still some scenarios that are much better to perform on CPI with regards to handling point to point messages, restarting and design simplifications. 

I do see there is a need in the platform for automation to make the processing easier of managing SAP CPI and I believe the Figaf tools can help you in the process. It will handle testing, governance, transports, documentation, and support. It will also allow you to develop faster with Git integration, so you can develop Groovy scripts easier. 

If you are new to SAP CPI the process of developing in SAP CPI is different than you are used to in SAP PI/PO. With greater power comes great responsibility. It is therefore recommended to learn how the tool works and how to leverage it. I have created a list of different concepts that you must master before creating your first SAP CPI iflow

Migration to CPI

Some SAP PI/PO customers have already migrated to SAP CPI and achieved some great savings in regards to operations. I do see that there will be a lot more customers moving to CPI. 

Some have already completed the migration and are seeing big returns in cost savings because the cloud platform is cheaper to run and manage. 

There are some tools that allow you to reuse message mappings but there is still some limitation for the process. I hope that we at Figaf can take our current migration tool from SAP PI/PO and leverage the same process for a CPI migration. We still have some steps to be completed before it is possible. 

Automate the delivery process for SAP Integration

The way SAP PI/PO has been transported and configured has not changed the last 10-15 years. It is basically happening in the same way. You will need to create some CTS+ transports and once they have been applied on target systems users must configure things manually. Testing was also done manually.

This is much different than the rest of the world now is thinking of delivering software much different. Where ideas as DevOps is the new norm most rapid development projects. It allows developers to release code much faster because the processes can be automated. 

I do see customers talking about how they are able to automate the delivery process of SAP PI or SAP CPI, so they can live up to a requirement to deliver integration faster.

There are a few aspects that the automation gives. It makes it easier to get other people to take over the code and manage it, this means you will not be as reliant on the same developers, so they can change jobs without affecting you. 

Figaf has a solution that allows you to automate the full delivery process so you don’t need to spend months creating your own tool for it. 

API Strategy

I have talked with a number of organizations. Most of them have some projects about exposing APIs either from the SAP systems or from other business systems, so their customers would be able to use it. 

It is quite a fascinating journey to start on. Just as when people started with an SOA journey in 2005. I guess the API is even more critical now and will help you build more applications. The business may also be more interested in exposing services, so the process may be faster. 

I guess you can get a lot of good ideas and inspiration for it and plan it well. In the development process, you probably have to be more agile and experiment. You need to understand that you cannot make correct APIs the first time. 

I do like the SAP API mgt platform, it is pretty easy to get started with. The great benefit is that you can expose your first Odata service on the internet really easy from your SAP backend systems. 

It may have some limitations to other better platforms. It may be a good place to get started and understand what APIs you have and how to expose them. If you find some great need or challenge you can migrate away from SAP API mgt or combine 2 platforms. 

I do think that it is something you will need to learn how to work on in your organization. There are some good books on the market that will make sense to read up on. 

I will recommend going through some training or material on the topics, so you will be able to judge how you want to start out. I would start with the SAP API mgt book but will probably also find a vendor neutral book. can

Citizen integration

Citizen integration is a hot topic. It is about allowing the business to self make new integration without having to contact IT for it. It will make it a lot easier to create the correct integrations, but also add a lot of complexity to the landscape. 

A good Citizen integration will require

  • A good way to govern access business users only see the data they are allowed to
  • Monitor so users can see what is going on
  • Scalable to more users can use it
  • The flexibility that users can find different ways to enrich or modify the content
  • Move from Business to IT without re-engineer everything

For BI reporting there already have been some tools like PowerBI alike. Here users can create their own reports one some predefined reports. It does require a good management process because the report can consume a lot of CPU and memory. I did read a good blog on the topic for BI where it has been possible for some time. I would assume that much of the same learning can apply to Integration. 

In SAP SuccessFactors there is a place where business experts can create their own reports and files based on some data. I’m not sure where they can send the files and share them. I do like the approach because nobody understands the data better than the business users do. 

As a normal user, I do like Zapier and use it for some of my integrations. It is pretty simple to distribute data between systems and map fields, so it would be something that many users will be able to configure. They do have some enterprise accounts but I’m not really sure it will scale to Fortune 500 companies with regards to simplicity, governance, and flexibility. 

In the SAP world, there are Open Connectors/Cloud Elements which also could provide some option to make it easier for businesses to exchange data in predefined formats. 

I’m looking forward to seeing what will be used and how tools will work in that perspective.

S/4 HANA migration and integration projects

Many SAP customers are considering how and if they want to upgrade to S4/HANA. Some have already upgraded, but most still have that journey ahead. Though some are considering if they want to or not. Let’s see how the support changes. 

If you “just” perform an upgrade you can mostly still use all your current integrations. You will need to test to see if everything still works. Some tables have been moved and some programs bay need to be changed.

If you start from scratch there are a lot of new interfaces, so no more need for using IDOCs. So it will instead be SOAP messages or events.

There is also the option to use AIF (Application Interface Framework) to manage . 

It will be something that you will be learning from so good luck on that process.

Help share the article

I hope you found some useful information in the blog. Please help share the page.

Simplifying your SAP Integration support

On our development SAP PI system, we a currently getting a lot of alerts. Some cache errors, some bad configurations, and some strange errors.

In many organizations, they just use the standard mail job to send all alerts happening on the PI system. You can then end up with a mailbox that looks completely full. Nobody knows how to process it and what has been handled. What alerts do not matter, and which is important. What do we have a solution for? 

In the AlertConsumerJob2 you can write texts on what to do for each job. But it will require quite a bit of management on the PI system to handle it. You will need steps like create new Alerts Rules, write a new text and schedule a new job. Not really optimal. 

I have seen this type of full inboxes at a number of clients and wanted to make a tool that could handle all the processing. So I created the Figaf Support tool. It was a standalone product, that we now have integrated into the Figaf suite. 

Figaf will receive and order all alerts from SAP PI/PO, SAP API Management, SAP CPI. The main feature is that it enables you to: 

  • Integrated action log, to view what needs to be processed
  • Simplify setup rules for each different alert setup with Xpath
  • Send an email 
  • Webhook to Jira, Slack or an SMS provider
  • Resent or Cancel messages
  • Mute alerts for some minutes
  • Create Ticket direct to fix the issue

You can see a demo of this in the video

  • For SAP PI it relies on CMBA (Standard alerts) enriched with PI message payload
  • For SAP CPI it has a filter to select which messages to download and treat as alert like Status = Failed, or Receiver = Log. Resent is possible with a script is applied to the flow
  • For SAP API management IRT will add some logging scripts that will use the KVM store to save alerts. 

The benefit is that you just have one way to handle all alerts for your SAP Integration. You will fast be able to set up alert processing and handling. 

You can get started now. It only takes 15 minutes to download and set up your first alert at that time. 

Download now at https://figaf.com/irt and get 30 days trial

Or try Figaf Cloud to manage CPI and API mgt