9.4Overview of Possible Architectures
This last section is based on the basic principles of the previous chapters and describes the two basic architectures to add analytical functionality to transactional, ABAP-based systems:
-
Direct access to analytical functions in SAP HANA and integration of analytical functionality in a transactional, ABAP-based application via user interface (UI) integration (e.g., using the SAP Enterprise Portal or SAP Business Client).
-
Access via the AS ABAP to analytical functions, in particular through the Analytic Engine in SAP BW, and integration of analytical functionality in a transactional, ABAP-based application at different levels. In this case, the SAP BW infrastructure is used via the Analytic Engine without having to operate a separate SAP BW system.
When doing so, we’ll focus only on the operational level for reporting and data analysis while assuming that SAP HANA is used as the primary database. In some cases, however, the two approaches can also be used if SAP HANA is implemented as a secondary database.
9.4.1Direct Access to Analytical Functionality in SAP HANA
Direct access to analytical functionality in SAP HANA refers to data analysis via SAP BusinessObjects tools without using an AS ABAP. Moreover, this also includes the provisioning of analytical functionality via SAP HANA Extended Application Services (SAP HANA XS Engine, which is described in Chapter 1, Section 1.1.4).
The architecture for direct access to analytical functions in SAP HANA is displayed in Figure 9.11. In this architecture, end users communicate with the SAP HANA database either directly or via the SAP BusinessObjects portfolio but without using the ABAP AS.
Figure 9.11Direct Access to SAP HANA
[»]SAP HANA Live
One scenario for direct access to SAP HANA for operational reporting is the implementation of SAP HANA Live (previously SAP HANA Analytics Foundation). Put simply, SAP HANA Live provides a virtual, multilevel data model (Virtual Data Model) consisting of SAP HANA views based on the database tables of the SAP Business Suite.
SAP HANA Live can be accessed using the SAP BusinessObjects tools or using special HTML5 applications based on SAP HANA XS. You can use SAP HANA Live both with a primary and a secondary SAP HANA database.
The advantages and disadvantages of analytical functions in SAP HANA are obvious:
-
One of the biggest advantages of the SAP BusinessObjects portfolio is that many of the requirements with regard to reporting and data analysis are met by default (see Section 9.2). Reports can be created without any programming efforts, and you can save the generated reports in a central repository to make them accessible to a large number of end users. Alternatively, end users can create their own reports and data analyses (provided they have the necessary authorizations).
The disadvantage of this approach is that for certain tools, a Java server (with its own administration and lifecycle management) is needed in addition to AS ABAP.
The advantages and disadvantages of using SAP BusinessObjects tools also apply to access to analytical functions via AS ABAP, which is described in the following section.
-
If you decide to develop reports and data analyses via SAP HANA XS, you have the flexibility to adapt the analytical UIs exactly to the end users’ requirements. Especially when using SAP HANA as a secondary database, this approach has already proven itself in practice because this architecture was used in many of the first customer projects with SAP HANA (SAP HANA as a data mart). A disadvantage is that hardly any functions for reporting and data analysis are provided out of the box. Another disadvantage is that every end user needs both a user account for the AS ABAP and a corresponding user account for the SAP HANA database, which is assigned the required authorizations for accessing the relevant data models.
9.4.2Access via SAP NetWeaver AS ABAP
Instead of using the SAP BusinessObjects portfolio or the SAP HANA XS Engine to access SAP HANA directly, you can provide analytical functions via AS ABAP. In addition to the SAP BusinessObjects tools, you can use further options to add analytical functions to transactional applications when choosing this approach. A central infrastructure component of this approach is the Analytic Engine we mentioned earlier.
The architecture for accessing analytical functions via AS ABAP is shown in Figure 9.12. With this architecture, the application server is used for all communications with the SAP HANA database.
Figure 9.12Access to Analytical Functions via AS ABAP
Access to SAP HANA via AS ABAP and using the Analytic Engine provides some important advantages over direct access to SAP HANA to integrate analytical functionality in transactional applications.
First, in contrast to direct access to SAP HANA, you can maintain and administer users and authorizations in a single system when accessing analytical functionality via the Analytic Engine. End users need only one user account for AS ABAP. As described in Chapter 3, communication with the SAP HANA database is done via a technical database user. In addition, you might have to create users in the SAP BusinessObjects BI server.
Second, when using the Analytic Engine, you benefit from some additional functions that SAP HANA doesn’t currently provide:
-
Hierarchy processing
As already described in Chapter 4, Section 4.4, SAP HANA provides basic support for simple hierarchies. If your hierarchy-processing requirements aren’t met by this basic support, you can probably meet them by modeling the hierarchy using the SAP BW functionality. SAP BW currently provides the following functions, but they aren’t available directly in SAP HANA: hierarchy versions, time-dependent hierarchies, plus/minus sign reversal, and elimination of internal business volume. -
Formulas
The SAP BEx Query Designer provides some functions that aren’t available directly in SAP HANA when defining calculated fields and key figures. In the SAP BEx Query Designer, you can, for instance, use functions to calculate the percentage share of a result in an interim result or in the overall result of the SAP BW query. Or, you might want to display both the absolute sales per flight connection and the relative percentage share of the sales in the total sales of the respective airline. -
Report-report interface
The report-report interface (RRI) allows you to navigate from a SAP BW query to other SAP BW queries, transactions, and reports of an ABAP system or any web address. No comparable function is provided directly in SAP HANA.
Third, the infrastructure of AS ABAP provides some interesting approaches for integrating analytical functions with transactional applications. Although we can’t describe them in detail here, we’ll mention them briefly:
-
Easy Query
Using the Easy Query interface, you can expose the result of SAP BW queries via function modules, web services, or the OData protocol (the latter is done in connection with the SAP Gateway). -
SAP Gateway
The SAP Gateway allows you to make business data available as an OData service. Within OData services, you can address the Analytic Engine either via multidimensional expressions (MDX; not described in any detail within this book) or via the Easy Query interface. Based on an OData service and using SAPUI5, you can implement HTML5-based UIs. -
UI building blocks
The SAP Business Suite (or, more precisely, the software component SAP_BS_FND) includes some reusable UI building blocks for Floorplan Manager that allow you to directly access SAP BW queries (when performing your development tasks in an SAP Business Suite system).
These approaches that go beyond the tools of the SAP BusinessObjects portfolio are particularly suitable to extending existing applications easily and without risk, such as by providing analytical side panels in the SAP Business Client for your end users.
Many of the technologies and tools mentioned in this chapter were only described very briefly, but this information will help you with some ideas for adding analytical functions to transactional, ABAP-based applications.