Contact us

Integration platforms (pt.3)

Mihai Rus

November 11, 2021

"I need a software integration platform, but how should I make a decision?"

If you have never heard of software integration, we recommend starting here. The simplest explanation of what a software integration platform does, is this: it connects different types of applications and protocols. Why? To implement application landscapes more efficiently.

Sounds interesting? Let’s take a step further and talk examples.

Biztalk is the application integration offering of Microsoft, that has been on the market for more than 20 years and CPI is the subscription-based cloud proposal of SAP for Process Integration.

If you are not familiar with Microsoft Biztalk or SAP CPI, we recommend reading this article.

Obviously, if you have a primarily Microsoft or SAP oriented IT landscape, the decision to implement ‘just’ another component from the same stack would be more or less logical.

But you might also want to take into consideration the following aspects:

1. learning curve & necessary knowledge

Learning CPI is a bit easier since it is only a matter of activating the product on your subscription. After that, you can just use the base product or choose to load extra add-ins as well. To start working, you should be familiar with XSD, XML and scripting languages (JavaScript or Groovy).

Biztalk is much more difficult, because you need programming skills and also be familiar with Visual Studio.

2. cloud vs non-cloud

CPI is integrated into the suite of integration services of the SAP cloud platform, meaning you don’t need anything more than a subscription and a browser to use it.

Biztalk exists only as an on-premise installation, working on Windows only. This means that you have to set up your own infrastructure with access rights, needed services, and dependencies (like SQL server).

3. customizability

Biztalk lets you easily write custom components and libraries if you know C#, and you can leverage existing C# libraries for whatever you need in your applications. This means you must pay attention when upgrading, since customizations can result in potential problems.

For CPI, the focus is on using and configuring existing prepackaged integrations from the business hub, adapters, and API connectors that you can use from the marketplace. You can also build and publish your custom adapters or API connectors that you want to use in your integration flows by following the recommended steps by SAP.

4. operation

By being a PaaS cloud offering, CPI provides you with a full operational service for developing and operating integrations.

With Biztalk, you should also take into consideration the operational costs, including IT professionals who know how to install and monitor it.

5. deployment

Deploying something built in CPI is easy: you save a version of the flow, click deploy and it will be ready in a few moments.

For Biztalk, you need to think of a continuous deployment strategy. For example, using Azure DevOps to build, configure and deploy the application yourself.

Summary

There is no “one size fits all” when it comes to software integration platforms. Each one has its advantages and disadvantages for you and your organization. Having said this, we are back at the original question: How to choose between Biztalk and CPI? Well by evaluating the above 5 topics against the specific needs and context in your company.

Our two cents:

1. Analyze the costs of the platform and what scenarios you intend to use it for.

2. Companies that work with Microsoft products or Azure services might choose Biztalk. Those working in an SAP-centric landscape should go with CPI to save a lot of time in connecting and integrating SAP services.

3. If you have programming knowledge (especially C#), Biztalk will look familiar, but if you lack this knowledge, CPI will be easier to use.

4. If you plan on operating the infrastructure yourself (or work on your local machine) Biztalk is a better fit.

Hope this was helpful and helps shed some light. If you have any questions, send us a message.