Hybris-as-a-Service (YaaS) and SAP HANA Cloud Platform – simply better together
There is a new service available for SAP HANA Cloud Platform – Hybris-as-a-Service (YaaS). It’s cool, easy to use, and very, very helpful.
What is YaaS on SAP HANA Cloud Platform?
YaaS on SAP HANA Cloud Platform is nothing more than a business service marketplace, the YaaS Market, where business services are registered. This is a registry of business services that you build and call to run business applications.
Is using YaaS on SAP HANA Cloud Platform difficult?
Not at all. There are four steps you have to follow.
1. You build your business service as a micro application on the SAP HANA Cloud Platform. You can use this to extend SuccessFactors, Hybris, or other applications.
2. You register these business services on the YaaS registry. You just use YaaS to register the business services that you have built. YaaS on SAP HANA Cloud Platform handles all the security, invocations, metering, and billing for your business services.
3. You compose new business applications from some of the business services registered on YaaS. The cool thing is that you can reuse these business services in different combinations for different applications over and over again.
4. You run all applications on one cloud platform – the SAP HANA Cloud Platform. This is what you do:
– you call the business services via YaaS on SAP HANA Cloud Platform.
– you run these business services alone, or together with other applications on the SAP HANA Cloud Platform.
– and last but not least, all the security, credentials, metering and billing is automatically handled by YaaS.
If this has become interesting to you, here you can learn more: SAP HANA Cloud Platform
And we always appreciate a good feedback, so don’t hesitate to comment 🙂
thank you for this blog. I had a quick view at YaaS and have two questions.
Is there a tutorial, maybe a YouTube video that shows a quick example?
As I saw the API of the services is not an OData API. Is there a reason for this? Will it be changed in the future?
As a UI5 developer I would appreciate an OData API and from my view it would fit to SAPs API strategy, wouldn't it?
If there are good reasons for not using OData could you explain when to use OData and when not in SAP context?
In the end of the blog I have provided a link to the documentation I am working on. I am still improving it. For example, the tutorial is restructured and explained in more detail. Just check out the new releases that are coming.
About the OData related questions, may be Timo Lakner can give more information.
there is a reason why YAAS is not using OData. YAAS was created first with the Frontoffice in mind (this is the customer / end user facing solutions which are part of the SAP Hybris portfolio: Commerce, Sales and Services, C4C, Marketing) where the easy and straight forward consumption of the offered services is one of the biggest goals.
Developers implementing Frontoffice solutions like commerce storefronts and other examples are used to consume REST webservices as REST is the de-facto standard to consume web services and create mashup applications today (The same is actually true for the pick of OAuth2).
In addition we had 2 additional goals for YAAS:
With RAML we found the perfect match, as it is language agnostic and allows us to extract common API patterns so we can ensure a certain consistency for services implemented by different teams and partners without restricting them in how they want to implement their services (programming language, library usage). You can find an overview of our available API Patterns here: YaaS RAML Patterns
Our Service SDK generates you the complement API implementation based on JAVA 8 & Jersey based on your RAML definition and as RAML is Open Source (http://raml.org/) there are many more tools available for other languages and use cases.
In order to allow Microservice to be micro we need to ensure that we do not impose and hard requirements which a) make them unnecessary complex and b) restrict developers as little as possible in their implementation choices. E.g. all current programming languages make it very easy to implement REST. If we would have picked OData as a hard requirement we would have made the implementation of each service more complex and would have made it really hard for language with no OData lib available. In addition the querying of Odata kind of assumes a relational model in the back which is not a given in a Microservice world with NoSql backing services.
These are some insights into our decisions not to go with Odata. This does not mean that we do not see good use cases for OData, but in the Frontoffice area REST is a better fit and therefore it is the default. But as YaaS is an open platform, you can still also offer an additional OData interface, if you need it.
I hope this gives you more insights into our decision process,
I think your definition of YAAS is a bit too narrow: "YaaS on SAP HANA Cloud Platform is nothing more than a business service marketplace, the YaaS Market, where business services are registered. This is a registry of business services that you build and call to run business applications."
I am heading the YaaS development at SAP Hybris, so I have good insights what YAAS is and I agree with you that the Marketplace (https://market.yaas.io/)https://market.yaas.io/https://market.yaas.io/ is a central part of YaaS, as it is enabling the low touch subscription model with a usage based pricing model.
For SAP it is the first and only low touch / usage based sales channel which is officially approved to my knowledge. In addition YaaS is providing the required metering and security features in order to meter the usage for billing, handles the billing of the subscribers and secures your services for you by shielding your services endpoint and giving you convenient way to define role based access control to your endpoint.
In addition to the Marketplace YaaS also provides you a central administrative web UI called Builder. The Builder lets you manage your account, organisations, projects and dev teams (e.g. invite people to your org, team, project; assign roles to members). In addition the Builder automatically includes all UIs provided by your subscribed packages. E.g if you have the Product Content package subscribed you will find you UIs to manage you categories, products including the media and price management. As YaaS is a open platform, this extension mechanism works in a language agnostic manner, package providers can implement their UIs in their language of choice, to ensure a consistent look and feel we provide Techne (Techne: Yaas Styleguide) as the style guide and provide a bootstrap library to make it as easy as possible to comply to Techne.
There are many more things which make up YAAS, e.g. if you are a developer, you find all technical information in our Devportal. From Getting Started Guides to Information on the Architecture and Security Concepts to extensive documentation on all services which are part of the packages on the Marketplace (including interactive API Consoles and Tutorials) to our RAML API Patterns and tooling around making the creation of packages of YaaS as convenient as possible. This includes SDKs and project templates like
As you can see we also emphasis on offering all the enablement pieces as Open Source to make collaboration easier.
I can go on and on but lets see first if this makes it a bit clearer what YaaS is about 😉
Thank you, Andreas,
for these clarifications. I meant this blog more as a short marketing message leading to the documentation that explains everything in more details. However, with your comment, the YaaS definition looks complete.
If you have any comments on the YaaS documentation as well, please email me.
Maybe in a first step you can take a look where my explanations above can be used to enrich the YaaS Documentation on your side 😉 Deal?
I am still confuse with the relationship between YaaS and HCP.
If Yaas is on HCP, does that means that if I build a microservice in YaaS, I can still leverage all the features and services provided by HCP in my microservice? For instance:
let me try to answer this.
The most important thing to understand is that YaaS does not offer deployment infrastructure. Therefore HCP (or any other PAAS / IAAS provider, but we prefer HCP) is needed in case you not only want to use services but offer your own services. YaaS offers a way to publish your packages (consisting of services and uis) on the the YaaS Market, but these services and UIs need to be operated somewhere.
And to answer your concrete questions:
Let me know, if this answers your questions
Let me try to summarize to see whether I am getting the idea or not.
Basically YaaS is a way for me to bundle a set of microservices and offer them as a package in the marketplace. From a package perspective, YaaS will provide features such builder sdk to allow me to build custom UI for my package subscribers to tweak or manage the microservices, provide RAML patterns to harmonize the interaction with the microservice APIs, provide facility to manage and charge the usage of the package, etc ..
The microservices can be developed on any providers, be it HCP, AWS, etc ... If I build a microservice in HCP, then I am bound with the features provided by HCP. I can build a set of microservices from different providers and bundle them as a single package. YaaS is agnostic about the provider as long as it supports feature such as OAuth2.0 for integration.
From a subscriber perspective, they will not be aware of where the microservices are coming from. They will just subscribe to a particular package and interact with the package through RAML API and Builder. They will pay based on the usage agreed from the package.
How about interoperability between microservices within a single package? Does YaaS provide any support on that end?
Hello Andreas Bucksteeg & Ekaterina Mitova
I am trying to build my scenario, I have subscribe my required app from YaaS market, But its look i need more application for subscription to complete my Uber liker Mobile Application.
I am trying to build a Application similar to Uber or Ola.
Can you guys provide me your email id so that i can contact you.
I think I need some more tutorial videos or doc. to see how to build,I have seen all the webinar available online, Its look YaaS can surly help and support me to build my solution i am looking for. But question is how ? and who ? so I am looking for someone who knows YaaS. Because I am planning to build a YaaS base Mobile Application.
Kindly write me on email@example.com
Thanks & Regards