Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
Showing results for 
Search instead for 
Did you mean: 

Update October 2018: Since we introduced the SAP Cloud Platform SDK for service development a year ago we made major progress in simplifying the development of apps for SAP Cloud Platform. The result of this effort is the new Application Programming Model for SAP Cloud Platform, which gained great visibility during keynote demos at SAP TechEd Las Vegas and Barcelona (duration ≃ 7 min.). The SAP Cloud Platform SDK for service development has now become an integral part of this new programming model and ceases to exist as an independent SDK. For you as a developer most of the boilerplate coding is now handled generically by the programming model based on a CDS model and you will make direct use of the SDK only to add custom logic (now also in JavaScript) where needed. How this can be done is documented together with the Application Programming Model for SAP Cloud Platform in the section Adding Custom Logic.

Please note that this blog remains available only for continuity reasons. Further blogs related to the SDK, like those from Carlos Roggan, remain valid also in the context of the new programming model. Also the distribution of the Java portions of the application programming model still takes place via Maven Central.

At SAP TechEd Las Vegas this year Björn Goerke announced, among a lot of other great new things, the new SAP Cloud Platform SDK for service development. Generally speaking, it provides generic development libraries and tools such as OData services provisioning and consumption, business events and so on to enable application developers to easily create extensions on SAP Cloud Platform. In this blog I would like to provide you more insight about what the SDK does, how you can use it to build apps for SAP Cloud Platform and what resources help you to make best use of it.

Let's first have a closer look at the scope of the SDK. As a "software development kit", it helps you develop software, in this case apps which will run on SAP Cloud Platform. More specifically the SDK  at this point is a Java SDK and the resulting apps will run on SAP Cloud Platform, Cloud Foundry Environment.

Cloud apps are about providing and consuming services. This is where the SDK will help you by simplifying the development significantly. Apps built with the SDK can easily provision RESTful services based on open standard OData (V4) protocol, which is broadly adopted not only in the SAP world. The implementation for the different OData service operations (CRUDQ, actions, functions) can be done with very few lines of code, if it is not already done generically by the service provisioning framework of the SDK. Under the hood unsurprisingly we are using the Apache Olingo library for OData, which was largely contributed by SAP. The following code demonstrates some key attributes of the APIs of the SDK:

For the consumption of services again there are already powerful APIs for the most important datasources: OData (for instance for working with data in SAP S/4HANA) and CDS, which is the metamodel of choice now for business objects in SAP. The following self-explaning line of code shows an sample OData service request for retrieving product data from an S/4HANA system:

As you can easily imagine, as a Java developer you already now have some key ingredients for building what we call Extension Apps: these are apps, which provision services in the cloud (nothing special so far) but at the same time let you re-use all the data and processes, which you have already in place in your organization. Why bother building yet another store for products or business partners if you can simply use the existing one?

Beyond support for service-related development the SDK also offers you a growing number of capabilities which you will need for writing reliable, secure and manageable cloud apps.

So, when and how can you start using the SAP Cloud Platform SDK for service development?

You can start now, the SDK is publicly available on Maven Central under the GroupID and you can use it with your IDE of choice. It contains two archetypes: Quickstart (for your own project) and Sample (fully implemented app). We will continue to add functionality and datasources to the SDK and therefore you may want to come back from time to time to get the latest version.