You are on page 1of 29

DEV161 Intro to SAP HANA Extended Application

Services, Advanced Model Development

Public
Speakers

Las Vegas, Sept 19 - 23 Bangalore, October 5 - 7 Barcelona, Nov 8 - 10

Rich Heilman Raghuvira Bhagavan Rich Heilman


Thomas Jung Shankari GR Thomas Jung
Kiruthika N

2016 SAP SE or an SAP affiliate company. All rights reserved. Public 2


Agenda

XS Advanced Overview
SAP Web IDE for SAP HANA Overview
Exercises

2016 SAP SE or an SAP affiliate company. All rights reserved. Public 3


Disclaimer

The information in this presentation is confidential and proprietary to SAP and may not be disclosed without the permission of
SAP. Except for your obligation to protect confidential information, this presentation is not subject to your license agreement or
any other service or subscription agreement with SAP. SAP has no obligation to pursue any course of business outlined in this
presentation or any related document, or to develop or release any functionality mentioned therein.

This presentation, or any related document and SAP's strategy and possible future developments, products and or platforms
directions and functionality are all subject to change and may be changed by SAP at any time for any reason without notice.
The information in this presentation is not a commitment, promise or legal obligation to deliver any material, code or functionality.
This presentation is provided without a 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. This presentation is for informational
purposes and may not be incorporated into a contract. SAP assumes no responsibility for errors or omissions in this
presentation, except if such damages were caused by SAPs intentional or gross negligence.

All forward-looking statements are subject to various risks and uncertainties that could cause actual results to differ materially
from expectations. Readers are cautioned not to place undue reliance on these forward-looking statements, which speak only
as of their dates, and they should not be relied upon in making purchasing decisions.

2016 SAP SE or an SAP affiliate company. All rights reserved. Public 4


XS Advanced Overview

Public
SAP HANA Extended Application Services (XS)
Evolution
What: XS in SPS 11 and beyond represents an evolution of
the application server architecture within SAP HANA building
upon the previous strengths while expanding the scope

Rationale: Enable additional deployment models and


development languages
With SPS 11, XS provides additional runtimes based upon open architecture for
JavaScript on Node.js, Java on TomEE and C++ via FastCGI
The existing runtime remains for full backwards compatible support
The XS Application Router embraces micro services architectures where
applications are implemented on multiple possibly different runtimes
In cloud deployments XS applications run on HANA Cloud Platform PaaS
In on premise deployments XS applications can still run/manage in-a-box but
also scale out to lower cost hardware
Applications are written once and then can be deployed to either cloud or on
premise without coding changes
Source code repository based upon on Git/GitHub with support for
Merge/Branch/Containers
2016 SAP SE or an SAP affiliate company. All rights reserved. Public 6
SAP HANA XS Advanced Positioning The Freedom of Choice

SAP HANA XS Advanced offers customers the freedom choice

of technologies, tools and deployment options

for high-scale development and operation of native SAP HANA


applications.

2016 SAP SE or an SAP affiliate company. All rights reserved. Public 7


XS Architecture

Browser

R R

HANA XS Adv. (New in SAP HANA SPS 11) SAP Web


Dispatcher

Application Router
R

HTML5 R R R
HANA XS
App
Classic
XSJS Compt. Node.js Tomcat / TomEE Other (existing
Containers runtime
Central XSJS App Node App Java App still for
R Security C++ App several
Service OData (JavaScript) HANA Database
OData (Java) SPS
levels)

XS Adv. Runtime Platform / HCP

R R R R R R R

User Account
HANA DI HANA Database
and Authentication

2016 SAP SE or an SAP affiliate company. All rights reserved. Public 8


SAP HANA Platform
Developer Persona Roadmap Application Server (1/2)

Today (Recent SPS12) Planned Q3/2016 Planned Q4/2016 Planned 2017


