Skip to Content
Technical Articles

Building a single code line multi-cloud application for Object Store

This blog gives a brief outline on how to build a single code-line multi cloud application consuming Object Store Service of SAP Cloud Platform Cloud Foundry Environment

What is Object Store Service?

Object Store service enables the storage and management of objects, which involves creation, upload, download, and deletion of objects. SAP provides Object Store Service on its SAP Cloud Platform Cloud Foundry environment running on different IaaS providers like Amazon Web Service, Azure, Google Cloud Platform, OpenStack.  Please click here for more information on Object Store Service.

Though the object store service is provided on multiple IaaS providers, the way to connect to and use the service varies for each IaaS provider due to changes in the structure of credentials and in the configurations . Writing a single code-line application that works seamlessly on all these IaaS providers is a challenge that many developers face.

We had developed a single code line reference application that can work  with Object Store Service on SAP Cloud Platform Cloud Foundry Environment hosted on multiple IaaS providers . This application perform operations like upload, download, delete and list of files. It is a spring boot application that uses Apache jclouds library which provides a multi-cloud toolkit that gives a developer the freedom to create applications that are portable across IaaS providers.

Architecture diagram of the application

A single REST controller accepts the request (GET, POST, DELETE).

Separate service implementations, configuration classes are provided for each of the Object Store Service provider. The right implementation, configuration is loaded by spring boot based on the IaaS provider that the application is deployed on.

A single DAO (Data Access Object)/ repository class calls the jclouds API’s to perform upload, download, delete operations on the Object Store.

Source code and Tutorial

The source code and documentation of application is available on Github.

A detailed tutorial with steps on how to create such an application is also available.

Hope you will find the code and tutorial useful. Do post in your comments and feedback.

Happy coding!

 

 

5 Comments
You must be Logged on to comment or reply to a post.
  • Hi Indu,

    We have various other services to manage unstructured content like Document Service, SAP Document Center , Object Store. HANA on Cloud Foundry/SCP itself can store BLOB objects. How do i map between services and scenarios? What Use-case does each service solve that can’t be solved by the other?

    Thanks

    • Thanks for the very pertinent question, Shilpa. Based on your question, we are planning to put out some information on the community in the coming weeks. I will update you once this is available.

      But in general, each of these services has a niche place on the platform for which it would be the right fit. More details soon.