0% found this document useful (0 votes)
45 views

An Overview of SAP Core Data Services

An overview of SAP Core Data Services

Uploaded by

cbattula
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
45 views

An Overview of SAP Core Data Services

An overview of SAP Core Data Services

Uploaded by

cbattula
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/341642982

An Overview of SAP Core Data Services

Conference Paper · February 2020

CITATIONS READS
0 4,177

2 authors, including:

Firas Alomari
George Mason University
6 PUBLICATIONS 60 CITATIONS

SEE PROFILE

All content following this page was uploaded by Firas Alomari on 26 May 2020.

The user has requested enhancement of the downloaded file.


SOFTENG 2020 : The Sixth International Conference on Advances and Trends in Software Engineering

An Overview of SAP Core Data Services


Add Belati Firas Alomari
Corporate Application Department Corporate Application Department
Saudi Aramco Saudi Aramco
Dhahran, Saudi Arabia Dhahran, Saudi Arabia
email: [email protected] email: [email protected]

Abstract—Increasing amount of data and the diversity of address a growing number of conflicting business needs, albeit,
available data structures enable applications that can make timely at the expense of increased complexity to link, orchestrate
decisions based on live data that, in most cases, can be evaluated and synchronize multiple systems in the IT infrastructure.
without traditional application layer processing. SAP introduced
the Core Data Service (CDS) framework as a data modeling Therefore, unified Analytical Transaction Processing (ATP)
approach in which Virtual Data Models (VDM) are defined at systems were proposed to perform fast analytical processing
the database layer. CDS improve applications performance by coupled with transactional data management [4], preferably,
pushing data processing from the application to the database by merging operational and analytical systems into one single
layer to reduce data movements. In this paper, we present some system. ATP systems run the analytical queries directly on top
technical insights into SAP’s CDS, including new application
patterns supported by CDS and the motivations behind it. We of the transactional data to enable real-time data operations,
also discuss some practical considerations and challenges that reduce IT complexity and lower the total cost of ownership.
may arise with CDS adoption and implementation. Systems, Applications and Products (SAP) introduced the
Index Terms—ERP; Programming; Database; Code Pushdown High-Performance Analytic Appliance (HANA) [5] to provide
a unified ATP system that fulfils the aforementioned require-
I. I NTRODUCTION ments of business applications. It provides a data management
Enterprise Resource Planning (ERP) and Business Intelli- platform to support efficient processing of both transactional
gence (BI) systems are a fundamental part of today’s enterprise and analytical workloads on the same physical database. It
IT applications portfolio. They provide a set of standardized supports a code pushdown approach to execute data-intensive
software packages that capture interdisciplinary business pro- processing in the database close to the raw data (i.e., code-
cesses across the entire value chain of an enterprise in a to-data) to reduce expensive data movement and improve
streamlined fashion [1]. ERP and BI systems integrate business applications performance. To take advantage of this code
functions with a centralized data repository shared by all pushdown concept, SAP introduced CDS framework as a data
business processes in the enterprise. The information provided modeling infrastructure to enable data reusability, extensions,
by these systems drive daily business operations and provides and integration in HANA. Later, CDS were also introduced to
for the development of new business ideas. the SAP ABAP application stack to enable developers to take
advantage of the code pushdown with other databases.
ERP systems were designed to capture daily operational and
transactional business data. This kind of data processing typ- In this paper, we introduce CDS and the motivation behind
ically referred to as Online Transactional Processing (OLTP) it. We also discuss some of CDS implications on application
[2], uses row-based operations to efficiently process trans- development strategy. The paper is organized as follows: CDS
actions, instantly recording business events (e.g., payments) are described in Section II. In Section III we discuss CDS
and reflecting changes as they occur. However, they are not advantages and present some practical considerations related to
efficient at performing set-wide operations on entire tables. BI code-push-down with CDS. We conclude the paper and present
or Data Warehouse systems, on the other hand, were designed future research directions in Section IV.
as Online Analytical Processing (OLAP) systems, to provide
II. SAP C ORE DATA S ERVICES (CDS)
analytical and trend reporting from the growing data in the
ERP systems. They leverage column-oriented tables to speed In this section we present a brief background of code
up operations over a huge volume of data at the expense of pushdown and introduce the data services layer provided by
efficiency in executing OLTP workload. CDS. Additionally, we describe CDS technical features and
OLTP and OLAP systems evolved separately to prevent enhancements.
the long-running and resource-intensive OLAP workload from
A. Background
decreasing the transactional throughput of the OLTP system
[3]. Specifically, OLAP solutions were running analytical The availability of multi-model databases that support com-
queries on a copy of the transactional data (i.e., views) from plex data structures such as spatial, text, graph, and time series
OLTP data stores [4]. This enabled companies to efficiently data enables built-in advanced analytics capabilities, such as