SAP Web IDE for SAP HANA will be technically No HANA platform shipment in Q3 2016 General OData Version 4 / Fiori Smart Extensions
implemented as an XS Advanced application and Migration assistant to help with the move from XS support
On-going 3rd party and IaaS certifications
was delivered post SPS11 classic to XS advanced Java 9
The XS Advanced runtime and HDI will not support Bring Your Own Language/Runtime support Web Admin
full feature compatibility with XS Classic in the
SPS11 delivery. Feature compatibility will continue Fiori Launchpad Blob Store Admin
to be enhanced in SPS 12 and beyond Node.js 6.x support Buildpack Admin
Node.js 4.x support Full Multi-DB support Services Admin
Advanced Git/Gerrit Lifecycle Management Web Admin Domain Admin
scenarios
Application Monitoring ( Workload statistics, stop, CDS Integration with OData
Additional deployment and scaling options as well as start, restage, etc) JavaScript runtime
startup and recovery optimization
Certificate handling Debugging on the fly
Routes and Runtimes administration Buildpack caching
OData V2 Job Scheduling: Job Chaining
Feature parity to XSC XSODATA Security
JAVA Authentication flow in Java Security client library for
audit service and end-to-end trace support of Java applications without an app router in
XSJS front of them

Feature parity to XSC Additional security APIs for FLP

JavaScript runtime SPNEGO authentication

Audit Logging Service X.509 Authentication

Footprint reduction and protocol optimizations SAP Logon Tickets Authentication

Git/Gerrit APIs for runtime generation of artifacts

This is the current state of planning and may be changed by SAP at any time.

2016 SAP SE or an SAP affiliate company. All rights reserved. Public 9


SAP HANA Platform
Developer Persona Roadmap Application Server (2/2)

Today (Recent SPS12) Planned Q3/2016 Planned Q4/2016 Planned 2017


Approuter
New authentication methods
Multi-tenancy support
Job Scheduling
Token based authentication to execute jobs as the
business user
Polling URI for async jobs
Security
UAA version 3.x
Issue JWTs with certain scopes to services or apps
for authentication without a business suser
App2App SSO
User Settings
Runtime
Secure Debugging
Extended monitoring for node.js and Java
Linux PPC / Little Endian support
System replication
SLD registration for applications

This is the current state of planning and may be changed by SAP at any time.

2016 SAP SE or an SAP affiliate company. All rights reserved. Public 10


SAP Web IDE for SAP HANA
Overview

Public
SAP Web IDE for SAP HANA

Development Tools on SAP HANA Vision HANA Dev & Modelling


Tools
SAPUI5 & NodeJS Dev
Tools

SAP Web IDE for SAP HANA provides a comprehensive web-based end-to-end development
experience for creating SAP HANA native applications:
Development of SAP HANA content and models
UI development with SAPUI5
Node.js or XSJS business code
Git integration

SAP Web IDE for SAP HANA comprises capabilities of SAP HANA Studio and SAP HANA Web-based
Development Workbench.
It consolidates technologies, follows industry trends, and leverages industry standards where possible,
while retaining a competitive innovation focus of SAPs current offering.

This is the current state of planning and may be changed by SAP at any time.

2016 SAP SE or an SAP affiliate company. All rights reserved. Public 12


SAP Web IDE for SAP HANA

SAP Web IDE for SAP HANA Planned Innovations HANA Dev & Modelling
Tools
SAPUI5 & NodeJS Dev
Tools

SAP Web IDE for SAP HANA consolidates capabilities for building SAP HANA XS advanced
applications:
Full browser-based user interface, based on Eclipse server-side development infrastructure
Development of SAP HANA native applications, based on SAP HANA XS advanced
Graphical SAP HANA data modeling tools
Support for Node.js, SAPUI5 and HANA content, XSJS compatibility layer
Full set of language-aware code editors and debuggers
Application preview
Integrated source-code versioning with Git
Multi-module project navigation, development, build and deployment

This is the current state of planning and may be changed by SAP at any time.

2016 SAP SE or an SAP affiliate company. All rights reserved. Public 13


The world we knew (XS classic)

XSC
SAP HANA Studio for administration and
studio browser development
dev model admin Workbench Cockpit
SAP HANA web-based workbench
SAP HANA cockpit for administration
Design time repository (repo) in SAP HANA
web server and XS Engine supporting web
content and JS execution
Work bench

Cock pit

apps
Native development: UI + business logic + data
repo
modeling in SAP HANA
Deploy DUs
index server XS Engine

Unix

2016 SAP SE or an SAP affiliate company. All rights reserved. Public 14


The new world (XS advanced)

