sap hana native application development

35
1 2014 SAP AG or an SAP affiliate company. All rights reserved. SAP HANA SPS 11 - What’s New? SAP HANA Extended Application Services SAP HANA Product Management December, 2015 (Delta from SPS 10 to SPS 11)

Upload: sap-technology

Post on 12-Apr-2017

2.246 views

Category:

Data & Analytics


4 download

TRANSCRIPT

Page 1: SAP HANA Native Application Development

1© 2014 SAP AG or an SAP affiliate company. All rights reserved.

SAP HANA SPS 11 - What’s New? SAP HANA Extended Application Services

SAP HANA Product Management December, 2015(Delta from SPS 10 to SPS 11)

Page 2: SAP HANA Native Application Development

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

Agenda

SAP HANA Native Development Overview

XS Advanced in Detail Changes in XS JavaScript Changes to the SAP HANA Repository Changes to the Security and User Management

Tools Integration (Beyond SPS 11)

Closing

Page 3: SAP HANA Native Application Development

SAP HANA Extended Application Services Overview

Page 4: SAP HANA Native Application Development

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

SAP HANA Extended Application Services (XS)History

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 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 Analytical applications Enterprise business applications

Page 5: SAP HANA Native Application Development

© 2015 SAP SE or an SAP affiliate company. All rights reserved. 5Public

SAP HANA Extended Application Services (XS)EvolutionWhat: XS in SPS 11 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 will provide 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

Page 6: SAP HANA Native Application Development

© 2015 SAP SE or an SAP affiliate company. All rights reserved. 6Public

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.

Page 7: SAP HANA Native Application Development

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

HANA Database

XS Architecture

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

HANA Database

Tomcat / TomEE

OData (Java)

Other Containers

C++ App

Node.jsXSJS Compt.

R R R

Browser

R

XSJS App

User Accountand Authentication

Java AppCentral Security Service

Node App

OData (JavaScript)

HANA DI

RR R R R R

XS Adv. Runtime Platform / HCP

HTML5App

Application Router

HANA XS Classic (existing runtimestill for several SPS levels)

R

R

R

SAP Web Dispatcher

R

Page 8: SAP HANA Native Application Development

SAP HANA Extended Application Services In Detail

Page 9: SAP HANA Native Application Development

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

Planned changes to the XS JavaScript Runtime

The new XS JavaScript runtime in SPS 11 is planned to be based on Node.js Creates synergies with plain Node.js runtime offering

Enables selective adoption of Node.js features by XS JavaScript applications

Page 10: SAP HANA Native Application Development

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

Planned changes to the XS JavaScript Runtime

Compatible runtime for existing XSJS applications, but some changes will be required The JavaScript engine will change from SpiderMonkey to Google V8, minor incompatibilities are to be expected

The XS $ API is re-implemented for the new runtime, minor incompatibilities are to be expected

In a micro services architecture applications are decomposed into isolated services and no longer run on a single stack, this requires repackaging for different runtimes and services (UI content, XS JS code, DB content)

Consistent delivery and lifecycle management of applications composed of micro services

Page 11: SAP HANA Native Application Development

© 2015 SAP SE or an SAP affiliate company. All rights reserved. 11Public

Planned changes to the XS JavaScript Runtime

Pre SPS 11 XS Engine will remain part of the shipment for some SPSs Enables custom XS applications to adopt new runtime at own pace

Page 12: SAP HANA Native Application Development

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

Planned changes to the HANA Repository

With SPS 11 the HANA Repository is planned to be replaced with the HANA Deployment Infrastructure (SAP HANA DI) Each application will get an isolated container in

a database schema

This will enable multiple deployments of the same content (e.g. for development or test purposes)

But it also requires that explicit schema references are removed

Non-HDI schemas need to be referenced by a synonym from the XS application schema

Container Schema S (S)

Container S Schema Owner (CSO-S)

Container S Runtime User (RU-S)Container S Deploy User (DU-S)

HDI Metadata Schema 1Other Schema, ERP

HANA DI Deployment API for S(DA-S)

API Procedure

R

SQL(CALL DA-S.WRITE(…), CALL DA-S.MAKE(…), …)

R

SQL(SELECT, INSERT, …)

View

Container S Object Owner (COO-S)

Table

Synonym

Table

HDI Metadata Schema 1HANA DI Metadata for S(MD-S)

Container S Metadata Object Owner(s) (MOO-S)

Container S Metadata Schema Owner (MSO-S)

Page 13: SAP HANA Native Application Development

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

Planned changes to the HANA Repository

Version control will be done in an external version control system (e.g. Git/GitHub repository) The HANA Deployment Infrastructure only

deploys design-time artifacts but does not manage their lifecycle

Pre SPS 11 Repository will remain part of the shipment for some SPSs Enables custom XS applications to adopt new

runtime at own pace

Page 14: SAP HANA Native Application Development

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

Planned changes to the security and user management

In SPS 11, XS Advanced application users will not need to be HANA database users

• Default option to use external identity providers via SAML IDP

• Users do not need to be replicated to the database

• Authentication is performed via SAML redirects

Page 15: SAP HANA Native Application Development

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

Planned changes to the security and user management

XS Advanced Application Router provides central security services

• Central authentication and security session management

• Micro services receive only tokens containing user information and authorization attributes

Page 16: SAP HANA Native Application Development

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

Planned changes to the security and user management

XS Advanced applications connect with technical users to the database

• Previously, this was only an option (using SQLCC), in the future this will be the standard

• This enables efficient pooling of database connections, improves performance

