by Gianluigi Bagnoli and Ralph Oliveira
You are back from the #SMBSummit2018 where you surely heard about Digital Transformation and you may still wonder whether all these buzzwords are really relevant for SMBs.
While you wonder, some high-end wine producers (and family business) in Italy use blockchain to tell their customers the full story of the bottle that they are drinking. Also, in your next pre-sales talk with an owner of a small manufacturing business, the acronym IoT will be on the table. And, as you saw on stage in Orlando, textile small businesses can predict the next trends in fashion using sentiment analysis and machine learning.
So, as a Solution Provider you need to imagine which new disruptive scenarios your solution will provide to your SMB customers – well beyond the usual well-known industry best practices.
Dillbert by Scott Adams
This series is exactly about this: how can your solution support SMB customers to adapt to the disruption wave that Digital Technology is causing.
In the next blogs we will show:
- examples on how to build intelligent solutions using SAP Leonardo services;
- how to leverage your solution data to get even more intelligence from them by implementing predictive algorithms on top of them;
- and how you can use Design Thinking techniques and tools such as BUILD to find the hidden problems of your customers and quickly prototype real solutions directly on top of their own data.
But let’s start first with the first key decision you need to make.
Untangle your solution now !
Before you enter the Digital World, the first key step that you must do is to place your solution on the right run-time, i.e. on a platform enabling you to reuse rich content and quickly develop these scenarios, making your SMB customers thrive in this brave new Digital World.
We have extensively discussed in past blogs: the key design decision to untangle your solution from the Digital Core and fully leverage a solution cloud. Summarized, in this scenario:
- The Digital Core is untouched and left vanilla. There is no component of your solution running on it. The Core can be on-premise, on a private cloud or on a public cloud, it does not matter.
- The Digital Core exposes its objects and services via a set of web-services that make it possible for solutions to interact with the core ERP functions via the web. You can see more details about the services for SAP Business One and SAP Business By Design .
- Your solution resides on a cloud that offers ready-to-use advanced Digital Transformation services such as IoT, machine learning, predictive and sentiment tools, mobile frameworks and so on. One very good example of this cloud is the SAP Cloud Platform and its SAP Leonardo services.
This choice makes the rest quite easy. Once you jump into this “loosely-coupled” scenario, your solution becomes much quicker to develop and more easy to maintain. Besides, there’s a very nice side-effect: as there are no SW components running on the Digital Core run-time and your solution runs on a set of well-defined web-services, the dependency on the Core itself gets somewhat diminished. In short we can say that …
The Digital Core is only a detail.
At the end of the day, all your solution depends on is a set of APIs that gives you access to the standard ERP objects – such as Journal Entries, Sales Orders and Inventory. True, the format of these will be for sure different and the semantics of these objects not completely the same, but your solution can easily handle these differences with an adaption layer that implements all these nitty-gritty details below some interface of yours.
This means that, bar some adaptation, your solution can connect to a different Digital Core and still be working. Magically, your addressable market becomes bigger and bigger and you can address different customers running on different kinds of Digital Cores.
Not so surprisingly, as we are SAP and we are talking about SMBs, one very interesting example of this is the possibility to run your solutions on both SAP Business One and SAP Business By Design. Despite the obvious differences between them, these two products share a very interesting property: they both expose their own objects and services with a set of ODATA web-services.
- In case of SAP Business One this layer is called the Service Layer.
- In case of SAP Business By Design this layer is called the Public Service Model.
So, the “loosely-coupled” approach can work for both systems and it should be pretty simple to move from one system to the other. If you are still skeptical, then let’s make it more concrete with a real-world example.
Let’s make Alexa work for SAP Business By Design too.
It is a pretty impressive demo, although from an architecture point-of-view it’s a pretty straight-forward integration. In this proof-of-concept SAP Business One is the Digital Core and the solution runs on the SAP Cloud Platform. Would it be possible to switch SAP Business One with another Digital Core, for instance SAP Business By Design, and have the same solution scenarios still running?
Well, as you can imagine now, the answer is a straight yes. All the handling of the voice chat is handled on the SAP Cloud Platform with a chatbot implementation, and all the action between the solution and SAP Business One is handled by web-services. SAP Business One acts as black-box for Alexa, all the solution sees is a set of services.
Let’s take for simplicity one scenario: the request of an order placement. You can see this in action here::
Now, the implementation of this scenario is pretty straight-forward: the conversation with Alexa is parsed and all the parameters are taken, then a call to create an order is sent to SAP Business One, and when it returns an answer is prepared to Alexa. To call an order creation all it needs to be done is:
- a POST to the Service Layer service /SalesOrder
All we have to do now is to substitute the code corresponding to this POST to a call to SAP Business ByDesign and everything will be working smoothly. To do so we need first to create the right endpoint in SAP Business By Design, and here is how you do it:
Once the endpoint /SalesOrderCollection for SAP Business By Design is created and made available, all we have to do is to send it a POST message with the right parameters.
All the magic is done: simple.
Of course that requires some change to the code to adapt to the different names, parameters, semantics and so on. But it can be easily done in a way that the overall structure of the solution remains unchanged. You can take the code of Alexa here and try by yourself. Of course we did it already for a couple of scenarios, and this is the result:
Alexa – Sales Report with SAP Business One
Alexa – Sales Report with SAP Business by Design
So you see the same scenarios we were using for B1 now are running on top of ByD, just by changing the integration points back with the Digital Core. As usual, you can find the code for the ByD Assistant on GitHub
In this blog we have seen how you can take an SAP Business One loosely-coupled solution on SAP Cloud Platform, change the integration points and migrate it on top of SAP Business ByDesign. Using similar techniques, in the next blog we will see how to develop intelligent solutions for SMBs, across different SAP systems.