XSA
Web and cloud centric
Scalable, PaaS-like architecture
Cloud Foundry-like application runtimes browser
(Java, Node.JS, ); separate processes Web IDE Run-time tools admin
Web-based tools for developers and administrators
(no Eclipse support)
Development: SAP Web IDE + server-side
Development Infrastructure (DI) XSA

SAP HANA container isolation and activation: HDI

Java apps
HDI Git

Node.js
UAA

RTT
Deploy MTA archives

apps
etc.
DI
index server
Note: the XSA stack runs side by side
with the XSC stack, in SPS11 Unix

2016 SAP SE or an SAP affiliate company. All rights reserved. Public 15


Architectures compared

XSC XSA

studio browser browser

dev model admin Workbench Cockpit Web IDE Run-time tools admin

XSA
Work bench

Cock pit

apps

Java apps
repo Git
HDI

Node.js
UAA

RTT

apps
etc.
DI
index server XS Engine index server

Unix Unix

2016 SAP SE or an SAP affiliate company. All rights reserved. Public 16


SAP Web IDE features

Cloud-ready create project

Browser based; server-side workspace & projects


Multi-module applications
SAP HANA objects (CDS, modeling, SQLScript, ) create Git
import
modules clone
Node.js and XSJS modules
HTML5, UI5 modules
OData interfaces
Syntax sensitive editors, code assist, debug edit dev build package deploy

Git version control (commit, clone, push, pull, branch, ) cycle

Build services run /


debug
Debug, run, test (test-driven development)
Package (MTA archive) => deploy productively

2016 SAP SE or an SAP affiliate company. All rights reserved. Public 17


SAP Web IDE
modeler
project wizard
module
(DB, JS, UI)
wizards

debugger
run configurations
Version
control

Text editor

2016 SAP SE or an SAP affiliate company. All rights reserved. Public 18


SAP HANA Platform
Developer Persona Roadmap Development Tools

Today (Recent SPS12) Planned Q3/2016 Planned Q4/2016 Planned 2017


Installation via HDBLCM No SAP HANA platform shipment in Q3 2016 Multi-space/org support Fiori project template and wizards
Work toward feature parity with SAP HANA On-going 3rd party and IaaS certifications Advanced Git capabilities SAPUI5 View WYSIWYG editor
Studio/Web-based Development Workbench Full support for graphical data models Java Tooling
Streaming Text Analysis Java Debugger
Fiori Launch Pad OData Explorer
Create Remote Source Plan Viz
Remote Source browsing JavaScript: Debug running applications
Create Virtual Tables CDS - code completion for catalog objects, Data
Flowgraph editor Preview, Odata annotations in CDS

Replication editor SAP HANA Runtime Tools - MDX Console

JavaScript Tools - build: browse build results,


debug:harmonize with SQL Script, debug: edit
variables, expressions, break on exception
CDS - Editor Templates/Wizards
Problems View
Integration of HRTT in Web IDE

This is the current state of planning and may be changed by SAP at any time.

2016 SAP SE or an SAP affiliate company. All rights reserved. Public 19


Exercises

Public
Exercise 1 Hello World

Objective
In this first exercise, we will connect
to the remote system, run the new
project wizard, and then create an
HTML5 module to serve as the
application endpoint and proxy all of
our services and client-side content.
At the end of this exercise you will
be able to connect to your server via
web browser and see a Hello World
message.

2016 SAP SE or an SAP affiliate company. All rights reserved. Public 21


Exercise 2 Database Artifact Development

Objective
In this exercise, we will continue to develop our overall
application. Applications in the SAP HANA/XS
Advanced world, are often made up of multiple
modules at design time which deploy to separate
micro-services or database container content. We
created client side UI application content in the first
exercise using the HTML5 module. In this exercise we
will create database artifacts, such as database table,
stored procedures and user defined functions, using
the HDB (SAP HANA Database) module. We will then
see how we build these database artifacts using the
new container-based, schema-less HDI (SAP HANA
Deployment Infrastructure) concepts.

2016 SAP SE or an SAP affiliate company. All rights reserved. Public 22


Exercise 3 XSJS and XSODATA Services

Objective
For this exercise we will now build the
XSJS and XSODATA services used to
expose our data model to the user
interface. Although XS Advanced runs
on node.js, SAP has added modules to
node.js to provide XSJS and XSODATA
backward compatibility. Therefore you
can use the same programming model
and much of the same APIs from XS,
classic even within this new
environment.

