Your Trusted Analytics and Planning Partner
Insights on Using SAP HANA Platform, SAPUI5 and
XS OData Services to build Analytical Applications
Sandeep Khare
Director, SAP HANA and Innovation
Sandeep.khar[email protected]
Sudhir Chowdhary
Platinum Consultant, SAP HANA
TekLink International Inc. www.teklink.com
1
Agenda
SAP HANA® - Robust Application Development Platform
Native SAP HANA Development
XS OData REST based Services
SAPUI5 Overview
Example Custom Application Business Scenario
Best Practices in Building XS OData based Application
SAP HANA - Robust
Application Development
Platform
TekLink International Inc. www.teklink.com
3
A Robust Platform for Application development
SAP HANA is a platform (not just DB)
OTLP + OLAP
Embedded business logic
Embedded Web/App Server
Platform Features
DB for Transactions, analytics,
Predictive, sentiment, and spatial
Integration with Big Data (Hadoop), IOT, Streaming, HANA Vora
Real-time business operations, Native Web/Mobile App development
Supports any application
60% of SAP HANA use cases are outside the SAP landscape
Hundreds of startups are developing on SAP HANA
TekLink International Inc. www.teklink.com
4
SAP HANA XS Engine
SAP HANA Extended Application Services (just XS for short) is a key aspect of SAP
HANA as a platform
Design-time Repository client provides central object management
Run-time server-side application processing (SQL, SQLScript, JavaScript, R, OData)
Run-time client-side application presentation (html, JavaScript, SAP UI5)
XS is a small-footprint application server, web server, and basis for an application
development platform
XS is actually an extension of, and tightly integrated into, the SAP HANA Database
TekLink International Inc. www.teklink.com
5
SAP HANA Application Development Platform
SAP HANA Native Application
Development
TekLink International Inc. www.teklink.com
7
SAP HANA Application Development Scenarios
TekLink International Inc. www.teklink.com
8
SAP HANA Native Applications - Summary
Calculation Logic
Data: SQL/SQLScript, CDS/HDBDD, HDBTable.
SQLScript, SQL, Views
Calculation Engine Functions
Application Function Library (AFL)
Control Flow logic
XSJS, XSOData, XSXMLA
HDBRole
Client UI/front-end technology
HTML5/SAPUI5
Client-side JavaScript
TekLink International Inc. www.teklink.com
9
Key Features of SAP HANA Native Applications
Implementation Stack
Simplified Stack
No separate App/Web Server (so no connectivity issues / network roundtrips)
Deep Integration between XS App and SAP HANA DB
Communication using Native Data Types
XS Engine is a process within SAP HANA Server (Inter-process communication)
Unified development Tools
SAP HANA Studio Integrated IDE
SQL Scripts, Application Logic, Rich UI Development (HTML5)
Unified Lifecycle Management
Single Version Control System
Iterative Development and testing
Test / Debug without Deploying
Can build simple analytical application as well as Complex, high-speed
business apps in robust environment
TekLink International Inc. www.teklink.com
10
SAP HANA Application Lifecycle Management
TekLink International Inc. www.teklink.com
11
SAP HANA Applications Development - Client
TekLink International Inc. www.teklink.com
12
SAP HANA XS Support for SAP UI5 Applications
XS OData Services
Embedded in XS Engine
Easily expose tables, views and procedures to Front-end
Supports Read-only and Create/Update/Delete
Server-side Logic in JavaScript
Complex processing logic, use the power of SAP HANA
Common Language for Front-end & Back-end
Not the easiest to Debug
Invoke SQL Procedures
Eclipse-based SAP HANA Studio and Web IDE for Development
XS OData, Core Data Services - CDS, Server-side JavaScript
SAP UI5 Front-end Code
Lifecycle Management
Add-on Tools and Templates
TekLink International Inc. www.teklink.com
13
SAP HANA Development Environment
SAP HANA Studio
(Development Perspective)
Eclipse Bases Extensible
Development Environment for
Building SAP HANA Native Apps
Project Explorer
Repositories
Systems
Workspaces
Shared Projects (XS, SAP
UI5 etc.)
Wizard for different types of
files
Code Templates (e.g. XSJS)
Syntax Checking
Development, Testing,
Debugging, Lifecycle
Management
TekLink International Inc. www.teklink.com
14
SAP HANA Development Environment
SAP HANA Studio Advanced Features (Run As, Mass Activation, Versions History etc.)
TekLink International Inc. www.teklink.com
15
SAP HANA Development Environment
SAP HANA - Web Based
Workbench
Lightweight browser based IDE
Project Explorer
Access to SAP HANA
Repositories from Browser
Access SAP HANA catalog
Lifecycle management
Access user & roles
Create/Update/Delete files,
Packages
Syntax Checking
No checkout needed
Access to server traces
Code Templates (e.g. XSJS)
No Installation needed, Version
same as SAP HANA Server,
Development, Debugging
URL: http://<Server>:<80nn>/sap/hana/ide/editor/
XS OData REST based Services
TekLink International Inc. www.teklink.com
17
OData Service Basics
OData Data Model
Organize/describe data with Entity
Data Model.
OData Protocol
REST-based create, read,
update and delete + OData
defined query language.
Client Libraries
Pre-built libraries to request
OData and display results.
OData Services
Exposes an end point that
allows access to data in SAP
HANA database.
TekLink International Inc. www.teklink.com
18
SAP HANA OData Capabilities
Aggregation
Associations
Key Specifications
Property Projection
Parameter Entity Sets
TekLink International Inc. www.teklink.com
19
SAP HANA Simple OData Service
.xsOData file
The XS OData service definition
Namespace
Location of XS OData service definition in the SAP HANA repository.
Table Schema
Schema containing the tables with the data to expose.
Table Name
Name of the table containing data to expose with OData service.
TekLink International Inc. www.teklink.com
20
SAP HANA Simple OData Service
Activation
Create catalog object to view.
Browser URIs
Browser Tools
JSONView/XML Tree/POSTMan
Basic options
$metadata, $filter, $orderby, $select,$top
Syntax
Atom or JSON-compliant format.
TekLink International Inc. www.teklink.com
21
OData System query Options
TekLink International Inc. www.teklink.com
22
Testing SAP HANA XS OData REST Services
http://192.168.16.175:8015 /sap/h ana/ide/ editor/plugin/testtools/odataexplorer/index.html?
appName=/tli/demo/services /sales ByCountr y.xsodata
http://192.168.16.175:8015 /tli/d emo/serv ices/salesByCountry.xsodata/$metadata
SAPUI5 Overview
TekLink International Inc. www.teklink.com
24
SAPUI5 Overview
Well-designed API, easy to consume and use.
Extensible UI component model.
Provides AJAX capabilities.
Based on open standards like OpenAjax, JavaScript, CSS, HTML5 etc.
Using and including the popular jQuery library.
Complete adherence to MVC (Model View Controller) architecture.
SAPUI5 plugin is available as open source and can be used on Eclipse for
development.
Allows application developers to create composite controls from UI5
controls.
Include other JavaScript libraries where UI5 is lacking controls or features.
TekLink International Inc. www.teklink.com
25
SAPUI5 Concepts Model View Controller
Separates the information representation from user interaction.
View Define / Render the UI. (XML with HTML, JSON, declarative HTML)
Model Manages Application Data via Data Binding with views.
Controller View Events and User Interaction.
Preferred way to access business data is using “OData Model”
TekLink International Inc. www.teklink.com
26
SAPUI5 Concepts Assigning the Model
Example Business Scenario
for Custom Application
TekLink International Inc. www.teklink.com
28
Custom Application Example Business Scenario
Application: Web Portal for Customers
Allow Access to Accurate and timely Information
Complete End-to-end Order Management Capabilities
Customer Product and Price
Quote, Order, Inventory
Shipment, Invoice, Financing
Internal and External reporting
Application Features
Highly Integrated Solution with Standardized Processes
Efficient and Effective (both for Internal users and Customers)
Timely and Accurate Information from Heterogeneous systems
Improved User Experience - Easy to use, reduce complexity
TekLink International Inc. www.teklink.com
30
Custom Application Sample User Experience (Facets)
SAP HANA Modeling Approach
TekLink International Inc. www.teklink.com
33
SAP HANA Modeling Approach
Lead by TekLink Platinum Consultants
Defined technical Specification Templates and Standards for OData and SAP
HANA Models
Security using dynamic Analytic Privilege (Stored Proc based)
Use of SAP HANA Core Data Services (CDS) for easier transports
Reusable and Query/Reporting Views
Designed with Performance in Mind
Highly optimized by leveraging Parameters, Filter Expressions
Reduced dataset at lowest level
Mostly leverage Graphical Calculation Views
Advanced business logic using SQLScript based views
Business Logic in SAP HANA layer with just the presentation in UI and Reports
TekLink International Inc. www.teklink.com
35
SAP HANA Modeling Approach Dynamic Analytic Privilege
Define Roles based on Business Functions and Data Visibility Requirements
Only Allow Query and Reporting Views to be accessed by Client Systems
Define security Context for Users based on their roles as User parameter
Built the allowed list of values dynamically based on user context
CREATE PROCEDURE MYSCHEMA.PR_DYN_AP_1 (OUT CUST_LIST TT_LST)
LANGUAGE SQLSCRIPT
SQL SECURITY DEFINER
READS SQL DATA AS
BEGIN
CUST_LIST =
SELECT DISTINCT CUST_ID FROM MYSCHEMA.CUST_MAST A
WHERE A.CUST_ID IN (
SELECT VALUE FROM USER_PARAMETERS
WHERE PARAMETER like 'AUTH_CUST'
AND USER_NAME = SESSION_USER );
END;
TekLink International Inc. www.teklink.com
36
Best Practices
Design SAP HANA Models with Performance in Mind
Reduce size of data set passed between different steps
Try to identify filters that can be applied at lowest level of the model
Use Variables & Parameters
Design Models to achieve maximum parallel processing
Keep the OData services light-weight
Do most processing in SAP HANA (like Joins, Aggregations etc.)
Use Filters, OrderBy, Select etc. at client layer
Use $top and @skip for implementing pagination
Keep Data Security in mind while designing Models and Services
TekLink International Inc. www.teklink.com
37
Thank You !
Insights on Using SAP HANA Platform, SAP UI5 and XS OData
Services to build Analytical Applications
Sandeep Khare
Director, SAP HANA and Innovation
Sandeep.khare@teklink.com
Please complete a session evaluation for this session!
Sudhir Chowdhary
Platinum Consultant, SAP HANA
Sudhir.chowdhary@teklink.com
TekLink International Inc. www.teklink.com
38
Your Trusted Analytics and Planning Partner
BWoH & HANA Enterprise
Trade Promotions on HANA
Big Data Technologies
BusinessObjects
Innovation Labs & PoC
BPC Accelerators
Cloud & Technical Services
BI Strategy & Roadmap
Big Data Adoption Strategy
BI Center of Excellence
Global Delivery & Support
BPC Consolidation
BPC & IP Planning
Simple Finance Planning
TekLink International Inc. www.teklink.com
39
SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks
of SAP SE (or an SAP affiliate company) in Germany and other countries. All other product and service names mentioned are the
trademarks of their respective companies. Wellesley Information Services is neither owned nor controlled by SAP SE.
Disclaimer