Copyright (c) IARIA, 2020. ISBN: 978-1-61208-776-4 6


SOFTENG 2020 : The Sixth International Conference on Advances and Trends in Software Engineering

Presentation Layer
UI Rendering
Presentation Layer
UI
Presentation Logic

Data to Code Code to Data

Application Layer
Application Layer Application Layer
HANA XS ABAP Others

Service Logic
Code UI Logic

Analytics Search OData Business Logic


Raw Results
Data Core Data Services

Data Layer
Data Layer Data Layer
Data Centric Logic

Data Store Data Store Code


Data Store

Fig. 1. Code Pushdown Model. Fig. 2. Core Data Services Model.

text mining, spatial analysis and predictive analytics.These The CDS data modeling infrastructure uses specific domain
capabilities support diverse application patterns ranging from language to define different data services in a unified data
transactional systems to decision and analytic support systems definition and query language [8]. These data models are
in real-time and on live data [6]. However, as the size of data defined and consumed on the database server rather than
grows, moving data becomes the bottleneck and the cost of on the application layer. They can be further enriched with
moving data around becomes prohibitive. Yet, in many cases, semantics to allow developers to define entity types (e.g.,
the data can be evaluated and processed on the data storage orders or products) and the semantic relationships between
without the need for traditional application layer processing. them, which correspond to key relationships in traditional
Let us consider the example of one million values, rep- entity relationship (ER) models.
resenting different currencies, that need to be calculated. In particular, CDS offer central definitions that can be used
Typically, the individual values are transferred to the appli- in many different application context, such as transactional and
cation server from the database to only be discarded after analytical applications, to interact with data in the database
the conversion and calculation has been done. Therefore, it’s in a unified way. They provide a cross platform unified data
advantageous to move the data less by running workloads in abstraction layer that sits between the database and client
the data storage or as close to it as possible [7]. This concept applications (see Figure 2). They function as proxy that drives
of code pushdown or code-to-data (see Figure 1) improves the data intensive computation to the database and exposes only
applications performance by executing application logic inside relevant results to be consumed by different applications.
the database, thus, decreasing the amount of data transfer and Similar to Open Data Protocol (OData) for User Interface
round-trips between the database and application layers. (UI) abstraction where UI rendering is pushed up to the client,
CDS push down data-intensive calculations to the data layer to
B. Data Services Layer get the benefits of the underlying databases high-performance
capabilities such as fast in-memory column operations, query
Technically, applications communicate with databases optimization, and parallel execution.
through a number of various interfaces such as Standard Query
Languages (SQL), Stored Procedures, SQL Scripts, or specific C. CDS Description
APIs. In the code pushdown concept, data services such as
search or predictive analytics use these interfaces to push the CDS models are expressed in a Data Definition Language
computation to the database layer and only move results to (DDL). DLL is based on standard SQL with some enhance-
application layer. Therefore, a common abstraction layer for ments, such as associations, extensions, and annotations. The
integrating database interfaces and data services together is CDS Query Language (QL) is an extension to SQL used to
necessary. To this end, SAP introduced a data service layer consume CDS data. The QL includes enhancements such as
(i.e., CDS) as a common abstraction layer for integrating these defining views within the CDS data model. It also introduces
interfaces and data services together. This layer provides data the use of associations defined by the DDL. Instance-based
models for defining and formatting data sources consistently authorization to CDS entities are defined using the Data
across multiple systems, enabling different applications to Control Language (DCL). DCL can leverage literal conditions
share the same data, thus reducing development costs and that compare elements of a CDS entity with literal values
time as well as improving the quality and performance of the such as organization code, thus, pushing granular authorization
applications. filters and restrictions to the database for better performance.