2016 SAP SE or an SAP affiliate company. All rights reserved. Public 23


Exercise 4 SAPUI5 User Interface

Objective
For this exercise we will build a proper
SAPUI5 user interface that consumes
both the XSJS and XSODATA services
from our Node.js module

2016 SAP SE or an SAP affiliate company. All rights reserved. Public 24


SAP TechEd Online

Continue your SAP TechEd


education after the event!
Access replays of
Keynotes
Demo Jam
SAP TechEd live interviews
Select lecture sessions
Hands-on sessions

2016 SAP SE or an SAP affiliate company. All rights reserved. Public 25


Further information
Related SAP TechEd sessions:
DEV100 Overview of SAPs Development Platform for SAP HANA and SAP Cloud (2 hour lecture)
TEC201 SAP HANA Extended Application Services: From Classic to Advanced Model (1 hour lecture)
DEV204 Whats New in Native Application Development with SAP HANA (1 hour lecture)
DEV161 Intro to SAP HANA Extended Application Services (2 hour hands-on)
DEV107 Introduction to the SAP Web IDE for SAP HANA (1 hour lecture)
DEV607 Get a First Look at SAP Web IDE for SAP HANA (1 hour CodeJam mini-edition)
DEV703 Migrating Apps Between Models of SAP HANA Extended Application Services (30 min. Code Review)
DEV160 Intro to SAP HANA Database Development with Deployment Infrastructure (2 hour hands-on)
ITM111 Development Process and Software Logistics in XSA in SAP HANA (1 hour lecture)
DEV162 SQLScript: Basics (2 hour hands-on)
DEV264 SQLScript: Advanced Concepts (2 hour hands-on)
DEV707 SQLScript: Common Patterns, Part 1 / DEV708 SQLScript: Common Patterns, Part 2 (30 min. Code Review)
DEV608 SQLScript: How to Analyze Problems (1 hour CodeJam mini-edition)

SAP Public Web


scn.sap.com SAP HANA and In-Memory Computing SAP HANA Developer Center
www.sap.com developers.sap.com hana.sap.com

SAP Education and Certification Opportunities


www.sap.com/education
open.sap.com/hana4 & open.sap.com/hana5

2016 SAP SE or an SAP affiliate company. All rights reserved. Public 26


Software Development on SAP HANA (Q4/2016)
openSAP

Available from November 2, 2016


Duration: 5 weeks
Course closure: December 15, 2016
Effort required: 3-4 hours per week

Unit 1: Introduction to SAP HANA XS Advanced

Unit 2: Database Development

Unit 3: Application Server and UI Development

Unit 4: Node.js

Unit 5: Wrap-Up

Unit 6: Final Exam

Speakers:
Thomas Jung
Rich Heilman

Sign up for free: https://open.sap.com/courses/hana5


2016 SAP SE or an SAP affiliate company. All rights reserved. Public 27
Feedback
Contact information:
Please complete your
Thomas Jung
session evaluation for Chief Product Expert
thomas.jung@sap.com
DEV161

2016 SAP SE or an SAP affiliate company. All rights reserved. Public 28


2016 SAP SE or an SAP affiliate company. All rights reserved.

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

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. Please see http://www.sap.com/corporate-en/about/legal/copyright/index.html for additional trademark information and notices.

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

National product specifications may vary.

These materials are provided by SAP SE or an SAP affiliate company for informational purposes only, without representation or warranty of any kind, and SAP SE or its
affiliated companies shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP SE or SAP affiliate company products and
services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as
constituting an additional warranty.

In particular, SAP SE or its affiliated companies have no obligation to pursue any course of business outlined in this document or any related presentation, or to develop
or release any functionality mentioned therein. This document, or any related presentation, and SAP SEs or its affiliated companies strategy and possible future
developments, products, and/or platform directions and functionality are all subject to change and may be changed by SAP SE or its affiliated companies at any time
for any reason without notice. The information in this document is not a commitment, promise, or legal obligation to deliver any material, code, or functionality. All forward-
looking statements are subject to various risks and uncertainties that could cause actual results to differ materially from expectations. Readers are cautioned not to place
undue reliance on these forward-looking statements, which speak only as of their dates, and they should not be relied upon in making purchasing decisions.

2016 SAP SE or an SAP affiliate company. All rights reserved. Public 29