CD103

195
8/11/2019 CD103 http://slidepdf.com/reader/full/cd103 1/195 Chaim Bendelac / HANA Architect Rafi Bryl / HANA Product Management Thomas Jung/ HANA Product Management TechEd 2013 – October/November/December CD103 SAP HANA Native Application Develop

Transcript of CD103

Page 1: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 1/195

Chaim Bendelac / HANA Architect

Rafi Bryl / HANA Product Management

Thomas Jung/ HANA Product Management

TechEd 2013 – October/November/December

CD103 

SAP HANA Native Application Develop

Page 2: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 2/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Disclaimer

This presentation outlines our general product direction and should not be relied on i

purchase decision. This presentation is not subject to your license agreement or anywith SAP. SAP has no obligation to pursue any course of business outlined in this pr

develop or release any functionality mentioned in this presentation. This presentatio

strategy and possible future developments are subject to change and may be chang

time for any reason without notice. This document is provided without a warranty of a

express or implied, including but not limited to, the implied warranties of merchantab

particular purpose, or non-infringement. SAP assumes no responsibility for errors or

document, except if such damages were caused by SAP intentionally or grossly neg

Page 3: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 3/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Agenda

SAP HANA Development: Overview

Platform

SAP HANA Extended Application Services (XS)

SAP HANA Native Development Model

SAP HANA XS Technical Architecture

SAP HANA Studio Development Perspective

Workflow New SP6 Features

Browser Based Development Tools

IDE Lite

SAP HANA Web-based Development Workbench

HANA Native Development Dem

Project Setup

XSODATA

XSJS

Introducing River

The River Language

 Appendix A: SQLScript

 Appendix B: SAPUI5

 Appendix C: UI Integration Servi

Page 4: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 4/195

SAP HANA Development: Overvi

Page 5: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 5/195© 2013 SAP AG or an SAP affiliate company. All rights reserved.

SAP HANA PlatformPlatform for next-generation “smart” applications 

More than a DB – it’s a true platform Converged OTLP + OLAP

Embedded business logic

Completely re-imagined

Supports any applic 60% of HANA use cases a

440+ Startups are develop

S P H N PL TFORM

   D   e   v   e   l   o   p   m   e   n

   t   |    C   o   n   n   e   c   t   i   v   i   t   y   |

   L   i   f   e   c   y   c   l   e

   M   a   n   a   g   e   m   e   n   t

    S   e   r   v   i   c   e   s

 U ni  f  i   e d A  d mi  ni   s  t  r  a t  i   on |  

 S  e c ur i   t   y S 

 er  vi   c e s 

Processing EngineEvent Processing | Planning | Calculation | Predictive Analytics

Application ServicesApplication Server | UI Integration Services | Web Server

Database ServicesTransactions | Analytics | Partitioning

Compression | Availability | Encryption

Integration ServicesMobile | XaaS | High-volume Replication | Real-time Replication | Hadoop

Rules | Text Mining | Search | Application Function Libraries | Geospatial

Applications& Tools

Industry | LoB | Consumer | Analytics | Social | Cloud | Mobile

Developers Data Scientists Business Users ConsumersExecutives

Re-imagined, Transformative Transactions, analytics, predictive, sentiment and spatial

processing transformed for real-time business operations

Page 6: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 6/195© 2013 SAP AG or an SAP affiliate company. All rights reserved.

SAP HANA Extended Application Services (XS)Introduction 

What: Small footprint application server / web server / basis

for an application development platform inside SAP HANA

Rationale: Enable application development and deployment

while minimizing architectural “layers” 

Create apps that have an http-based UI (browser, mobile apps)

 Apps run directly on SAP HANA, w/o additional external servers or

components

-> simplified system architecture = low TCO

Tight integration w/ SAP HANA DB -> best possible performance

Scope: wide range of apps

Lightweight small web-based applications

Complex enterprise business applications

Page 7: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 7/195© 2013 SAP AG or an SAP affiliate company. All rights reserved.

SAP HANA

Client

Development model for SAP HANA based native applica

SAP HANA extended application services offer  

Easy access to SAP HANA database via HTTP-based consumption Attractive, dynamic HTML5 UI applications via OData services or by

writing native application-specific code that runs in SAP HANA context

Powerful search services

Built-in web server to access static content stored in

SAP HANA repository

Application development following a layered approach

UI rendering completely in the client (browser, mobile apps)

Server-side procedural logic in JavaScript

 All artifacts stored in the SAP HANA repository

Data

XS

Page 8: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 8/195© 2013 SAP AG or an SAP affiliate company. All rights reserved.

An application‘s foundation 

Presentati

Control flo

Calculatio

Data

Page 9: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 9/195© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Performance gains with HANA

Presentati

Control flo

Calculatio

Data

HANA

Page 10: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 10/195© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Modern clients handle presentation logic

Presentati

Control flo

Calculatio

Data

HANA

Client

Page 11: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 11/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Push the control flow down!

Presentati

Control flo

Calculatio

Data

Client

HANA

Page 12: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 12/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Push the control flow down!

Presentati

Control flo

Calculatio

Data

Client

HANA

Page 13: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 13/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

The essence of HANA Application Services (XS)!

Presentati

Control flo

Calculatio

Data

Client

HANA

XS

Page 14: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 14/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

SAP HANA Extended Application Services – Overview

Front-end Technologies

http/s

HTML5 / SAPUI5

Client-side JavaScript

Control Flow Technologies OData

Server-Side JavaScript

XMLA

Data Processing Technologies SQL / SqlScript

Calculation Engine Functions

 Application Function Library (AFL)

Presentatio

Control flo

Data

Client: Browser or Mobile

SAP HANA

XS

Calculatio

Page 15: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 15/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

SAP HANA as an extension platform 

On-Premise Cloud

Private Cloud (managed service) Public C

 ABAP

SAP HANA Enterprise Cloud SAP HANA

