Skip to Content

Today I will give you some short details about the architecture of the ByDesign Studio and the programming languages behind. I had the possibility to work with the SDK for more than a year and have already finished two Add-Ons for the SAPStore, so I think it`s time now for a little bit of knowledge/experience transfer 🙂

The SDK is divided into two different applications, the ByDesign Studio and the UI-Designer. In the ByDesign Studio, you declare the Business Objects with the “Business Object Declaration Language” (BODL) and you code actions with the “Advanced Business Scripting Language” (ABSL) for business logic. Your code in these languages will automatically be translated to ABAP by saving the file in ByDesign Studio.

The second part of the SDK is the UI-Designer. It can only be opened within the ByDesign Studio, it´s not an autonomic application. With the designer you can create and edit screens for your own or for existing business objects. It has also his own scripting language SAPRuby, a ruby based scripting language to write UI logic.

The sharp distinction in different languages constrains a sharp distinction of business and UI-logic. I think it`s a great idea… although you have to learn different programming languages in the beginning… maybe that`s not so easy…

Another great feature is the idea behind the associations in BODL/ABSL. There are no inheritances like you know them from other programming languages like C# or Java. In ByDesign, a business object can have an association to another business object but it can`t inherit from it. For example a customer has an association to the corresponding business partner. In result of that you can create a business partner with basic data and after that you can create a customer and/or a supplier based on this business partner which uses the basic data of the business partner. During runtime you do not have three different objects with the same basic data; you have only the business partner and the two objects with additional data associating the business partner. So you have less runtime data and that`s better for the In-Memory technology…

The SDK also allows fast development by e.g. automatic creation of screens for your business objects… that`s right… if you use very simple business objects and less logic. But if you want to display different sub nodes (name for collections insight a business object) on the UI or use advanced navigations, you have to build the screens manually. The automatic screen generation arranges the BO elements (attributes) only among one other in order to the declaration in BODL.

In general I can say that if you have standard programming skills, it`s very simple to learn the languages (BODL, ABSL and SAPRuby) and the use of the SDK.

SAP has done a great job with the SDK and offers partners a very easy to use platform to extend ByDesign.

Posts with implementations of some simple use-cases will come soon…

To report this post you need to login first.

3 Comments

You must be Logged on to comment or reply to a post.

  1. Jan Penninkhof
    Hi Andreas,

    Thanks for the blog. Sometimes a picture is worth a thousand words. While you were explaining about the various functions in the ByDesign studio, especially e.g. the GUI tools, I have been wondering what they look like. Would you mind adding some screenshots to your blog?

    Also, as this is a blog intended for newbies, do you know what the best way is to get started? I haven’t seen a developer edition that can be downloaded from SDN or something…

    Regards,
    Jan

    (0) 
    1. Andreas Eissmann Post author
      Hi Jan,

      Thanks for comment. In next days, I will begin to blog some more details with screenshots (explaining the SDK environment and the language features).

      The best way to get started…ok, at the moment, only ByDesign partners may download the SDK from Business Center Wiki (sme.sap.com). But as far as I know, in near future, it should be possible to download the SDK from SDN as well.

      Regards,
      Andreas

      (0) 

Leave a Reply