This year’s SAP TechEd enabled developers for the first time to test-drive the toolset to create Business ByDesign (BYD) extensions. These so-called “add-ons” can enhance SAP’s mid market cloud ERP system. Day 1 of TechEd gave me the opportunity to talk to Rainer Zinow, SAP’s SVP for ByDesign during a Q&A session. Next day I got my hands dirty in the SDK hands-on session. Finally on Thursday I helped SAP with some Usability testing for the SDK. In other words there were lots of opportunities to gather first hands experience!
Focus on Partner Ecosystem
SAP is still in the process of establishing and educating its BYD partner network. As far as BYD add-ons are concerned, it can be expected that this selective group will be SAP’s prime focus for training with the Software Development Kit (SDK). A post-keynote press conference revealed that currently SAP is not planning to reach out to other external communities to increase uptake in developers. Whether this is a good move remains to be seen. More on this further below when I touch on the tooling and scripting languages.
No information was available with regards to partner add-on pricing. My own interpretation is that there are two options for SAP: either charge a high entrance fee to become a BYD add-on partner and thereby raising exclusivity and limiting development community exposure; or keeping the entrance barrier low and attracting a larger community to spur on innovation in this space. Should the Walldorf company opt for the high price route it’s likely that BYD add-on partners aim to recoup the high initial expense with higher prices for their developed extensions. This would obviously be counter productive, especially when keeping in mind that SAP is going to present an app store-like storefront for the BYD add-ons later this year. My take: Leaving out the community focus here can make or break the quality of the add-ons offered.
Client copy and APIs
It was good to learn that SAP will enable the copying of data snapshots from productive clients to development, test or sandbox environments. These copies have to be requested by the customer (not the partner) and will be executed by SAP. It is envisaged that this could become an automated process in the future. There will also be 2 different APIs for BYD, one internal (so called A2A, enabling SAP pr partner BYD functionality to talk to each other) and A2X (= external), allowing other platforms to interact with BYD cloud apps.
New scripting languages, BODL and ABAPScript
SAP seems to have settled on “ByDesign Studio” as the final name for the add-on SDKs”. Hands-on sessions still showed a “Copernicus” icon on the desktop, which was its previous code name. BYD Studio is based on Microsoft’s Visual Studio, which was a conscious decision by the Walldorf software engineers as their analysis revealed that about 60% of mid market partners are already familiar with this development environment for .Net and C#.
On the language side, it was previously mentioned that C# would be the basis for BYD SDK, but SAP decided to choose a different route in this respect. Logic for BYD add-ons is written in two scripting languages called Business Object Description Language (BODL) and Advanced Business Script (I’ve also seen it called ABAPScript during the hands-on workshop). This obviously throws up a few questions.
Why two scripting languages and why not use C# ?
First of all, BODL is used to define any additional Business Objects for BYD add-ons. Obviously SAP made a conscious decision here to not integrate it into the BO layer in the BYD cloud backend, but instead define using BODL code in BYD Studio. According to SAP, C# would not have been flexible enough for BO definitions, thus the creation of BODL. See an example of some BODL script below:
On the business logic side for add-ons BYD Studio uses a reduced scripting set which is based on C#. These scripts are deployed onto the BYD SaaS system and then generated into ABAP statements. Yes, you have read correctly, ABAP code is created from the scripts you define in BYD Studio! When asking about the reasoning for this I basically received two answers.
Firstly, SAP expects more partners to be conversant with a C#-based scripting language, as this is what the current tooling for a lot of partners is. This was also the reason why it was chosen over ABAP, which could have been the obvious development weapon of choicechoice.
Secondly, the cloud-based nature of BYD forced SAP to build a protected and walled garden around any code changes that are made. A reduced instruction set which then generates ABAP code in the cloud was seen as the safest choice here.
Impact on skills
These surprise developments bring up a few questions around skills for me. What is the potential skills mix for a BYD add-on developer? My take is that experienced C# developers might shy away from a reduced version of the language. However they have the advantage of knowing the tooling from the bat and can tuck right in. ABAP developers might have a slim advantage in terms of creating performant code as they understand the generated code base better (even though they can never see it). In conclusion, I would say that none of the groups have a distinct advantage, which is slightly disappointing.
All in all I have to admit that the concept of a generated ABAP code base is understandable due to stability considerations. However, I think that SAP misses a trick here by offering 2 new scripting languages that do not really fit into any camp. Maybe a Javascript-based framework would have been better, as it is wider adopted and known. I am convinced though that we have not seen the end of the line here yet. SAP is slowly feeling its way into the unknown caverns of SaaS and cloud land. I am sure we will see smarter solutions here in the future.
Overall impressions, stability and skins…
Generally my observations were that BYD Studio worked reasonably well. BYD Studio is part of feature pack (FP) 2.6. Since this release is still under development the hands-on students had to cope with a few hiccups such as login popups to renew sessions, but in conclusion the SDK worked well and seemed stable. At the end of the hands-on workshop questions were asked around numbering ranges and localizations and the answer was that features such as this are not available for add-ons yet, but are being looked at.
One disappointment was the skin that was used to display BYD screens during TechEd. SAP chose a tradeshow-like design in Silverlight that basically gave BYD a very SAP-like look and feel. In my view this is a wasted opportunity to create something new and fresh. I remember that during SAPPHIRE a different, fresher skin was used to show off the product. Why such a boring skin was chosen is hard to understand, especially if one keeps in mind that Silverlight is used as the UI weapon of choice here.
Summary
In summary my first impression of the SDK was slightly positive. The product seemed stable and ready. The choice of scripting languages (BODL and a reduced C# dialect) seems odd and might turn out to be a bad call in terms of community engagement – a key ingredient when trying to create an online app store like experience for BYD. Main reasoning here seems to be cloud app security and that’s fine. However, I’m convinced SAP will pull something smarter out of its hat in the future. Whether it will hem add-on developer uptake remains to be seen. I also heard that SAP in the future plans to offer trial-like versions of BYD SDK for non-partners, which would be an important and welcoming move. Let’s watch this space.
SAP has got to decide if and how to engage with a larger community. I hope it chooses a route where developers are involved and entry barriers are low, so the BYD app store can show a larger number of innovative add-ons at a reasonable price.
I’m looking forward to the presentation of a BYD app store later this year and can’t wait to see the first add-ons doing some BYD magic.