Skip to Content

Report - Best design to pull data from HANA and Non-Hana DB


We have a requirement to build a report in UI5 where data is coming from System1 (on HANA DB) and System2 (on Oracle DB). The amount of data is huge from System1 but very less from System2. How best we should design this report w.r.t. performance?

Below are the options I think of:

1. Create Hana XS application (XSJS ) in System1 and make a call to System2 to get the information and show in UI.

2. Create Hana XS application (XSOData) in System1 and OData (v2) on System2. From UI make a call to get the data from System2.

3. Create a UI5 application in Netweaver Gateway (new system) and get the data from both systems (hub deployment) and show the result in UI.

Please let us know your thoughts.


Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

1 Answer

  • Best Answer
    Dec 27, 2017 at 03:30 PM

    Hi Rahul,

    If you need to perform calculations on both data sources (meaning - they are co-related) before presenting the results to your UI you better use something like SDI (Smart Data Integration). With SDI your data from Oracle can be replicated onto HANA as tables and you would consume tables from both "sources" in a calculation view. This allows you to implement the co-relation between both data tables and expose them as a single OData service. SDI makes sure the tables from oracle get replicated by using an agent (oracle specific). This agent will do an initial load of the table to HANA DB. It will also track table changes being made at Oracle side to send them to HANA DB. Here you have the benefit of using the full power of in-memory computing of HANA and your odata service can therefore retrieve paged data onto your UI (which means more performance to your UI).

    If data in not co-related, then both sources can have their own UI retrieval life cycle. Thus you are better of with the approach of consuming two separate services - each implemented on its own server.

    If the UI application is deployed on a Gateway System, then it makes sense to consume the services from a single URL. In that case, SAP recommends you to deploy SAP Web Dispatcher and consume services from [ GW (UI/OData) || HANA(Odata/XSJS) ] directly via Web Dispatcher to comply with Same-Origin-Policy. The SOP will apply also for Oracle resources you need to consume via UI.

    In other terms, either way, it is recommended to deploy SAP Web Dispatcher in from of your UI.

    If you plan on deploying the UI on SCP, than the answer could be different as the Destination Service will "act" as a Web Dispatcher for your app making all requests "seem" to be coming from the same source (which is SCP). In such case you could consume the services from GW, HANA and Oracle using the SAP Cloud Connector to expose the services to the Destinations you created for your UI.


    Add comment
    10|10000 characters needed characters exceeded