• The application user is known to the database processing for instance based authorization

Page 17: SAP HANA Native Application Development

Tools Integration

Page 18: SAP HANA Native Application Development

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

DevX Vision

A comprehensive, inclusive and uniformly consistent experience,

for all members of the SAP developer ecosystem who seek to build, extend and deploy SAP-based applications,

on-premise and in the cloud.

employees partners customers

Page 19: SAP HANA Native Application Development

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

SAP Web IDE for HANA

• Same core code base as the SAP Web IDE on HCP

• Does not yet have the Fiori templating or tools

• Focus for first release on HANA development tools and debuggers

Page 20: SAP HANA Native Application Development

© 2015 SAP SE or an SAP affiliate company. All rights reserved. 20Public

SAP Web IDE for HANA

Templates cover major HANA development:

• Database• Node.js• Web• MTA (Multi-Target

Application)

Page 21: SAP HANA Native Application Development

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

SAP Web IDE for HANA

Designed to use Git/GitHub as the primary source code repository

• Clone repository• Create repository• Load from local file

system

Page 22: SAP HANA Native Application Development

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

SAP Web IDE for HANA

Example of an MTA project• Sub-structures for

– db– js– Web

• Generates configuration files– .hdiconfig– package.json– mta.yaml

Page 23: SAP HANA Native Application Development

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

SAP Web IDE for HANA

Example of an mta.yaml configuration file

• Each micro-service is a separate module with its own configuration

• Requires section defines dependencies between local and global micro-services including service brokers

Page 24: SAP HANA Native Application Development

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

SAP Web IDE for HANA

Before you can deploy or consume HANA database content you must have an HDI service broker instance for your project

This service is then configured as a dependency in the mta.yaml

Page 25: SAP HANA Native Application Development

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

SAP Web IDE for HANA

You can then create one or more run configurations for any accessible end points

Page 26: SAP HANA Native Application Development

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

SAP Web IDE for HANA

• You can now deploy your application to the server

• First time requires a complete build and can take some time

• The runner details window shows you the status of the build/deploy

Page 27: SAP HANA Native Application Development

© 2015 SAP SE or an SAP affiliate company. All rights reserved. 27Public

SAP Web IDE for HANA

Debugging• First create a new

run configuration with the Debug enabled flag

• This will start the service with node.js having an open debug port

Page 28: SAP HANA Native Application Development

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

SAP Web IDE for HANA

Debugging• Next open the

debugger tool in the Web IDE

• Choose Attach• Configure the

application you want to attach to

• You must manually configure the debug port for your service (not the primary port)

Page 29: SAP HANA Native Application Development

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

SAP Web IDE for HANA

Debugging• Once attached, set

the breakpoint in your source code

Page 30: SAP HANA Native Application Development

© 2015 SAP SE or an SAP affiliate company. All rights reserved. 30Public

SAP Web IDE for HANA

Debugging• The next service

calls from your application which is running with the debug configuration will activate the interactive debugger in the Web IDE

Page 31: SAP HANA Native Application Development

Closing

Page 32: SAP HANA Native Application Development

© 2015 SAP SE or an SAP affiliate company. All rights reserved. 32Public

When?

• The new XS runtimes and infrastructure as well as HDI is planned to be generally available in SAP HANA SPS 11 and higher

• The same capabilities planned come to SAP HANA Cloud Platform at some later date

• The original XS runtime and repository remain a part of SAP HANA SPS 11 and beyond to provide 100% backwards capability

• The new runtimes and HDI will NOT be fully feature compatible with the old runtime at first• BI views, XSODATA, etc are missing features which will be added in future enhancement packages

• SAP Web IDE for SAP HANA will be technically implemented as an XS Advanced application. The development tools for the new runtimes and infrastructure will be preview status only in SPS 11. They will NOT be feature complete. You might be required to use external editors and command line tools to do development

• Migration tools are planned to get delivered at a later time for testing via SCN.

Page 33: SAP HANA Native Application Development

© 2015 SAP SE or an SAP affiliate company. All rights reserved. 33Public

Recommended usage

• SAP Recommends that customers/partners begin to evaluate the new capabilities with SPS 11

• If you are building a new application from scratch, you should consider doing so on the new capabilities and take it productive but work within the described boundaries

• Planned scope of available technologies for development with XS Advanced as of SPS11:• CDS, SQLScript and DDL for the development of DB artifacts (using text-based editors)• XSJS, NodeJS, Java, XSOData, SAPUI5 for application development (using tools or text based

editors)

• SAP Recommends that customers/partners do NOT immediately begin migrating applications to the new capabilities.

• A pilot project to explore the new capabilities for existing application is recommended• Waiting to productively convert existing applications until SPS 12 when more features and tools are delivered

is advisable

• The DevX/SAP Web IDE tooling is not productively supported yet

Page 34: SAP HANA Native Application Development

© 2015 SAP SE or an SAP affiliate company. All rights reserved. 34Public

Disclaimer

This presentation outlines our general product direction and should not be relied on in making a purchase decision. This presentation is not subject to your license agreement or any other agreement with SAP.

SAP has no obligation to pursue any course of business outlined in this presentation or to develop or release any functionality mentioned in this presentation. 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 document 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. SAP assumes no responsibility for errors or omissions in this document, except if such damages were caused by SAP intentionally or grossly negligent.

Page 35: SAP HANA Native Application Development

© 2015 SAP SE or an SAP affiliate company. All rights reserved.

Thank you

Contact information

Thomas JungSAP HANA Product [email protected]