HANA UI Integration Services? What’s that?
With SAP HANA SP5 we introduced the so called HANA Extended Application Services (short: SAP HANA XS) which provide a full featured application- and web-server as well as a development environment within the SAP HANA appliance (more details in the blog of Thomas Jung). With that the HANA Studio turns into a development workbench which allows developers to implement applications and services within the HANA Studio enjoying all necessary tools in an eclipse-based environment.
So what are HANA UI Integration Services about in this context?
The idea and goal behind HANA UI Integration Services is to
“Provide end-users using HANA XS applications state-of-the-art experiences by providing Shell- and UI-services like personalization, page building or navigation while giving developers a simple way to use those standardized services as part of the HANA XS development environment and designers or developers the opportunity to compose and configure the applications in an WYSIWYG authoring environment.”
This is a long sentence so let’s try to detail it a bit more with an example of using the UI service “personalization”. As a developer you have concentrated on the core application logic first and now you want to provide end-user personalization for your application. For example you want to provide two ways how to visualize the data – either as a table or a graph. Now you want the user to decide which visualization is preferred and persist this choice. Instead of implementing your own personalization mechanism you can re-use the personalization mechanism provided by HANA UI Integration Services!
And even better: You don’t have to take care of the UI for the personalization since this also comes – if you want – from HANA UI Integration Services. You just declare which parameter should be personalized. The UI will be provided by HANA UI Integration Services by wrapping your application as a widget and adding the widget to a so called Application Site. A widget is an open social compliant container where the UI services are hooked to and an Application Site a container where one or more widgets can be added to. The default Application Site Shell is a UI5 Shell that allows you to create one or more pages and add to those pages widgets that you have created. If you don’t need the Shell you can also configure it to be “headerless” so it shows the application in full-screen mode only without showing the shell at all.
So coming back now to the personalization example. What do you gain now when wrapping your application as a widget and adding it to an Application Site? On each widget there is now a personalization option available as part of the automatically added pane on the right side of the container which looks and behaves the same on all applications (see screenshot below). The pane is opened by clicking on the handle that shows up on the right upper corner when you hover the container with the mouse.
Now that you hopefully better understand what HANA UI Integration services are and how you can benefit from then let me summarize the features and benefits we currently provide as part of HANA SP5 beyond the example we were just looking at:
- Easily build and reuse application components by utilizing UIS widgets
- Design the application UI with UIS application site designer
- Create and manage all artifacts directly from HANA Studio and Repository
- Personalize and customize end-user preference
- Allow easy customer or partner application extensibility
- Page building: State-of-the-art design environment of the application layout and content
- Property persistence: Widget can define properties that are persisted enabling customization
- Personalization: Persistency of widget properties on user level
- Publish-Subscribe: Eventing mechanism allowing data interchange between widgets
- Context: Properties can be reflected in the URL allowing bookmarking and sharing
Of course all features are documented – you can find more details here.
I hope this blog raised some interest and helps you better understand what HANA UI Integration Services are. We’d be more than happy to discuss with you additional requirements and feedback. Just send us a mail: email@example.com or firstname.lastname@example.org
We are currently working on additional features and functions that we plan to provide as part of HANA SP6 and SP7, so stay tuned!
Thanks for clarifying the, and especially for the link to the full developer guide. Didn't know about that document yet.
It's starting to look more and more interesting to build some applications from scratch with hana_xs .
Good to see this blog. I knew about the development of UI5 apps using the XS app server but didn't knew about the UI integration services. More so to realize Shell-and-UI-services are being used across multiple products which is very smart. Now developers can learn it for one product and use it across multiple sides.
Many thanks for nudging me to the section 11.2 of the HANA Dev Guide 🙂