SAP recently released SAP Cloud for Customer (C4C, a Cloud solution for customer engagement and relationship management. Whilst this is a Software-as-a-Service (SaaS), the need for client-specific functionalities will likely emerge anyway. On-premise SAP products currently give the opportunity to change the standard solution components in order to realise bespoke solutions and services, and present lots of spots available for the client-specific configuration or enhancements.
In the case of a Cloud for Customer solution, SAP does provide similar ways to customise or enhance the standard solution by including the provision of a Software Development Kit (SDK). Check out Customising SAP Cloud for Customer: What are the options? by Tony Rosenthal. In this blog post, I will share some of my experiences with the tool.
I recently had the opportunity to play with the new Software Development Kit Framework provided by SAP called SAP Cloud Application Studio. The Cloud Application Studio is an accessory tool that has been provided in order to design and build bespoke and client-specific applications and services on standard SAP C4C implementation. The Cloud Application Studio is, furthermore, the new integrated development environment useful for the following activities:
- Define new entities in the client-specific Data Model (called BusinessObjects) and new UI Application for working with them
- Enhance the standard BusinessObjects and Entities by enabling client-specific fields, tables, views menus, tabs and actions on the UI
- Create new communications services with external systems via SOAP WebService Integration.
Specific examples of what I have worked on using the above functionalities can be found in the following posts:
One of the most impressive features of the SDK is the low amount of coding required in order to realize enhancements to the solution, with development time very small compared to on-premise SAP CRM.
A simpler business data model
Consider the case where you need to define a new entity on your Business Data Model and link on a standard Business Object. In an on-premise SAP solution you should have defined the Data Structures that would have mapped the Entity information, and then all the code required to get, set and store data in the designed Data Structures. In the Cloud Application Studio, all these operations instead are reduced to prepare a single file (the Business Object source code) which will be composed by just the field definition for the entity, saving a lot of time in your custom developments.
A simpler programming model
From an architectural point of view, the programming model delivered by SAP resembles some frameworks released in the past years and available on premise Solutions, such as the Business Object Layer (BOL) or the Generic Interaction Layer (GenIL), commonly used by SAP to deliver web based solution like the SAP Web User Interface or the Adobe Interactive Forms. The advantage of the Cloud Application Studio Programming Model on all the previous ones is not just in the immediate and direct availability of the Business Objects and their member properties, but even in the simplicity to declare and define new objects (and their UI screens) in the code. You have no need to create data structures, handler ABAP classes or tables: the Cloud Application Studio framework will do it in a way that is transparent to the programmer.
Easier integration with legacy systems
Consider then another scenario, such as the integration with a legacy external system. We have been impressed on how Cloud 4 Customer is easy to integrate in a landscape with other external systems, even non-SAP technologies. The SOAP WebServices toolkits provided by the Cloud Application Studio will give you the opportunity to build the integration with an external system in few steps, and will let you to see (in the SDK programming model) the Communication service to the remote system as a new Business Object, not at all different than the BOs in the internal system Data Model. This feature is pretty useful to realize Business Logics based on the system integration.
Better collaboration amongst developers and the community network
The programming tasks itself have become more intuitive and smart to achieve, with an online up-to-date repository where to find all the information required on the available objects and their specifications. Furthermore, the SAP Community Network groups for Cloud for Customer are a useful resource for knowledge exchange on SAP Cloud Programming, where we noticed a fervid participation from lots of contributors, who update the information on how to solve the programming issues.
Considering of migrating and adopting a Cloud Solution is of course an advantage in term of reliability, redundancy and availability of the systems and the application published on it.
Furthermore, the benefit provided by SAP Cloud for Customer seems not just to be limited to the key advantage of the Cloud, but even on a new solution platform where to realize and deliver new and bespoke services for Client-specific activities:
- Easier-to-use Business Data Model, with all the low-level data structures being realized by SAP, and with a Programming model pretty much easier to access and consume
- Easier technological tools to connect the Cloud solution to the legacy systems, in a scope of a system integration
- Better collaboration among developers in the same team and quicker feedback on the SAP Developers Community Networks.
If you are thinking of a new and smarter concept of delivering a bespoke solution for a client, SAP Cloud for Customer, with its SDK (Cloud Application Studio) is the right answer.