{"title":"Bridging the semantical gap between relational data and application-level business objects with core data services: invited talk","authors":"Stefan Bäuerle, Alexander Böhm","doi":"10.1145/3122831.3130988","DOIUrl":null,"url":null,"abstract":"Bringing computations close to the data source is one of the key concepts of high-performance database management systems. This specifically holds true for state-of-the-art systems like HyPer, Microsoft SQL Server, or SAP HANA that are making efficient use of modern hardware by exploiting in-memory storage, vector instructions, and sophisticated algorithms for query optimization and execution. To benefit from the capabilities of these systems, it becomes increasingly important for business applications to efficiently push their data-intensive parts to the DBMS. Capturing and communicating the computational intent from the application to the DBMS is often not trivial, as the DBMS is either abstracted away using object-relational mapper interfaces like Hibernate, or as the language mismatch between imperative, object-oriented languages like Java and the declarative, SQL-based query processing makes it difficult for developers to express non-trivial database operations. In this presentation, we discuss how some of these issues can be tackled using the Core Data Services (CDS) framework that is both supported by SAP's HANA data-base and the Netweaver application server stack. By combining concepts from declarative query languages like SQL and XPath with functionality developers are familiar with from object-oriented languages or even aspect-oriented programming (i.e. the \".\"-operator for member access and the concept of annotations), CDS enables to express complex business logic with only a few lines of code - where equivalent SQL statements span multiple pages instead (see Figure 1 below for an example).","PeriodicalId":211031,"journal":{"name":"International Workshop/Symposium on Database Programming Languages","volume":"160 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"International Workshop/Symposium on Database Programming Languages","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3122831.3130988","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
Bringing computations close to the data source is one of the key concepts of high-performance database management systems. This specifically holds true for state-of-the-art systems like HyPer, Microsoft SQL Server, or SAP HANA that are making efficient use of modern hardware by exploiting in-memory storage, vector instructions, and sophisticated algorithms for query optimization and execution. To benefit from the capabilities of these systems, it becomes increasingly important for business applications to efficiently push their data-intensive parts to the DBMS. Capturing and communicating the computational intent from the application to the DBMS is often not trivial, as the DBMS is either abstracted away using object-relational mapper interfaces like Hibernate, or as the language mismatch between imperative, object-oriented languages like Java and the declarative, SQL-based query processing makes it difficult for developers to express non-trivial database operations. In this presentation, we discuss how some of these issues can be tackled using the Core Data Services (CDS) framework that is both supported by SAP's HANA data-base and the Netweaver application server stack. By combining concepts from declarative query languages like SQL and XPath with functionality developers are familiar with from object-oriented languages or even aspect-oriented programming (i.e. the "."-operator for member access and the concept of annotations), CDS enables to express complex business logic with only a few lines of code - where equivalent SQL statements span multiple pages instead (see Figure 1 below for an example).