Moving your SAP Business One on-premise solution to cloud
By Eddy Neveux, Ralph Oliveira and Gianluigi Bagnoli
One of the (many) strengths of SAP Business One is choice. You can choose to deploy it on-premise, or on a cloud. This cloud can be your own private cloud, such as AWS, can be run by a partner or it can be run by SAP, as the SAP Business One Deployment Cloud Services, i.e. B1CDS.
Another strength of SAP Business One is its strong ecosystem. Hundreds of partners around the world have developed hundreds of solutions extending SAP Business One in several directions. There are now many horizontal extensions and industry solutions complementing SAP Business One and making it, an even more, irresistible offer for our global customers.
So, the question you may have is: how is it possible to develop and sell solutions for SAP Business One that are good for all the different deployment options offered by SAP Business One? How can partners efficiently structure their development efforts in a way that their solution can be effectively deployed on-premise or in the cloud?
To this question, there are basically two answers, whether you choose to maintain the tightly-coupled approach typical of on-premise solutions – or if you decide to marry a more loosely-coupled approach, commonly designed for cloud based solutions.
First approach: tightly coupled applications
The first type of integration that we discuss is the “tightly-coupled” approach, i.e. integrations to SAP Business One Cloud built with the SAP Business One SDK. The SDK provides two API’s that are historically the oldest way to integrate with SAP Business One, namely the Data Interface (DI) and User Interface (UI) API’s. Most extensions that have been built globally to integrate with SAP Business One have started using the SAP Business One SDK for integration to on-premise deployments.
When then moving an SDK-based solution from on-premise to the cloud, there are a few areas that need to be considered, and these revolve around shared resources such as memory, storing data such as tenant/user specific data, and also not exclusively owing resources such as the database instances, presentation server with respect to ports, files, etc. and other extensions that may be running on the same SAP Business One Cloud deployment.
For more detailed information on Best Practices for SAP Business One Cloud extensions, please see the SAP Business One Cloud “Extension Certification Guide” on SAP PartnerEdge. On this page, you will also find supported platforms and sizing tools for a multi-tenant environment.
Why Loosely Coupled Applications?
Going beyond the simple migration of a solution from on-premise to cloud, we can introduce what is called the “loosely-coupled” approach. Partners that are thinking about jumping in the SAP Business One Cloud world should also consider to take a leap of faith and decouple their solutions and take the advantages this approach offers nowadays.
As SAP Business One professionals we are very familiar with tightly coupled solutions. Our solutions share all kinds of resources with SAP Business One such as hardware, security, operating system, and the list goes on. This “shared relationship” has been of good use all those years and provided great solutions so far. But times has changed:
- The user experience has evolved tremendously with respect to how people interact with systems. The independence of platform, device and operating system became the new normal;
- Scalability concerns hence the # of transactions grows exponentially;
- The requirement for more agile deployment methods. Quick implementation of new features and bug corrections;
- And the need for more space in the software architecture, making use of third party services, libraries and other resources.
Bottom line: new requirements generated by the high interdependency.
With a loosely coupled architecture you can choose to locate your solution not “within” the SAP Business One Core, but instead host it somewhere else, you choose where and how. SAP Business One acts as a black-box. The key component that enables your solution to interface with it is the SAP Business One Service Layer, which wraps around all the business objects and processes of SAP Business One
This architecture provides freedom of options of UX approach; enables you to deploy new features without changing anything in the SAP Business One landscape; gives you control on which customers have access to what functionalities; and in the end, allows you to leverage other services that were not part of the original scope of your application. Think about Machine Learning, Mobility, IoT, blockchain and the like: all of them are great tools to boost your solution but are too complex to deal with in an on-premise environment.
Let’s look now at some examples, starting with the B1 Assistant
The solution’s logic is hosted on another server, distinct from SAP Business One’s. The app makes use of all the Natural Language Processing of the Alexa Skill Kit in addition to a customized logic served by AWS Lambda.
Going even further, let’s look at the Beacons One sample. You can see it described here:
A Smart Shop, 100% decoupled from our ERP: SAP Business One is vanilla, there are no customizations at all.
The solution runs on the SAP Cloud Platform, where it leverages all the IoT, Mobile, Predictive and Database services available there and it could be deployed in any SAP Business One for SAP HANA installation by only setting the connection parameters with the SAP Business One Service Layer.
Again, SAP Business One is a black-box whose features are accessed only via the Service Layer interface. No dependencies on data, just dependencies on a set of interfaces, and then strong decoupling of the solution code from the SAP Business One core.
In short: decoupling your solution is good.
Want to know more?
It’s a great path to go if you are seeking more features and enhancements for your solution. As an SAP Partner a good starting point is the SAP Cloud Platform that provides you an incredible set of services to give a boost to your solution and a very simplified pricing proposition.
Of course, there are also free enablement resources and the SAP Business One Solution Architects team will be always available to give you more details and coach you through the steps.
I agree! While On-Premise systems are seemingly more familiar, Cloud is the future that is quickly becoming the present.
If I understand well, these loosely coupled solutions will require ServiceLayer to be exposed to the internet, correct?
We currently have a Customer running on CCC hosted by SAP, can he ask SAP to expose ServiceLayer to the internet? How does that work?
Any feedback will be appreciated. Thanks!
Yes, that is correct.
You can ask for this customer’s SL to be exposed. Open a message with support so they can take care of it.
Thanks for your reply!