Copyright (c) IARIA, 2020. ISBN: 978-1-61208-776-4 7


SOFTENG 2020 : The Sixth International Conference on Advances and Trends in Software Engineering

They can also integrate with traditional authorization concept classical tables and views or another CDS entity, with a
in SAP to check against existing authorization objects. varying degree of cardinality. Cardinality and simple path
There are two variants of CDS: ABAP and HANA. HANA expression in queries are the most important benefits of
CDS are HANA database dependent entities residing on the associations views.
database itself. They enable the creation of database tables, • Annotations: define properties and behavior at run time.
views and data types using the native HANA DB SQL state- For example, one can save views or link another column
ments, enriching them with semantical properties, and using during run time using the “@” character in the CDS view
HANA native functions to perform data intensive computa- definitions. It further allows parameters to be used or meta
tions. The HANA CDS does not require a specific application data to be added to the CDS view data.
stack and therefore can support a variety of technologies and • Expressions: are used for calculations such as aggregation
programming languages. and mathematical computation in the data model queries.
• Extensions: are views with additional information that is
On the other hand, ABAP CDS provide a framework for
not in the original table. They reduce data movement by
defining and consuming semantic data models on the central
adding expressions, associations and additional columns
database of the ABAP application stack. One can use SQL
to an existing view.
like statements to create and deploy the corresponding CDS
entity on the target database automatically. Simillar to HANA D. Example
CDS the models are based on the DDL and DCL, which are
managed by ABAP Dictionary. However, unlike HANA CDS, We show two examples of using CDS in Figure 3. The
ABAP CDS are database independent. CDS are used to build a data model and service definitions
Virtually, design principles for both ABAP and HANA on a conceptual level. Specifically, CDS models are translated
CDS are the same but due to differences in the respective into native database artifacts (e.g., schema) and interpreted to
environments, some technical differences between these fla- services to be exposed to applications. Specifically, at line 4
vors evolved. One clear distinction is that ABAP CDS access the OData annotation generates OData service automatically.
control and authorization can support traditional ABAP-based The OData is then consumed by the application to enable the
authorizations or defined in the DCL of the CDS entities. fuzzy search shown in the example. Further, at line 11 the
Both methods can be used independently or together, however example shows additional annotations that are used to enable
the traditional authorization concept allows for the reuse of other visual elements such as default values and enabled UI
existing authorizations in the ABAP system. controls. In lines 23, the example also shows the currency
conversion scenario mentioned in Section II-A using CDS
Technically, CDS are an enhancement of the standard SQL
table function. Besides the performance enhancement with this
that provides a data modeling framework for developers to
approach, the data abstraction layer makes it easier to define
define CDS entities, such as tables, views, and user defined
semantically rich data models. These models can be used for
data structures in the database. The CDS entities capture the
easy data access and allow for reuse in different types of
semantics of the data to join the data needed for the application
application.
into one single model. There are two types of CDS entities:
views and table functions. III. D ISCUSSION
The CDS views are defined for existing tables or views
in the database. They can be used to rearrange table fields Code pushdown or code-to-data concept is not a new one. In
based on the application needs. The views can have additional fact, some would argue that database stored procedures offer
input parameters to filter the data during selection process at a similar performance advantage to CDS entities. However,
database level itself. So there is no need for a where condition stored procedure languages offer abstractions close to the
in the application layer code. database layer and they often lack concepts to express the
application semantics. Moreover, with stored procedures one
Alternatively, CDS table function views include computa-
would lose the advantages of the CDS unified development
tions for database tables that are used by other CDS views,
environment by introducing code into the system that is more
such as date and time calculation and conversion functions.
difficult to maintain, challenging to test, often frustrating to
Similar to CDS views, table functions can have additional
debug and needs to be integrated and managed through diverse
parameters. Both type of views provide a number of major
database interfaces [9]. With CDS, one can make use of SAP’s
capabilities and enhancements over standard SQL, such as:
available tools to assist developers during CDS development,
• Joins: are used to group fields from one or more different testing, and in their deployment to the production systems.
tables or views. Joins such as INNER JOIN, LEFT Practically, CDS objects are integrated in the repository of
OUTER JOIN, RIGHT OUTER JOIN, or UNION are SAP applications artifacts for complete life cycle management.
supported. They are like any other SAP development objects, subject
• Associations: are joins on demand that get executed when to the transport system within SAP so that they can be
specifically used in a query. They are reusable, and allow easily deployed or transported from development via test to
a CDS view to be linked with other data sources, such as a production system consistently.

