SAP Business One Web Client And The Use Of Add-Ons
Let's start with some basic information.
In SAP Business One 10, SAP introduced the Web Client.
The Web Client is just another SAP Business One client (similar to SAP Business One iPad App) and can run side-by-side with the regular desktop client, displaying the same data.
However, like any other brand new software, it has a hard time stacking up against 20+ years of development in the old client. SAP's new web client is written in different technology and cannot run any of our add-on products (in fact, no SAP add-ons can be extended to the Web Client).
Why Are No Add-Ons Running On The Web Client?
Well, there are two hurdles for us (Boyum) and other solution providers out there:
SAP needs to provide us the capability to develop add-ons to run on the web client
We need to rewrite a ton of code (as Cloud development is quite different from good old add-on development).
To a non-developer, it might "just" be a "new GUI that can do the same but, in the cloud,"… well, development is unfortunately not that simple.
While you might find the web client lacking, we are in the opposite camp, amazed by how many of the B1 Features are already in the web client.
However, we believe SAP's choice to extend the web client with extensions was faulty. While all agree that the need exists, SAP's current focus is on the base features. It prioritizes the ability to run extensions (add-ons) further down.
In our opinion, this is a flawed strategy.
Because customization add-ons like B1 Usability Package exist. These add-ons let you add custom rules and validations on the SAP screens in the desktop client.
Partners hesitate to roll out the web client to their customers if they cannot run the similar rules and validations that exist in the desktop client.
This is a dealbreaker for users who would like to have the same flow for both clients (desktop and web).
It Is Not All Bad, Though
With SAP Business One 10 FP2105, SAP finally started the extensibility journey with the first two extensibility options. More specifically, URL-Mashups and SPA Extension.
Let us explain what those strange names mean:
Behind the odd-sounding name lies a straightforward principle.
Launching the various screens in the web client happens via "Tiles," aka the various square white boxes in the client.
A URL mashup is simply one more tile that, when pressed, will open the URL you defined as part of the new tile instead of opening an SAP screen. Good examples where this could be beneficial would be for a customer to have a tile that launches the backend of their web shop or a tile that starts a loosely coupled App for SAP Business One..
For VARs, this is easy to do if you have some skills in JSON and running command-line or if you want it easy, you can use B1 Usability Packages Tile Extension Creator
But let's not kid ourselves. While admirable, this feature will no longer be the deciding factor in the sales or adoption of the Web client. We need more.
No, we've not spelled SAP wrong. SPA stands for "Single Page Application". It is just a fancy way of saying "a Website that doesn't load new screens but instead replaces the existing content (don't worry if that last sentence made no sense to you, imagine a website that feels nicer to use with little to no wait-time).
But we need to dive a bit deeper as the above almost sounds like the loosely coupled apps that we have been hearing about for a few years in the SAP Business One space… but a SPA extension differs in two key ways
It will be shown inside the Web client instead of in a new Browser Tab (aka a website within a website, or an iFrame if we are to use the technical term)
It will not need to ask you who you are or show you a login screen as the context the SPA is in is the web client that already knows who you are and have ensured your authentication
So, see SPA as yet another screen of the web client where a solution provider can present their unique data and functionality… and example of this is mini-apps like Boyum's Activity Calendar prototype or any Vertical Add-on that could expose all or part of their full add-on as a SPA.
(Example, down the road Beas Manufacturing could have a screen that showed the work orders in the web client)
So, SPA is essentially good for all the Vertical solutions out there. Still, for horizontal solutions like the B1 Usability Package, which have its own rules and validations on the existing SAP screens, this SPA style extension does not solve the need…we need more.
Extension Options To Manipulate Existing Screens
This more referenced above (aka event triggers and manipulation of existing web-client screens) is what is not there yet, meaning SAP is yet to deliver the SDK framework to do it.
And without such, no matter how much we wish to offer our feature, it is simply not possible :(
So, when is this missing part coming?
Well, SAP is yet to tell us.
The only official communication is that they are working on it. We bet that it will be there in 2023, given how the options of the past extensions have come out, but we can first honestly know once it is announced.
A Guess About The Future
Beyond this point, we are guessing, but we want to end on a possible future where true extensibility is there. So, based on nothing but knowledge of on-premise and cloud code styles and how other ERPs have done it, here are our predictions on what is going to happen:
Prediction 1: Light versions of the current Add-ons (Technical limits)
Even when we have the "perfect" extension model from SAP, there is no magic that suddenly turns existing Add-ons into web apps. The transition will properly take years.
Remember that some of the most established solution providers have worked on these products for 10-15+ years, so you "just" don't convert.
There will be a lot of code that needs rewrites, and on top of that, cloud apps have various technical limitations that the old-style apps did not have. Cloud App needs to be supported by the service layer, whereas old-style apps use SQL to get what you need.
And finally, there is the GUI that now needs to be rewritten entirely in Web technologies.
All this means that you will probably first see light versions of the various Apps out there that can only do a subset of the old app. For example, you will be able to perform simple tasks in the Web Client, but less common work will force you to use the old app.
This might be an annoyance, but as such not a big deal as they are both working on the same data.
Prediction 2: More Service Automation
As it is so expensive to transition the old add-on to new web apps, we will probably also see a shift toward more automation where we do not need an app.
So, things like invoice email sending might arrive as automated deliveries running on servers that do not care by which ERP GUI (Desktop, Web-client, Mobile App) the invoice was generated. Some are already at this point, but my prediction is that this is the biggest trend in the industry.
Prediction 3: A chance to rethink how things are done
Until now, we've more or less painted this transition as a "bad", "expensive" thing. But don't get me wrong, it is also somewhat of a second chance to not just be stuck in the past and do the work "as we have always done it".
We believe many will see this as an opportunity also to rethink how one best deliver the services the old add-on delivered in perhaps a more innovative way (that being role-based GUI and more intelligent designed GUI)
Prediction 4: Some Add-ons / Features will never be converted
We also must face the fact that some add-ons or features will never be converted. It most likely comes down to pure cost/benefit. Still, there will also be features that do not fit a cloud setup due to security and practicality (for example, if a direct printer is used in an Add-on, that might not be technically possible in the cloud).