Where are all extensions in the HANA ecosystem: An initial search
I’ve been blogging about extensions on the HANA Cloud Platform and I wanted to try a similar approach to the broader HANA ecosystem.
Note: “Extensions” have a particular implementation / flavor in the context of the HANA Cloud Platform. In this blog, I’m referring to “extensions” in a more generic manner.
Let’s take a quick look at the high-level HANA architecture which will act as the foundation for our discussion.
Extensions in the HANA Services layer
The first potential extension point is in the HANA Services layer. There was a recent announcement regarding the use of Rogue Wave IMSL Numerical Libraries which will be embedded in the HANA analytics engine.
If I remember correctly, this extension point was described by Vishal Sikka at the Sapphire last year but the Rogue Wave announcement is the first example that I’ve seen. I have no idea if a certification for such HANA Services extensions exists. I also don’t know whether such extensions are only possible if included in the SAP-delivered product or whether partners could offer such extensions to individual customers as a service offering.
Extensions in the HANA XS layer: Lumira Server as an example
I started examining this topic based on thoughts related to the architecture of the Lumira Server.
Based on our diagram depicted above, the pattern for the Lumira Server looks like this:
The components used in Lumira Server are HANA-XS-based and non-trivial
Component |
Description |
sap.bi.common |
Security roles and other common files. |
sap.bi.da |
Data acquisition services. Supports the creation of datasets from CSV and XLSX files. |
sap.bi.discover |
Data discovery services. Supports searching within a dataset, the Dataset sap.bi.discover Overview page, visual discoveries, and the “Did You Know” feature. |
sap.bi.launchpad |
Launchpad features. Supports the item catalog and sharing functionality. |
sap.bi.thumbnails |
Service that generates the thumbnail images that are saved with visualizations and that appear on the dataset overview page. |
sap.bi.va.core |
Client-side resources required by the Visual Explorer application. |
sap.bi.va.tp |
Resources required by third-party libraries used and distributed with SAP Lumira Server. |
sap.bi.va.vxtab |
The Visual Explorer application and query services. |
Note: The document “SAP Lumira Server User Guide“ from which this table is based has since been taken off-line. I found the document at this URL on December 6, 2013. Usually, I try not to reference documents that are no longer available but I’m making an exception.
The current architectural pattern used by the Lumira Server is the usual one but what if a partner wanted to use some of the components to create their own application.
This is a possible extension point that would provide value to the entire SAP ecosystem yet it is largely unknown and unexplored.
Conclusion
Although the Lumira Server framework scenario mentioned above is a hypothetical example. There are, however, concrete examples of individuals providing HANA-XS-based frameworks / functionality for re-use by other developers. For example, I found a github project that provides an open-source SAP HANA XS JavaScript utility to reverse geocode data in HANA tables (It appears that there is similar functionality in the latest release of the HANA Services layer).
What is interesting is that there are very few examples of such HANA-related extensions / frameworks on github (I only found two). There might be other examples on SCN forums or blogs but their placement – buried in some forum post – doesn’t make it easy for developers to find them.
There are also no commercial offerings for such frameworks. If you look at the HANA marketplace, you will find a variety of HANA-based applications but no offerings directed towards developers. Some might say that this marketplace is primarily for end-users rather than developers yet I know of no other HANA marketplace. If a developer / partner wanted to sell their HANA SQL Script code, where else would such products be offered for sale?
Such HANA-related offers of commercial frameworks, however, are critical for the broader acceptance of HANA as a development environment. Although open-source HANA-related frameworks would be useful, enterprise developers often require a vendor-supported framework to provide the 24/7 support and legal responsibility.
Note: The developer community associated with the data science programming language “R” is quite mature / vibrant and there is also an integration between “R” and HANA. Yet, “R” code is primarily restricted to big data scenarios in HANA and is primarily focused on data scientists rather than developers – especially those who are developing domain-specific / business applications. For such individuals, the business algorithms / logic in the Business Suite that are being moved from ABAP to HANA might be useful as a framework.
I get the feeling that there are many applications being developed on top of HANA and a variety of customer-specific projects using HANA (the use case for RDL) exist but the lack of extensions for HANA demonstrate that the broader HANA-related developer ecosystem is still relatively immature.