Copyright (c) IARIA, 2020. ISBN: 978-1-61208-776-4 8


SOFTENG 2020 : The Sixth International Conference on Advances and Trends in Software Engineering

Fig. 3. Core Data Services Examples.

Applications based on CDS framework implies a major the following three principles: First, UI Rendering with pre-
shift in development practices. Specifically, CDS shift the sentation logic should be pushed up to the Client (i.e., browser,
development paradigm from a process-centric activity to a mobile apps). Second, data-intensive computation is done in
data-centric activity [4]. For example, applications need to be the database and only the results are moved to the application
designed to take advantage of CDS features and define new server. Specifically, application server should handle control-
data hierarchies that can be readily used by applications. Since flow and procedural logic only. Third, development artifacts
development is driven by the need to eliminate or reduce data from all layers are managed in a central repository so they can
movement from the database into application servers, which, be easily created, tested, integrated and deployed.
in fact, is the main bottleneck for data-intensive applications in This will also introduce a number of challenges that should
traditional three-tier architecture. Developers have to identify be considered in our development methodology [7], [11].
data-intensive parts of their application [10]. These parts can For example, requirements should not only capture how the
then be redesigned -leveraging CDS views- to push down the process works but they should also describe the data acqui-
computation into the data layer. However, identifying data- sition process. Similarly, analysis activities need to carefully
intensive parts is not necessarily a trivial exercise. Therefore, consider data sources, transformation and context as well as
Intuitive techniques for describing and modeling data are the traditional analysis of business processes. Finally, data-
necessary [3]. One can guide this by best practices, design centric development requires additional effort to ensure that
patterns, code analysis, performance profiling, etc. effective data quality controls are in place. Therefore, testing
Furthermore, a data-centric approach reduces the applica- should expand from verifying application functionality to
tions code footprint. Specifically, with consistent data models ensuring application data quality are validated, and validation
across systems, different applications can reuse the same rules are carried over to operations and maintenance of the
models [7], [3]. Models can also be extended or built on application. These are only some of the challenges that must
top of other models (i.e., stacked) to meet the application be considered in the development life cycle.
needs. Service definitions such as OData and REST APIs can
then be designed and exposed using the necessary models. IV. C ONCLUDING R EMARKS
Subsequently, user interfaces can be developed independently CDS offer easy-to-understand, reusable tools to help realize
of the data and service definitions. In fact, with this approach code push-down (i.e., Code-to-Data) model. With CDS, it is
application development becomes more of a service orches- possible to build applications that integrate application control
tration activity rather than a programming activity. logic in the database layer to achieve real-time performance.
Concisely, the development practices should be guided by It may require additional effort to move logic down to the