SAP HANA Cloud Infrastructure (incl. SAP

Java (+ Jav

extension of on-premise apps

(ABAP + Java + HANA Native

Development)

extension of managed apps (ABAP +

Java + HANA Native Development) on

'dedicated hardware‘ 

extension of on

apps

HANA Native Development (SQLScript, XS, River)

Java NW-based

Page 16: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 16/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

HANA as a development architecture

On Premise Cloud

Instant Development Experience ABAP on HANA

ABAP in Eclipse HANA Studio Web IDE River (web) BringOwn

Orion on XSEclipse

ABAP

Platform

HANA PlaLMDevelopment Services

Sandboxing

Build

Versioning

Deploy

Platform

 Application

Multi T

REST / SQL Platform API

• ProfessionalDevelopers

• Flexible &

Complete

• Professional

Developers

• Simplicity

• ProfessionalDevelopers

• Simplicity &Integration

• LOBs & BizExperts

• Openn

• Ecosy

Page 17: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 17/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

HANA Cloud Platform development architecture

Cloud

Neo Cloud Manag

 Application Consumption

Development Experience

Eclipse IDE

Web IDE

Browser

Native Device

Application Servic

XS

Database

Development

Services

Repository

   L  o  a   d   B  a   l  a  n  c  e  r

Page 18: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 18/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

ABAP and HANA Native Development (on-premise) 

ABAP HANA Native Develop

• applications follow 3-tier architecture

•  ABAP is in general database agnostic, but with

release 7.4 optimized for SAP HANA

• Programming language: ABAP / ABAP OO with

the option to use SAP HANA features

• IDE: eclipse-based ABAP Development Tools

• applications follow 2-tier archit

• HANA Native Development is

specific and embedded in the d

• Programming language: River

JavaScript, SQL/SQLScript

• IDE: eclipse-based SAP HANA

Guidance 

• use ABAP for optimization of existing progams (in context of SAP Business Suite or BW)

• consider HANA Native Development for development of new applications which will solely

• combine ABAP and HANA Native Development to enrich existing applications (e.g. SAP HA

Page 19: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 19/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

vs. native SAP HANA applications

DBMS

Data

application server

app code

3-tier

client

UI rendering

Control

DB I/F

Displayrendered UI

Queries

Nat

Control

& Queries

UI rendering

Traditional 3-tier applications (Java, ABAP)

Page 20: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 20/195

SAP HANA Native Develop

Model

Page 21: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 21/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Development model – general rules

SAPUI5

UIS

XSJS

CDS/HDBDD

SQLScriptSQLViews

HDBTable

• UI Rendering completely in the

Client

• Server-side procedural logic in

JavaScript

•  All artifacts stored in the SAP

HANA Repository

•  

Page 22: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 22/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Development model

XSODATA

• Low coding OData REST service

generation framework

• based upon existing tables and

views

• Create/Update/Deletion

operations support added in

SPS6

SAPUI5

UIS

XSJS

CDS/HDBDD

SQLScriptSQLViews

HDBTable

Page 23: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 23/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Development model

Special ized Serv ice

Frameworks

• XSXMLA – XML for Analytics

• SINA – SAP HANA Simple Info

 Access

SAPUI5

UIS

XSJS

CDS/HDBDD

SQLScriptSQLViews

HDBTable

Page 24: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 24/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Development model

Server Side JavaScrip t

(XSJS)

• Light weight procedural logic

• Openness

• Reuse

• One Language – Client and

Server Side

• Widespread Knowledge

SAPUI5

UIS

XSJS

CDS/HDBDD

SQLScriptSQLViews

HDBTable

Page 25: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 25/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Development model

Reposito ry Representat ion of

Catalog Ob jects

• Schemas: HDBSchema

• Tables: HDBTable

• Views: HDBView

• Structures: HDBStructure

• Sequences: HDBSequence

• Roles: HDBRole

SAPUI5

UIS

XSJS

CDS/HDBDD

SQLScriptSQLViews

HDBTable

Page 26: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 26/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Development model

CDS  – Core Data Services

• Data Definition Language

• Query Language

• Expression Language

SAPUI5

UIS

XSJS

CDS/HDBDD

SQLScriptSQLViews

HDBTable

Page 27: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 27/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Development model

Data Intens ive Logic

• SQLScript / SQL

• HANA Views

•  Attribute

•  Analytical

• Calculation•  Application Function Library (AFL)

• Business Function Library (BFL)

• Predictive Analytics Library (PAL)

SAPUI5

UIS

XSJS

CDS/HDBDD

SQLScriptSQLViews

HDBTable

Page 28: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 28/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

SAPUI5

Enterprise-Ready HTML5 Rendering Library

Completely client-side UI

Open and flexible

Web development skills (HTML, CSS3,

JavaScript)

Extensibility and Theming

3rd Party JavaScript Integration

Targets Multiple Devices

• Smartphone, Table, Desktop

Page 29: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 29/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

The SAP HANA repository

• Object management, versioning and tra

• Software component delivery and patc

• Built-in support for translatable texts

• Support for server based development

Page 30: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 30/195

SAP HANA Application

Services Architecture

Page 31: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 31/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Lightweight architecture

Page 32: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 32/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Architecture in more detail: SAP HANA XS Engine Proce

Page 33: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 33/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

End to end architecture

Page 34: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 34/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

XS New Features SP6: Regi support

With S

line toocustom

Regi pr

the SA

operati

out, etc

Page 35: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 35/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Distributed XS

Distributed Configuration

• N active servers in one cluster

• M standby server(s) in one cluster

 Approach

• Operational XS Engine service can run on all nodes of the

SAP HANA system

• SAP Web Dispatcher deployed “in front of” SAP HANA 

• Round-robin load balancing approach

Benefits

• Maximized concurrency for requests going through XS

Nod

Nod

Nod

Nod

Standb

XS

XS

XS

XS

XS   S   A   P   W  e   b   D   i  s  p  a   t  c   h  e  r

Di t ib t d XS F il

Page 36: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 36/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Distributed XS: Failover

Distributed Configuration

• N active servers in one cluster

• M standby server(s) in one cluster

 Approach

• Operational XS Engine service can run on all nodes of the

SAP HANA system

• SAP Web Dispatcher deployed “in front of” SAP HANA 

• Round-robin load balancing approach• Standby node becomes active and XS on it becomes

operational

Benefits

• Redundancy provides for uninterrupted service (HA)

Nod

Nod

Nod

Nod

Standb

XS

XS

XS

XS

XS   S   A   P   W  e   b   D   i  s  p  a   t  c   h  e  r

A th ti ti f XS ti f SP6

Page 37: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 37/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Authentication for XS: new options for SP6

XS: authentication options:

• Basic Authentication

• Form-based authentication

• SAP Logon Tickets

• SAML 2.0 (Security Assertion Markup Language) – NEW for SP6

• X.509 (standard for Public Key Infrastructure) – NEW for SP6

C t t Lif C l M t f SP6

Page 38: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 38/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Content LifeCycle Management: new for SP6

CTS+ integration enhancement: exposed object

lists

HALM – HANA Application Lifecycle Management

(content deployment across SAP HANA system

landscape)

Page 39: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 39/195

SAP HANA Studio Develop

Perspective

SAP HANA Studio Development Perspective

Page 40: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 40/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

SAP HANA Studio Development Perspective 

Goal: Provide an extensible and

integrated development environment

supporting all development artifactsnecessary for building a HANA

application, covering development,

testing, debugging, supportability and

lifecycle management.  As new and

existing technologies are being integrated

into HANA, a seamless integration of

the corresponding external tools in the

HANA Development Workbench should

be possible.

Target customer : HANA Application

Developer (Internal and external

developers). Including content

development scenarios.

SAP HANA Studio Development Perspective

Page 41: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 41/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

SAP HANA Studio Development Perspective

• Utilizes standard Eclipse projects – HANA

Specific, General SAP Projects, and even

3rd party ones

SAP HANA Studio Development Perspective

Page 42: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 42/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

SAP HANA Studio Development Perspective

• Standard Eclipse Team Provider interface

for storing all objects into the SAP HANA

Repository

SAP HANA Studio Development Perspective

Page 43: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 43/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

SAP HANA Studio Development Perspective

• HANA Specific Editors and

Debugger Enhancements (for

example: XSJS – Server Side

JavaScript)

Page 44: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 44/195

SAP HANA Studio Develop

Perspective Workflow

Create a new Eclipse Project from within SAP HANA Stu

Page 45: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 45/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Create a new Eclipse Project from within SAP HANA Stu

This is a “true” Eclipse Project persisted on the develop

Page 46: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 46/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

machine

The project is then linked to the SAP HANA Repository

Page 47: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 47/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

The project is then linked to the SAP HANA Repository

After linked to a Repository, specific HANA packages ar

f ld

Page 48: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 48/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

folders

The SAP HANA Repository is then treated like Git or Per

E li h k t th t t f diti

Page 49: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 49/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Eclipse checks out the content for editing

There is also an SAP HANA Repository Browser – entire

b h k d t f th ll

Page 50: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 50/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

can be checked out from there as well

The Repository content is copied to the developer’s ma

dit d l ll d ffli

Page 51: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 51/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

edited locally and offline

Standard Eclipse editors as well as special SAP provide

are then utilized

Page 52: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 52/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

are then utilized

Upon saving in any Eclipse editor, a commit back to the

Repository is done automatically

Page 53: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 53/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Repository is done automatically

Full source merge, rebase, conflict resolution, and versi

management is built in

Page 54: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 54/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

management is built in

Changes are inactive when first committed; inactive tes

planned for the future

Page 55: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 55/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

planned for the future

We also have direct interaction with other Eclipse based

as ABAP Development Tools and SAPUI5)

Page 56: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 56/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

as ABAP Development Tools and SAPUI5)

Page 57: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 57/195

SAP HANA Studio Develop

Perspective New SP6 Feat

SAP HANA Studio Development PerspectiveNew features delivered in SP6

Page 58: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 58/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

New features delivered in SP6

Eclipse 4.2 Adoption

Usability Enhancements to Project Explorer and Repository Browser (Keyboard

Confirmation Dialogs, Improved Error Display)

New Open Object and Object Search Dialogs

Core Data Services (Data Definition Language) – New Source Code Based EdUI Integration Services Designer Integration

Enhancements for check and activation

Page 59: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 59/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Global toolbar buttons and keyboard shortcuts for Check

(Ctrl+Shift+F2) and Activate (Ctrl+Shift+F3), bound to

SAP HANA Development perspective Activation/Check of single active objects is now disabled

(because not supported by HANA Repository)

Enhancements in Activation dialog (forced activation

modes)

Default behavior for auto-commit and checkout-on-

refresh has changed to on (can be switched off manually

via Preferences > SAP HANA Development > Repository

 Access > Always synchronize... )

Usability enhancements to Project Explorer and Reposit

Browser

Page 60: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 60/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Browser

Open the shared project. There should be a node "HANA

System Library" containing a child node "Catalog", which

behaves like the Catalog in SAP HANA Systems view All Modeler editors are now integrated with the Project

Explorer

(Create / Edit / Validate / Activate)

New open object and object search dialogs

Page 61: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 61/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Press keyboard shortcut Ctrl+Shift+A (alternative: click

on Quick search button "Open HANA Repository

Object" in toolbar) Enter some search term matching one of the files you

 just created in your project  editor should open

Search for some repository object outside of your

project  read only editor should open

Development model

Page 62: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 62/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

CDS – Core Data Services

• Data Definition Language

• Query Language

• Expression Language

SAPUI5

UIS

XSJS

CDS/HDBDD

SQLScriptSQLViews

HDBTable

Core Data Services – new source code based editor

Page 63: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 63/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

New development artifact extension – 

hdbdd (Data Dictionary)

Define the schema, reusable types, and

multiple entities (tables) all within one

source file

Multiple catalog objects are generated

upon activation

UI Integration Services Designer integration

Page 64: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 64/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Application Site Editor now

opens within SAP HANA

Studio instead of an externalbrowser

Activating an Application Site

no longer requires a project

refresh

Server-Side JavaScript debugger: authentication in SP6

Page 65: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 65/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

New for SP6: XSJS debugger now requires user authentication, due to WebSoc

on backend. In SP5, all XSJS debugging operations took place automatically as a su

Page 66: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 66/195

SAP HANA Browser Based

Development Tools

SAP HANA browser based IDEs

Page 67: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 67/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

SP6 introduces two separate

browser based IDEs

One, called SAP HANA IDE lite,is a basic repository view and

code editor

The second, called SAP HANA

Web-based Development

Workbench, is a robust

environment with catalog,

user, SQL console, etc inaddition to code editing and

debugging

SAP HANA IDE lite

Page 68: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 68/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

completely browser based IDE for

lightweight creation and editing of

development objects without theneed for SAP HANA Studio

URL: /sap/hana/xs/editor/

SAP HANA IDE lite – Repository Browser capabilities

Page 69: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 69/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Access to the full SAP HANA Repository in a

browser

Create, delete, and rename packages and files

SAP HANA IDE lite – code editors

Page 70: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 70/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Code Editors with

• Syn tax Coloring

• Code Folding• Client side and server side checks

• No need to check out content – direct

editing and activation upon save

SAP HANA IDE lite – create application templates

Page 71: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 71/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

 Application creation wizards which

create the package as well as the

starting artifacts

Both mobile and desktop SAPUI5

templates with the correct

bootstrapping for SAP HANA

 Automatic generation of .xsapp

and .xsaccess files

Special UI5 templates for injection

into existing HTML pages as well

SAP HANA IDE lite – multi-file drop zone

Page 72: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 72/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Mass upload multiple files at a time

to a content repository package

SAP HANA IDE lite – multiple editors

Page 73: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 73/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Multiple Editor tabs or the ability to

open an editor as its own browser

tab

SAP HANA IDE lite – direct test

Page 74: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 74/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Test html pages and xsjs services

directly from the editor in the

browser

Including special mobile device

emulation modes for testing

SAP HANA Web-based Development Workbench

Page 75: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 75/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

a robust environment with

catalog, user, SQL

console, etc in addition tocode editing and

debugging

URL: /sap/hana/xs/ide/

SAP HANA Web-based Development Workbench - RepoBrowser capabilities

Page 76: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 76/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

 Access to the full SAP HANA

Repository in a browser

Create and delete packages and

files

SAP HANA Web-based Development Workbench - projecapabilities

Page 77: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 77/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

• Access to Projects – both

those created within the

browser IDE and those createdin SAP HANA Studio

• Project Templates

• Set trace at the project level

• Easy Delivery Unitmanagement at the Project

level

SAP HANA Web-based Development Workbench - Catalcapabilities

Page 78: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 78/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

• Also access the SAP HANA

Catalog

• View Tables, Views and

their Content

SAP HANA Web-based Development Workbench - Securcapabilities

Page 79: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 79/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

• Also access User and Role

Details

SAP HANA Web-based Development Workbench - Tracecapabilities

Page 80: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 80/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

• Access to all the

server trace files

SAP HANA Web-based Development Workbench – Delivbrowser capabilities

Page 81: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 81/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

• View Delivery Units

including the package

assignments

• Full range of Delivery Unit

management features – 

include export, import and

even remote system

deployment

SAP HANA Web-based Development Workbench – SQL

Page 82: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 82/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

• Freeform SQL Console

• Return data is displayed intable control

SAP HANA Web-based Development Workbench – code

Page 83: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 83/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Code Editors with

• Syn tax Coloring

• Code Folding• Client side and server side

checks

• XSJS Code Completion

• No need to check out content

 – direct editing and activation

upon save

Page 84: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 84/195

SAP HANA Web-based Development Workbench – multi

Page 85: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 85/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

• Multiple Editor tabs

•Cut, paste and undo as well assearch support in the editors

• Special view to manage all edited

artifacts

SAP HANA Web-based Development Workbench – direc

Page 86: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 86/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

• Test html pages

and xsjs services

directly from theeditor in the

browser

SAP HANA Web-based Development Workbench – XSJSsupport

Page 87: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 87/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

• Set Breakpoints

from the editor

• Interactive server

side debugger

running in-place in

the browser

• View and change

variable values

• Call stack

Page 88: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 88/195

HANA Native Developmen

Demos

Page 89: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 89/195

DEMO: Development Setu

A t bl d i f th GUI ith i i l ff t

OData Access (XSOData)

Page 90: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 90/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Database

HANA

XS

UIS

service {

"hello.odata::otable" as “Entries”;}

Stud

RDL

SQLScripSQL Views

•  Access tables and views from the GUI with minimal effort

• How? create an ".xsodata" service definition at design time:

• Then, access table content as JSON or XML via a URL:

•  

• Support for Create/Update/Delete: SPS6

Page 91: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 91/195

DEMO: OData Service

Server-Side JavaScript (XSJS)

Page 92: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 92/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Database

HANA

XS

• Familiar, open language, same for Client and Server Side

• SAP HANA extensions:

• Reusable code (import library)• SQL support

UIS

Studio-ba

RDL

var conn = $.db.getConnection();

var pstmt = conn.prepareStatement( "select * from DUMMY" );

var rs = pstmt.executeQuery();

$.response.contentType = "text/plain";

if (!rs.next()) {

$.response.setBody( "Failed to retrieve data" );$.response.status = $.net.http.INTERNAL_SERVER_ERROR;

} else {

$.response.setBody("Response: " + rs.getString(1));

}

rs.close(); pstmt.close(); conn.close(); SQLScripSQL Views

Page 93: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 93/195

DEMO: Server Side JavaSc

Page 94: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 94/195

Introducing River(SAP HANA SPS7 Preview)

TechEd CD103, 2013

Creating an application

Page 95: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 95/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

T1 T2T3

Creating an application

Page 96: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 96/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

T1 T2T3

V1

V2

cv 

Creating an application

Page 97: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 97/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

T1 T2T3

V1

V2

data

model(DB)

cv 

sp 

trigger

Creating an application

Page 98: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 98/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

T1 T2T3

V1

V2

data

model(DB)

cv 

sp 

trigger

access control (RBAC)

Creating an application

Page 99: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 99/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

T1 T2T3

V1

V2

data

model(DB)

cv 

sp 

control

trigger

access control (RBAC)

business

logic (MVC)

Creating an application

Page 100: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 100/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

business

logic (MVC)

data model

T1 T2T3

V1

V2

data

model(DB)

cv 

sp 

control

trigger

access control (RBAC)

SQL over xDBC

Creating an application

Page 101: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 101/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

business

logic (MVC)

data model

T1 T2T3

V1

V2

data

model(DB)

cv 

sp 

control

view

trigger

access control (RBAC)

OData over HTTP

SQL over xDBC

Creating an application

UI

Page 102: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 102/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

business

logic (MVC)

data model

T1 T2T3

V1

V2

data

model(DB)

app

mob

app

cv 

sp 

control

view

trigger

access control (RBAC)

OData over HTTP

SQL over xDBC

Creating an application, using River

bUI

Page 103: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 103/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

T1 T2T3

V1

V2

data

model(DB)

app

mob

app

cv 

sp 

control

trigger

access control (RBAC)

business

logic

OData over HTTP

River vision

Simplif the e perience of de eloping

Page 104: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 104/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Simplify the experience of developing

SAP HANA Native Applications 

River Language

River Programming Model

River Development Environments

The River Language

Use River to create an integrated sp ecif ication of the

Page 105: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 105/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

 – data model

 – business logic

 – access control

River is familiar, declarative, object-oriented, and modular

River  is cross-compi led  into the most efficient HANA objects

 – HANA database objects (tables, roles…) 

 – Stored procedures (SQLScript, JavaScript)

 – OData and XS access controls

Developers focus on intent  and leave optimization

and runtime configuration to the tools ("timeless software")

a

c

HANA XS development model 

1. Develop & Share

HANA based develop

Object management &

Page 106: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 106/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

p

2.  Activate & Test

3. Deploy

activate

Activation

DB objects

SScript

OData

 Auth

XSJS

roles

River

compiler

p

studioRiver Editor

(on-premise)

browserRiver webEditor

(Cloud)

browser

Studio

Repository

.rdl

business appdevelopers

.rdl

workspace,

save

Object management &

Delivery and patching

Page 107: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 107/195

The River Language(aka RDL)

%x

Demo scenario: "River Airlines"

River Airlines Reservation System

Page 108: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 108/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

List all flights

Book a seat

… 

Implementation

Flight 

flight id, from/to,

list of seats

Passenger  

passenger details,

flight & seat reservation

Seat 

status

City

Entities and associations: the data model

Use "E/R modeling" to define your data model

Page 109: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 109/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

entity Flight {

key flightId: String(8);

flightNum: String (3);

cityFrom: Association to City;

cityTo: Association to City;

depDate: LocalDate;

depTime: LocalTime;

flightSeats: Association[0..*] to Seat via ba

}

entity Seat {

key flight: Association to Flight;

id: SeatNum;

isExitRow: Boolean default false;

Status: enum {free; reserved;};

}

Primitive types,

enumerations,

structured types

keys

 – Entities  correspond to database tables

 – Associat ions  describe relations between tables

Page 110: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 110/195

Demo: Entities

Actions: the business logic

 Actions describe the application's business logic

Local variables (scalar streams)

Page 111: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 111/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

entity Seat {

flight: Association to Flight;

seatNum: SeatNum;

isExitRow: Boolean default false;

seatStatus: SeatStatus;

}

entity Flight {

… 

flightSeats: Association[0..*] to Seat via backlink flight;

action GetEmptySeats() : Seat [] {

return select * from this.flightSeats

where Seat.seatStatus = SeatStatus.free;

}

}

this

 – Local variables (scalar, streams)

 – Control statements (if, foreach, apply…) 

 – Integrated SQL queries

Extended queries

 – Use entity associations naturally in queries:

id

Page 112: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 112/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

entity Seat {

flight: Association to Flight;

seatNum: SeatNum;

isExitRow: Boolean default false;

seatStatus: SeatStatus;

}

entity Flight {

… 

flightSeats: Association[0..*] to Seat via backlink flight;

action GetEmptySeats() : Seat [] {

return select * from this.flightSeats

where Seat.Status = SeatStatus.free;

}

}

extending SQL!

=  __temp16 = select T1. … from Flights as T0

inner   join "flights.Seat" as T1

on (T0."flightId" = "T0:flightSeats"."flight.flig

where "FlightId" = 12345;

 __retval__ = select T2. … from :__temp16 as T2 wh

 __FlightId St

FlightId Sea

Flight

temp16

Seat

Access control

role Dispatcher;

entity Flight {

k fli htId St i (8)

Define roles

Page 113: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 113/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

key flightId: String(8);

flightNum: String (3);

cityFrom: Association to City;

cityTo: Association to City;

depDate: LocalDate;

depTime: LocalTime;

flightSeats : Association[0..*] to Se

backlink flight;

}

action OpenNewFlight() accessible by Dispat

… 

}

entity Seat {

…… 

action save() accessible by Flight;

… 

CRUD and call access privileges

 Assign run-time users to roles

Interoperability

entity employee {

Page 114: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 114/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

action is_legal_SAP_email(hdr: String): Boolean as HANAJS {%

var re = /^\S+@sap.(com|corp)$/;

return re.test(v_hdr);%}

}

entity Company as alias to sap.hana.catalog.ExtTable.T001;

view Company as SELECT FROM sap.hana.catalog.ExtTable.T001 {

BUKRS as companyCode, BUTXT as companyName

}

let StockQuotes: StockQuote[] = sap.hana.repository.XSStock.fetcher.getQuotes('http://www.nasdaq.com/quot

breakouts: inline

JavaScript or

SQlScript 

alias

abstraction view 

Call XS JS directly 

mobile

OData

Open Data Protocol: a web protocol to query and

update data over HTTP using JSON

Page 115: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 115/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

update data over HTTP, using JSON

River Entities and Actions are immediately  exposed as

OData structures upon activation

Read (with filter), write, update, delete, call … 

Control via Namespaces and export keyword

See further: http://www.odata.org 

Entity

DataModel

HANA

Database

OData services

browsersclient

Page 116: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 116/195

Demo: Actions

Page 117: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 117/195

In Summary

Why River?

Simplicity, coherence, timelessness, interoperability

– based on Entity-Relations, use a single language

Page 118: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 118/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

  based on Entity Relations, use a single language

for data modeling, business logic and access control

River compiler handles native code optimization – Write/extend native applications using modular,

declarative, object-oriented design principles

UI integration

 – Expose RDL entities and actions instantly via OData

Productivity, cloud – XS integrated development experience

Integrated application server

 – XS runtime environment

separate i

impleme

More about River

River will be released in SAP HANA SPS7

Page 119: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 119/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

To learn more, or to participate in the ongoin

River beta program:

Join us at session CD163, here at TechEd

Contact one of the speakers

URL: TBD 

Page 120: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 120/195

Wrap Up

Page 121: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 121/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Further Information

SAP Public Web

Page 122: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 122/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

SAP Education and Certification Opportunities

HANA Academy 

openSAP Course 

Watch SAP TechEd Online

www.sapteched.com/online 

SAP HANA

SAP HANA Developer Center  

SAP HANA Developer Online Help 

SAP TechEd Virtual Hands-on Workshops and SAP TechContinue your SAP TechEd education after the event!

SAP TechEd Virtual Hands-on Workshops

A h d k h t t

SAP TechEd Online

A l f k t D

Page 123: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 123/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

 Access hands-on workshops post-event

 Available January – March 2014

Complementary with your SAP TechEd registration

 Access replays of keynotes, Demo

LIVE interviews, select lecture ses

View content only available online

http://saptechedhandson.sap.com/  http://sapteched.com/o

Page 124: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 124/195

FeedbackPlease complete your session evaluation for CD103. 

Thanks for attending this SAP TechEd s

Appendix A: SAP HANA SQLScript Basics Debugging

Page 125: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 125/195

Agenda

SQLScript Basics

Page 126: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 126/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

R Integration

 Application Function Library

User Defined Functions

Triggers

Page 127: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 127/195

SQLScript Basics

SQLScriptWhat?

SQL Script is an interface for applications to access SAP HANA

E tension of ANSI Standard SQL

Page 128: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 128/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Extension of ANSI Standard SQL

Language for creating stored procedures in HANA:

Declarative Logic including SELECT queries, Built-In Calculation Engine functions

Orchestration Logic including Data Definition Language(DDL), Data Manipulation Language

imperative logic

SQLScriptWhy?

The main goal of SQLScript is to allow the execution of data intensive calculations in

There are two reasons why this is required to achieve the best performance:

Page 129: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 129/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

There are two reasons why this is required to achieve the best performance:

Eliminates the need to transfer large amounts of data from the database to the application

Calculations need to be executed in the database layer to get the maximum benefit from SAsuch as fast column operations, query optimization and parallel execution. If applications fet

rows for processing on application level they will not benefit from these features

SQLScript Advantages

Compared to plain SQL queries, SQL Script has the following advantages:

Functions can return multiple results while a SQL query returns only one result set

Page 130: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 130/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Functions can return multiple results, while a SQL query returns only one result set

Complex functions can be broken down into smaller functions. Enables modular programmi

better understandability by functional abstraction. For structuring complex queries, standarddefinition of SQL views. However, SQL views have no parameters

SQLScript supports local variables for intermediate results with implicitly defined types. With

would be required to define globally visible views even for intermediate steps

SQL Script has control logic such as if/else that is not available in SQL

Presentati

SQLScriptPerformance gains

Page 131: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 131/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Control flo

Calculatio

Data

HANA

SQLSc

Traditional: “Data to Code” New Model: “Co

SQLScriptTraditional model vs. new model

Page 132: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 132/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

DB Layer

Code

Traditional: “Data to Code”  New Model: Co

Massive datacopies creates

bottleneck

TransferMinimum

Result Set

 Application  Application Layer

DB Layer

SQLScriptCode example

BEGIN

...

-- Query 1

d id l t "P d tId" "C t " "D Id"

Produ

Page 133: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 133/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

product_ids = select "ProductId", "Category", "DescId"from "SAP_HANA_EPM_DEMO"."sap.hana.democontent.epm.data::products"

 where "Category" = 'Notebooks'

or "Category" = 'PC';

-- Query 2

product_texts = select "ProductId", "Category", "DescId", "Text"from :product_ids as prod_ids

inner join "SAP_HANA_EPM_DEMO"."sap.hana.democontent.epm.data::texts"as texts on prod_ids."DescId" = texts."TextId";

-- Query 3

out_notebook_count = select count(*) as cnt from:product_texts where "Category" = 'Notebooks';

-- Query 4

out_pc_count = select count(*) as cnt from:product_texts where "Category" = 'PC'; 

...

END; 

Notebooks

Q3

Q2

Q1

SELECT statements are executed in parallel unless:

Any local scalar parameters and variables are used in the procedure

SQLScriptParallel processing

Page 134: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 134/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

•  Any local scalar parameters and variables are used in the procedure

• Read/Write procedures or DML/DDL operations are executed• Imperative logic is used within the procedure

•  Any SQL statements are used that are not assigned to a variable

SQLScriptCE(Calculation Engine) built in functions

SQL CE-Built In FunctionSELECT on column table out = SELECT A, B, C from "COLUMN_TABLE" out = CE_COLUMN_TABLE("COLUMN_TABLE",

SELECT on attribute view out = SELECT A, B, C from "ATTRIBUTE_VIEW" out = CE_JOIN_VIEW("ATTRIBUTE_VIEW",

SELECT on olap view out = SELECT A B C SUM(D) from out = CE OLAP VIEW("ANALYTIC VIEW" [A

Page 135: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 135/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

SELECT on olap view out SELECT A, B, C, SUM(D) from

"ANALYTIC_VIEW" GROUP BY A, B, C

out CE_OLAP_VIEW( ANALYTIC_VIEW , [A

 WHERE HAVING out = SELECT A, B, C, SUM(D) from

"ANALYTIC_VIEW" WHERE B = 'value' AND C ='value'

col_tab= CE_COLUMN_TABLE("COLUMN_TABLE

CE_PROJECTION(col_tab, [A, B, C], ' "B''value'' ');

GROUP BY out = SELECT A, B, C, SUM(D) FROM"COLUMN_TABLE"

GROUP BY A, B, C

col_tab= CE_COLUMN_TABLE("COLUMN_TABLE

CE_AGGREGATION( (col_tab, SUM(D), [A,

INNER JOIN out = SELECT A, B, Y, SUM(D) from "COLTAB1"

INNER JOIN "COLTAB2" WHERE "COLTAB1"."KEY1" =

"COLTAB2"."KEY1" AND "COLTAB1"."KEY2" =

"COLTAB2"."KEY2"

out = CE_JOIN("COLTAB1","COLTAB2", [KE

LEFT OUTER JOIN out = SELECT A, B, Y, SUM(D) from "COLTAB1"

LEFT OUTER JOIN "COLTAB2" WHERE

"COLTAB1"."KEY1" = "COLTAB2"."KEY1" AND

"COLTAB1"."KEY2" = "COLTAB2"."KEY2"

out = CE_LEFT_OUTER_JOIN("COLTAB1","CO

[A, B, Y, D])

SQL Expressions out = SELECT A, B, C, SUBSTRING(D,2,5) FROM

"COLUMN_TABLE"

proj_tab = CE_COLUMN_TABLE("COLUMN_TAB

CE_PROJECTION( :proj_tab, ["A", "B",

CE_CALC('midstr("D",2,5)', string) ])

UNION ALL col_tab1 = SELECT A, B, C, D FROM

"COLUMN_TABLE1"; col_tab2 = SELECT A, B, C, D

FROM "COLUMN_TABLE2"; out = SELECT * FROM

:col_tab1 UNION ALL SELECT * FROM :col_tab2;

col_tab1 = CE_COLUMN_TABLE("COLUMN_TA

col_tab2 = CE_COLUMN_TABLE("COLUMN_TAB

CE_UNION_ALL(:col_tab1,:col_tab2);

SQLScriptBuilt in function code example

• Built in functions should be used exclusively where possible

• Calculation Engine functions should not be mixed with standard SQL statements

• Queries can be well optimized and parallelized by the engine

Page 136: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 136/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

• Queries can be well optimized and parallelized by the engine

bp_addresses =

select a."PartnerId", a."PartnerRole", a."EmailAddress", a."CompanyName",a."AddressId", b."City", b."PostalCode", b."Street"

from "SAP_HANA_EPM_DEMO"."sap.hana.democontent.epm.data::businessPartner" as a

inner join "SAP_HANA_EPM_DEMO"."sap.hana.democontent.epm.data::addresses" as b

on a."AddressId" = b."AddressId" where a."PartnerRole" = :partnerrole;

lt_bp = CE_COLUMN_TABLE("SAP_HANA_EPM_DEMO"."sap.hana.democontent.epm.data::businessPartner",

["PartnerId", "PartnerRole", "EmailAddress", "CompanyName", "AddressId" ]);

lt_bp_proj = CE_PROJECTION(:lt_bp, ["PartnerId", "PartnerRole", "EmailAddress" , "CompanyName",

"AddressId" ], '"PartnerRole" = :partnerrole' );

lt_address = CE_COLUMN_TABLE("SAP_HANA_EPM_DEMO"."sap.hana.democontent.epm.data::addresses",

["AddressId", "City", "PostalCode", "Street"]);

bp_addresses = CE_JOIN(:lt_bp_proj, :lt_address, ["AddressId"],

["PartnerId", "PartnerRole", "EmailAddress", "CompanyName",

"AddressId", "City", "PostalCode", "Street"]);

SQLScriptEditor integration with SAP HANA Development Perspective

• Client side syntax checking

• Code hints

• Syntax highlighting

Page 137: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 137/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

y g g g

• Local table types

SQLScriptDebug Perspective

Page 138: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 138/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Set Breakpoints

Page 139: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 139/195

R Language Integration

 An open source software language and environment for

statistical computing and graphics with over 3000 add-on

packages. http://www.r-project.org/ 

The packages cover wide range topics

R LanguageWhat is open source R

Page 140: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 140/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

The packages cover wide range topics - Cluster Analysis & Finite Mixture Models

Probability Distributions

Computational Econometrics

Empirical Finance

Statistical Genetics

Graphic Displays, Dynamic Graphics, Graphic Devices

& Visualisation

Machine Learning & Statistical Learning

Medical Image Analysis Multivariate Statistics

Natural Language Processing

Statistics for the Social Sciences

Time Series Analysis

R LanguageWhat R supports

• Data handling and storage: numeric and textual

• Matrix algebra

• Hash tables and regular expressions

Page 141: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 141/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Hash tables and regular expressions

• High-level data analytic and statistical functions

graphics

• Programming language: loops,

• Branching, subroutines, OO

R LanguageCode examples

Page 142: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 142/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

C l E i

NewDB Space OpenSource R Space

Sample Codes in SAP HANA SQLScript

R LanguageIntegration with SAP HANA database

Page 143: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 143/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

JoinOP

ROP

OLAPOP

Calc. Engine

R External

Packages(Forecasting,Parallelism,

statistics, etc.)

RClient

SAP RHANA

Package

Send data

and R script 1

3

NewDB R Integration Open Source R

2 Run the R scripts 

Get back the

result from R toSAP HANA 

Page 144: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 144/195

Application Function Libra

Application Function Library(AFL)

Application Function Library (AFL) – what is it? 

Pre-delivered commonly utilized business, predictive and other types of algorithms f

or solutions that run on SAP HANA. The technology framework enabling the use of

is called the Application Function Library

Page 145: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 145/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

is called the Application Function Library .

 AFL functions run in the core of SAP HANA in-memory DB.

What are it’s benefits?

These algorithms can be leveraged directly in development projects, speeding up p

avoiding writing custom complex algorithms from scratch. AFL operations also offer

performance, as AFL functions run in the core of SAP HANA in-memory DB, wherespecifically optimized for performance.

Page 146: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 146/195

Application Function Library(AFL)

HANA Clients (App Server, Analytics Tech

SAP HANA

AFL Technology includes

Application Functions

 – Written in C++ and delivered as AFL content by SAP

 – Predictive Analysis- and Business Function Library have been

Page 147: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 147/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

 Application Functions (C++)

SQLScript

SAP HANA

Business FuLibrary

Predictive AnalysisLibrary

 AFL Framework

… 

ed c e a ys s a d us ess u c o b a y a e bee

released in SPS05 as AFL content,

new in SPS06 the Data Quality Functions Library

AFL Framework

On demand library loading framework for registered and

supported libraries

 –  AFL are consumed for use from SQLScript via

so-called wrapper-procedures. Consumption can be controlled

via permissions.

 – Beyond the initial script-based approach, the ApplicationFunction Modeler is released with SPS06 as a graphical editor

to facilitate the design-time process of creating the

wrapper-procedures and

can easily be re-used as

part of development

workflow.

Parameter Table

Business Function Library(BFL)

• Compiled analytic function library for business functionality

• Support various pre-built, parameter-driven algorithms

• Embedded into calculation engine

Page 148: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 148/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Compute Quickly 

Reuse common business functionalities without developing

Perform functions in real-time with high-performance comp

memory

Help Customers To

Bring decision support capabilities to the business users thr

simplified experience and pre-built scenariosEmpower the business

Built applications Quickly 

*no

Predictive Analysis Library(PAL)

• Compiled analytic function library for predictive analysis

• Support multiple algorithms: K-Means, Association Analysis, C4.5 Dec

Multiple Linear Regression, Exponential Smoothing… 

Page 149: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 149/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Know Your Business 

Decide with Confidence

Compute Quickly 

Uncover deep insights & patterns about the business: asso

customer clustering, or sales prediction

Drive more advanced analyses. Decision is made with sup

analysis numbers

Query and analyze data in real-time with high-performancecomputation in-memory

Help Customers To

Bring decision support capabilities to the business users th

simplified experience and pre-built scenariosEmpower the business

Application Function Modeler(AFM)

 A graphical editor to facilitate a faster and easier design-time process of creating the wrapper-procedu

 AFL Models are stored as repository objects and can easily be re-used as part of development workfl

Page 150: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 150/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Model Editor

Drag‘n drop of functions Template for table types

Data source selection and

automatic mappings to table

types

Sample SQL for

procedure

consumption

Page 151: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 151/195

User Defined Functions(U

User Defined Functions

Overview

Management of objects can only be done via SQL Console. Support for storing the artifacts

coming in a future support package

Language used within the body is SQLScript, no other languages are supported

Page 152: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 152/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Functions are read-only, side effect free

Two types:

 – Table User Defined Function

 – Scalar User Defined Function

User Defined FunctionsTable UDF

• Can have any number of input parameters

• Returns exactly one table

• Table operations are allowed within the body

Page 153: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 153/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

• Table operations are allowed within the body

User Defined FunctionsScalar UDF

• Can have any number of input parameters

• Returns exactly one value

• Expressions are allowed within the body

Page 154: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 154/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

• Expressions are allowed within the body

• No table operations such as CURSOR, CEfunctions or Array operations

• Input parameters can not be table type

Page 155: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 155/195

Triggers

TriggersOverview

• Special type of stored procedure that

automatically executes when an event occurs in

the database server, for example upon INSERT

f bl

Page 156: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 156/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

of a table

• Management of objects can only be done via

SQL Console. Support for storing the artifacts

in the repository is coming in a future support

package

 

Appendix B: The UI Development ToolkHTML5 (SAPUI5)

Page 157: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 157/195

IntroductionDemand and requirement

Growing demand for

business insight everywhere on any device

business UIs following known End User Paradigms

Page 158: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 158/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

applications with native look & feel

high client side interactivity and performance

seemless integration of modern web standards and functionality (Social media, web 2.0, …)

Introduction

HTML5 definition versus common understanding

The official definition of HTML5

is a markup language for structuring and presenting content for the World

Wide Web, …. It is the fifth revision of the HTML standard (created in 1990

and standardized as HTML4 as of 1997)

Page 159: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 159/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

)

The commonly used definition

Integrated Multimedia support

Graphics and Charts (Canvas / SVG)

• New JavaScript APIs (e.g. Web SQL, Web Storage, Web Workers, …) 

 ARIA (accessibility)

• OpenAJAX (interoperability)

• JIT JavaScript compilation• CSS3

Key capabilities

Features and benefits

Eclipse-BaseUnmatched Extensibility Any Screen on Any Device

Based on SFoster INNOVATIONDelight USERS

Page 160: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 160/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Enterprise Re

Well known aTimeless SAP Data Consumption

Great Productivity

Powerful Theming & Branding

Cutting-Edge Controls

Openess & FFast Release CyclesEfficiency & Performance

Key capabilities

Features and benefits 

Built with Leading Web Technologies

 jQuery CSS3 OData LESS D3OpenAJAXHTML5

Page 161: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 161/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Runs on Various SAP and Non-SAP Platforms

SAP HANA XS

SAP NetWeaver AS ABAP

Open Source Platforms

SAP NetWeaver Cloud

SAP NetWeaver AS JavaSybase Unwired Platform

Key capabilities 

Development environment 

Homogeneous Set of Eclipse Tools and Editors

Small learning curve for web developer

UI Screen & Application development

HTML5 t l t t

Page 162: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 162/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

HTML5 templates support

Shipped via SAP release train for Eclipse (SRTE)

NWDS support

Outlook:

− WYSIWYG Design of HTML5 Applications

− Web based IDE

Architecture overview

SAPUI5 components 

Controls

SAPUI5

Libraries

Themes Mobile Des

Mobile Des

Optional server component

Core JS Framework including jQuery

Extension libraries

Controls

Page 163: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 163/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

SAPUI5

Core 

 jQuery

(Static) Web Server

SAP jQuery Plug-ins

Event Resources Device U

UI

Data

BindingControl

Base

Render

Manager

Resource Handler (optional)

 – Controls

 – Themes

“Helper” assets like e.g.

 – Less 

 – Code minimizer

Key takeaways

HTML5 is a specification for building highly

interactive and flexible UI`s

SAPUI5 bundles a UI Control Library and

Page 164: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 164/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

SAPUI5 bundles a UI Control Library and

Tooling for building delightful UIs followingweb standards

SAPUI5 is your best choice when developing

enterprise ready lightweight business

applications in the SAP context

SAPUI5 will be available, bundled with severalplatforms and products in Q4

Further information

SAP Public Web

SDN: http://scn.sap.com/community/developer-center/front-end 

Page 165: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 165/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

NW Cloud: https://sapui5.netweaver.ondemand.com/sdk/#content/Ov

Update site: SAPUI5 Tools 

Update site: SAPUI5 Team Provider  

Appendix C: SAP HANA UI IntegratServicesOverview and roadmap

Page 166: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 166/195

Agenda

SAP HANA UI Integration Services

Using SAP HANA UI Integration Services

Roadmap

Page 167: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 167/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

p

Summary

Trends and expectations in the market 

Global trends

Cloud

Mobile

Social

Page 168: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 168/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

User Experience

Demand for attractive user experience

Responsive design and high interaction

High user productivity

Real-time access to critical information

 Analytical applications

Web and native applications on any device

Social

Information (big data)

Development

Emergence of SAP HANA platf

memory, high-performance app

 Agility, fast innovation cycles

Developer efficiency and reduc

Consistency across application

Open standards and open sour

Business perspective

 Addressing the needs of various business roles

Launch sites and overview dashboards with analytics or business application

to quickly analyze business data in a central, personalized work environment

Drill down into details if neededEnd user

Page 169: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 169/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Structure business content and make applications, reports and information

available to end users based on their business role

Enrich standalone business applications with contextual information & service

Efficiently develop high-performance, interactive applications based on SAP

HANA leveraging core services

End user

Designer

Developer

Page 170: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 170/195

SAP HANA UI Integration ServicesOverview

SAP HANA UI Integration Services

Value Proposition 

With SAP HANA UI Integration Services, developers and designers can easily create and des

based on HANA applications through efficient development using standardized services and c

patterns to support end-to-end business scenarios with harmonized user experience across a

Page 171: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 171/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Provides end users a state-of-the-art user experience and

access to seamlessly integrated HANA native applications

Enables designers to easily organize applications and

widgets into sites via intuitive design environment

Gives developers a simple way to use standardized services

for creating application sites and integrating widgets within

their familiar SAP HANA studio environment

Benefits

Consistent user interface and state-of-the-art user experience

Unified access point to assigned sites and applications

Options to personalize preferencesEnd user

Page 172: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 172/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Quickly compose and configure application sites via site designer

Aligned user experience by using same paradigms for widget configuration

 Allow easy extensibility of custom-build or partner applications

Simple way to use standardized services as part of HANA native (XS) deve

environment for creating well-performing, two-tier applications

Easily build and reuse HTML5-based applications using widgets

Design the application UI with the design environment embedded in SAP H

Create and manage all artifacts directly from SAP HANA studio and reposito

 Allow the business developer to focus on the business apps

Developer

Designer

SAP HANA UI Integration Services - overview

Sites and page building: state-of-the-art design environment of

for managing sites, page navigation, layout and content

Property persistence: widget can define properties that are

persisted via customization

Page 173: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 173/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

persisted via customization

Personalization: persistency of widget properties on user level

Publish-Subscribe: eventing mechanism allowing data

interchange between widgets (mashups)

Context: properties can be reflected in the URL allowing

bookmarking and sharing

OpenSocial: integration of OpenSocial-compliant widgets SAP HA

UI Integra

Sites &

navigationPro

Eventing C

Detailed information about the UI services and APIs are described in the “SAP HANA Developer Guide” (http://help.sap

End user perspective

Quick access to interactive application sites

Application site

with interactive

Flexible

navigationbased on theuser’s roles 

Page 174: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 174/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Native HANA

applicationwrapped as

widget

with interactive

widgets

Full flexible

page layout

Page 175: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 175/195

SAP HANA UI Integration ServiceEnd-to-end scenario for using UI Services

Creating a native SAP HANA (XS) application and applic

Development process overview

Page 176: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 176/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Developer   Designer

Develop and enrich

native applications

leveraging UI services

Create application site

in HANA studio with fullsupport of the lifecycle

Adjust application site

provided by a developer

Change site layout, add

widgets and configure

properties

Optimize the site to

match end user needs

Assign end users who

are allowed to access

the site

Use

Per

SAP HANA native applications development flow

• DB tables

2. Implementbusiness logic • Shell

Page 177: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 177/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Detailed information for developers is available in the “SAP HANA Developer Guide” via http://help.sap.

• Analyticalobjects

• Data restriction

1. Define dataartifacts

• Control flowlogic

• Data services

• Calculation logic

• Navigation• Theming

• … 

3. Implementuser interface

Development environment

SAP HANA UI Integration Services provide tools

and client-side APIs for development of widgets

and integration into application sites:

UI integration services as dedicated delivery unit

Page 178: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 178/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

SAP Hana repository plug-ins

Wizards for SAP HANA studio

How can developers integrate an existing HANA

application as widget into an application site?

1) Wrap the application as an OpenSocial component

2) Use wizard to turn it into a widget

3) Create an application site object

4) Open the application site in the design environment

and add a widget

Developer perspective

Integrated development environment in SAP HANA studio

Page 179: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 179/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Application site

Widget

Designer perspective

Intuitive design environment for managing application sites

Web-based editor for creating and organizing application sites and content

Application site

Page 180: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 180/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Standalone

nativeapplication

wrapped as

widget

Full flexible page

layout

Step-by-step

Begin the UI implementation with a UX wireframe describing the entire application and site s

Should include all required screens and the entire interaction flow

Define UX mockup Design complete

application site

Import or develop

widgets

Identify UI

components

Page 181: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 181/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Step-by-step

Break down the mockup to identify distinct UI components (building blocks)

Can either be simple controls or more complex elements

Different components should be loosely coupled

Define UX mockup Design complete

application site

Import or develop

widgets

Identify UI

components

Page 182: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 182/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Search box widget

Table Widget

Details WidgetPie Chart

Widget

Navigation Bar (Shell) Navigation Bar (Shell)

Exact Parameter Selector Widget

Bar Chart Widget

Step-by-step

Build UI components as widgets directly from the HANA native IDE (HANA studio)

Use third party widgets for selected components

D fi id t t i bl ti t ll ti l fl ibilit d bilit

Define UX mockup Design complete

application site

Import or develop

widgets

Identify UI

components

Page 183: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 183/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Define widget customizable properties to allow optimal flexibility and reusability

Define widget personalizable properties to allow end users to persist preferences

Define events widgets can publish or subscribe to allowing widget communication

Define application context attributes reflected in the URL

Step-by-step

Define UX mockup Design complete

application site

Import or develop

widgets

Identify UI

components

Page 184: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 184/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Table Widget

Details Widget

Search box widget

Pie ChartWidget

Exact Parameter Selector Widget

Bar Chart Widget

3rd party widget

Widgetinteraction

Customizable

widgetproperties

Step-by-step

Create the application site directly from SAP HANA studio as the application shell

Edit the application site using the design environment

Add d d i l t it t d fi th li ti it hi h

Define UX mockup Design complete

application site

Import or develop

widgets

Identify UI

components

Page 185: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 185/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

 Add, rename, reorder and manipulate sites to define the application site hierarchy

 Add widgets to pages and customize them

Reposition and resize widgets and refine the layout to reach a pixel perfect experience

Step-by-step

Define UX mockup Design complete

application site

Import or develop

widgets

Identify UI

components

Page 186: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 186/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Step-by-step

Refine and iterate as needed

 Activate the application site from SAP HANA studio

Provide the link to your end users to access the site

Define UX mockup Design complete

application site

Import or develop

widgets

Identify UI

components

Page 187: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 187/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

SAP HANA UI Integration Services

Page 188: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 188/195

Roadmap

SAP HANA UI Integration Services

Roadmap

End user

Easy access to and navigation

between (native) applications

Designer

Embedded WYSIWYG designen ironment to organi e application

Core Services

 Additional services supporting

developer scenarios, e.g.

navigation, branding, layout

personalization in the shell

Shell

Future enhancem

Extension of the d

an integration poi

on SAP HANA sta

Integration of SAP

HANA application

Service integratio

Page 189: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 189/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Planned InnovationsToday Future D

Embedded WYSIWYG designenvironment to organize application

sites and widgets

Manage site layout, hierarchy and

properties

Developer

Integrated development

environment in SAP HANA studio

Wizards for creating artifacts such

as application sites and widgets Public APIs for consistent UIs

Shell Support of additional shell(s)

Support of catalogs from different

sources

Widgets

Re-useable templates for widgets

to support common requirements

e.g. responsive tables

Service integratiosolutions, e.g. SA

Usage of smart, c

to provide the righ

right context to en

This is the current state of planning and ma

This presentation and SAP‘s strategy and possible future developments are subject to change and may be changed by SAP at any time for any reason without notice. This documena warranty of any kind, either express or implied, including but not limited to, the implied warranties of merchantability, fitness for a particular purpose, or non-infringement

SAP HANA SP6

Summary

Page 190: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 190/195

Roadmap

Summary

With SAP HANA UI Integration Services, developers and designers can easily create and d

sites based on HANA applications through efficient development using standardized servi

UI patterns to support end-to-end business scenarios with harmonized user experience acr

Provides end users a state-of-the-art user experience and

Page 191: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 191/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

SAP

UI Integra

Page

buildingPr

Eventing C

Provides end users a state-of-the-art user experience andaccess to seamlessly integrated HANA native applications

Enables designers to easily organize applications and

widgets into sites via intuitive design environment

Gives developers a simple way to use standardized services

for creating application sites and integrating widgets within

their familiar SAP HANA studio environment

5 easy steps to quickly get started

1) Watch the tutorial videos on SAP HANA Academy 

2) Download SAP HANA developer edition 

3) Join OpenSAP course to learn more and run the exercises

Page 192: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 192/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

3) Join OpenSAP course to learn more and run the exercises

4) Learn more by reading the comprehensive developer guide and latest enhancem

5) Share your feedback with the SAP HANA developer community 

Further Information

Overview

Experience SAP HANA http://www.saphana.com/welcome 

SAP HANA In Memory http://scn.sap.com/community/hana-in-memory 

HANA Startup Focus Program http://www.experiencesaphana.com/docs/DOC-1781 

Twitter @SapDevs #sapdevcenter

Page 193: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 193/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

Twitter @SapDevs, #sapdevcenter

Developer Information

SAP HANA Developer Center http://scn.sap.com/community/developer-center/hana an

http://developers.sap.com/hana 

SAP HANA Help Center http://http://help.sap.com/hana_platform (Release Notes

SAP HANA Academy http://academy.saphana.com / http://www.saphana.com/SAP HANA Developer Edition http://scn.sap.com/docs/DOC-31722 

OpenSAP courses https://open.sap.com 

SAP TechEd Virtual Hands-on Workshops and SAP Tech

Continue your SAP TechEd education after the event!

SAP TechEd Virtual Hands-on Workshops

 Access hands-on workshops post-event

 Available January – March 2014

Complementary with your SAP TechEd registration

SAP TechEd Online

 Access replays of keynotes, Demo

LIVE interviews, select lecture ses

View content only available online

http://saptechedhandson.sap.com/ http://sapteched.com/o

Page 194: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 194/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

http://saptechedhandson.sap.com/  http://sapteched.com/o

 © 2013 SAP AG or an SAP affiliate company. All rights

No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG.

The information contained herein may be changed without prior notice.

Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors.

National product specifications may vary.

These materials are provided by SAP AG and its affiliated companies ("SAP Group") for informational purposes only, without representation

SAP Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and servicesin the express warranty statements accompanying such products and services if any Nothing herein should be construed as constituting an

Page 195: CD103

8/11/2019 CD103

http://slidepdf.com/reader/full/cd103 195/195

© 2013 SAP AG or an SAP affiliate company. All rights reserved.

in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an

SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SA

other countries.

Please see http://www.sap.com/corporate-en/legal/copyright/index.epx#trademark for additional trademark information and notices.