Copyright (c) IARIA, 2020. ISBN: 978-1-61208-776-4 9


SOFTENG 2020 : The Sixth International Conference on Advances and Trends in Software Engineering

database level. However, it reduces complexity and leads R EFERENCES


to simplification in data models and applications, redefining [1] Z. P. Matolcsy, P. Booth, and B. Wieder, “Economic benefits of enter-
application development practices. Developers of business prise resource planning systems: some empirical evidence,” Accounting
applications must therefore make careful choices about what & Finance, vol. 45, no. 3, pp. 439–456, 2005.
[2] V. Sikka, F. Färber, W. Lehner, S. K. Cha, T. Peh, and C. Bornhövd,
data operations to include and what to omit. Certainly, it’s “Efficient transaction processing in sap hana database: the end of a
not feasible or economically viable to model all existing column store myth,” in Proceedings of the 2012 ACM SIGMOD Int.
applications data operations in CDS. Alternatively, if too Conf. on Management of Data. ACM, 2012, pp. 731–742.
[3] J.-H. Boese, C. Tosun, C. Mathis, and F. Faerber, “Data management
little is included, the models may not support application with saps in-memory computing engine,” in Proceedings of the 15th Int.
needs adequately, which pushes more development effort and Conf. on Extending Database Technology. ACM, 2012, pp. 542–544.
cost onto the application developers. This shift in application [4] H. Plattner, “A common database approach for oltp and olap using an in-
memory column database,” in Proceedings of the 2009 ACM SIGMOD
development practice presents new challenges, however, it Int. Conf. on Management of data. ACM, 2009, pp. 1–2.
provides opportunities to support new kinds of interactive [5] N. May, A. Bohm, and W. Lehner, “Sap hana– the evolution of an in-
applications, which were not possible before. memory dbms from pure olap processing towards mixed workloads,”
Datenbanksysteme für Business, Technologie und Web, 2017.
In future research, we plan to investigate processes that [6] F. Färber, S. K. Cha, J. Primsch, C. Bornhövd, S. Sigg, and W. Lehner,
are appropriate for the CDS concept in our ERP system. “Sap hana database: data management for modern business applica-
tions,” ACM Sigmod Record, vol. 40, no. 4, pp. 45–51, 2012.
Furthermore, we plan to evaluate costs and benefits of trans- [7] H. Plattner, “The impact of columnar in-memory databases on enterprise
forming existing business application to make use of the CDS systems: implications of eliminating transaction-maintained aggregates,”
concept. Specifically, we plan to develop criteria to guide the Proc. of the VLDB Endowment, vol. 7, no. 13, pp. 1722–1729, 2014.
[8] J. Hrastnik, R. Dentzer, and R. Colle, Core Data Services for ABAP.
developers in identifying which applications or parts of an SAP PRESS, 2019.
application are more appropriate for CDS. One idea we have is [9] N. May, A. Böhm, M. Block, and W. Lehner, “Managed query pro-
to utilize performance-profiling tools to prioritize applications cessing within the sap hana database platform,” Datenbank-Spektrum,
vol. 15, no. 2, pp. 141–152, 2015.
for further evaluation. Furthermore, we plan to evaluate our [10] F. B. Alomari and D. A. Menascé, “Self-protecting and self-optimizing
development methodology and identify how it needs to be database systems: Implementation and experimental evaluation,” in Proc.
adapted to meet the expectations of this transformation. of the 2013 ACM Cloud and Autonomic Comp. Conf., 2013, pp. 1–10.
[11] A. Boehm, “In-memory for the masses: enabling cost-efficient deploy-
ments of in-memory data management platforms for business applica-
tions,” Proc. of the VLDB Endowment, vol. 12, no. 12, pp. 2273–75,
2019.

Copyright (c) IARIA, 2020. ISBN: 978-1-61208-776-4 10


View publication stats

You might also like