Professional Documents
Culture Documents
Lifecycle Management
Lifecycle Management
Managing content in SAP HANA
SAP HANA content defined:
Not part of the core SAP HANA DB installation itself
Is delivered by SAP as part of SAP HANA optimized solutions
Is created in SAP HANA-based development projects
(partner, customer)
Sometimes called objects or artifacts
Content comprises all kinds of objects, for example:
Schemas and table definitions
Calculation views
Procedures and privileges
JavaScript, Java, and HTML
Roles and permissions
2016 SAP SE or an SAP affiliate company. All rights reserved.
Public
Lifecycle Management
Changes to the SAP HANA repository
Version control will be done in an external version
control system (e.g. Git/Gerrit repository)
The SAP 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
Public
Lifecycle Management
Vision
XSA runtime
LM
Public
Lifecycle Management
Status as of SPS 12
XSA runtime
LM
Application lifecycle management for SAP HANA XS, advanced model provides functions for installing
and updating individual software components of SAP HANA XS advanced.
To install and update software components in SAP HANA XS advanced, the xs install command is
available in the XS advanced command-line interface (CLI).
The installation logs can be checked with the command display-installation-logs.
Restriction: With SAP HANA SPS 11/12 the tool to assemble software components for XS advanced
is only available SAP-internally. Therefore, customers can only install XS advanced software
components delivered by SAP.
Customers can use the xs deploy command to install archives built within the SAP Web IDE for SAP
HANA.
Public
Lifecycle Management
Multi-target application
A multi-target application (MTA) is comprised of multiple software pieces (modules) which all share a
common lifecycle for development and deployment. These modules can be written in different
technologies and deployed to different targets on the same platform respectively but they all serve
(different aspects of) a particular purpose for the application users.
Development environment
Project
Versioning system
Version x,y
Runtime environment
Version x,y
Runtime dependency
2016 SAP SE or an SAP affiliate company. All rights reserved.
Public
Lifecycle Management
MTA creation
MTA sources
MTA archive
Source
module 1
type X
Builder
Module 1
type X
Source
module 2
type Y
Builder
Module 2
type Y
Source
module 3
type Z
Builder
Module 3
type Z
MTA
source
descriptor
Module 1
type X
MTA
Builder
Module 2
type Y
Module 3
type Z
MTA
deployment
descriptor
Public
Lifecycle Management
File parts
manifest.yml: Used for command-line push testing
mta.yaml: Used by SAP Web IDE for SAP HANA
mtad.yaml: Built automatically into the MTAR archive
and used by the Deploy/Install command. SAP Web IDE
for SAP HANA builds this file from your mta.yaml during
the project build step
SL_MANIFEST.XML: SAP-internal only for now used
for the additional packaging and software component
definition needed by the Install command
pom.xml and assembly if you have a Java module and/or
build with Maven
Public
Lifecycle Management
MTA creation from SAP Web IDE for SAP HANA (1/2)
1. Create MTA project
Public
Lifecycle Management
MTA creation from SAP Web IDE for SAP HANA (1/2)
4. Build and test modules
Public
10
Lifecycle Management
Support for cross-MTA dependencies
Provisioning of config data to outside of an MTA
Provider mta.yaml:
Consumer mta.yaml
_schema-version: "2.0.0
ID: com.sap.sample.mta.providerversion: 2.3.0
modules:
- name: provider
type: nodejs
provides:
- name: message
public: true # default = true
properties:
message: "Hello! This is a message provided by application
\"${app-name}\", deployed in org \"${org}\" and space \"${space}\"!"
_schema-version: "2.0.0
ID: com.sap.sample.mta.consumerversion: 0.1.0
modules:
- name: consumer
type: nodejs
path: node
requires:
- name: message
properties:
message: ~{message}
resources:
- name: message
type: configuration
parameters:
ID: com.sap.sample.mta.provider:message
version: ">=1.0.0"
target:
org: myorg
space: test
Public
11
Lifecycle Management
Support for service creation and binding parameters
Override or add top-level config entries in mta.yaml:
Public
12
Lifecycle Management
MTA miscellaneous features
Register service URIs:
Public
13
Thank you
Contact information:
open@sap.com
Public
15
Git
Changes to the SAP HANA repository
Version control will be done in an external
version control system (e.g. Git/Gerrit
repository)
The SAP 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
Public
Git
Goal: To provide Git server for XSA
Gerrit server (Open Source project led by Google)
Git server based on JGit
Access control
Code review workflow
OAuth authentication against UAA service
Public
Git
SAP Web IDE for SAP HANA
Designed to use Git/GitHub as
the primary source code
repository
Clone repository
Create repository
Load from local file system
Public
Git
Gerrit and Git service broker for XSA
XS Runtime
SAP HANA
Public
Git
Outlook Planned for beyond SPS 12
REST API for runtime authoring
Require developer OAuth scope
Public
Thank you
Contact information:
open@sap.com
Public
Migration
Migration of applications Overview
Motivation
Why migration?
New SAP HANA applications and development features
will only be delivered for SAP HANA XS, advanced model
Public
Migration
Migration of applications User management
User Management
User store outside of SAP HANA
Generic SAML2 provider
SAP HANA as a user store
Public
Migration
Migration of applications Security concepts
Security Concept of XSA
Scopes
Attributes
Role Template
Role Collection
Roles are assigned to role collections
Role collections are assigned to users
Public
Migration
Migration of applications Database artifacts
Database Artifacts
Storage
Defined outside of SAP HANA database
Created in SAP HANA via HDI
Container Isolation
Each app gets its isolated container
Synonyms
Method to break container isolation
Definition on table level
Public
Migration
More than just a repository change
Migration is a multi-step process
Convert modeled views to calculation views within the current repository
Migrate all design-time artifacts from the SAP HANA repository to Git
Convert database artifacts to new HDI syntax and file extensions
Deploy database artifacts via HDI into containers
Adjust security for HDI container concepts
Adjust consumption for HDI container concept
Convert XS layer artifacts to XSA (Node.js and XSJS compatibility adjustments)
Deploy XS artifacts as microservices
Data migration
Public
Migration
Process flow
Preparation
Migration
Adjustments
Prep of Source DU
Manual Adjustments in
Target Application Format
Manual migration of
Analytic views
Attribute views
Scripted calculation views
Public
Migration
Migration Assistant
Migration Assistant
Public
Migration
Migration Assistant Scope
Convert modeled views to calculation views within the current repository
Migrate all design-time artifacts from the SAP HANA repository to Git
Convert database artifacts to new HDI syntax and file extensions
Deploy database artifacts via HDI into containers
Adjust security for HDI container concepts
Adjust consumption for HDI container concept
Convert XS layer artifacts to XSA (Node.js and XSJS compatibility adjustments)
Deploy XS artifacts as microservices
Data migration
Public
Migration
Migration Assistant Migration process
Phase 1: Done by
app dev team
App DU1
App DU2
.
:
run
1
Make manual adjustments
based on generated files
and analysis results
App DUn
SAP HANA XSC System
2
generate
As defined in the
XSA documentation
xs2app
db
svc
web
resources
xsjs
lib
Phase 3: Done by
app dev team
Report (html)
10
Migration
Migration Assistant Tool report
Shows number of files per object type
Shows number of files per object successfully converted/copied/migrated
for XS Advanced
Show number of files per object type not (yet) migrated to XS Advanced
Due to missing functionality
Due to XS Classic XS Advanced incompatibility
Public
11
Migration
Example Migration Report Summary
Public
12
Migration
Example Migration Report File Statistics
Public
13
Migration
Example Migration Report Security Concept
Public
14
Migration
Example Migration Report Database Artifacts
Public
15
Migration
Example Migration Report XSJS
Public
16
Migration
Example Migration Report Unknown File Types or File Content
Public
17
Migration
Example Migration Report Objects Which Have Not Been Migrated
Public
18
Migration
Data migration: NOT covered!
App vers. XS Classic
19
Migration
Detailed status (1/2)
Calculation/Attributes/Analytic Views
Critical for the migration of almost all XS applications
Manual step to first convert to calculation views (see phase 1)
OData
Schema references removed
XSJS
Identifies code snippets that are not supported in the new XSJS runtime
Development effort for migration of some applications might be high due to security and conceptual changes
Public
20
Migration
Detailed status (2/2)
Translation
There are different i18n approaches that are hard to migrate automatically
Security
Significant manual effort might be required for application migration as the new XS infrastructure provides a
different security concept
Tool will support migration by providing an XS security report
Cross-Schema Access
Schema prefix removed wherever possible (exception: xsjs and xsjslib files)
Synonyms and synonym configuration generated
Public
21
Thank you
Contact information:
open@sap.com
Public
23
Week 5 Unit 4:
Look Ahead/Roadmap
Look Ahead/Roadmap
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.
Public
Look Ahead/Roadmap
A Comprehensive Portfolio for the Developer Persona
Business Needs
Create custom
applications
Extend SAP
applications
Business Benefit
Build applications that reflect the unique business processes and key innovations of your business
Customize user interfaces to your business process and terminology, thereby increasing end-user efficiency
Gain competitive advantage by focusing applications on the key value providers of your business
Fill gaps in standard applications that are specific to your business
Build custom analytics that give specific insights into your business
Customize user interfaces to your business process and terminology, thereby increasing end-user efficiency
Gain competitive advantage by focusing applications on the key value providers of your business
Fill gaps in standard applications that are specific to your business
Add customer-specific fields to database, services, and user interfaces extended to your key business needs
Reduce training and cost of ownership by adjusting applications to reflect your industry or business-specific terminology
and processes
Support development tools and debugging that work with the developer to reduce the time to deliver custom
development
Tools that support continuous integration and agile development reduce defects and increase the time to delivery
Code scanners and automated unit testing reduce the number of development bugs that reach productive systems
Developer tool optimization reduces the cost of development
XSA offers the all-in-one-box application server and database server by default, thereby providing a low cost of
ownership and making start of use easy
XSA scales independent of the SAP HANA database. It can run on lower-cost hardware and can scale to Internet scale
loads without directly increasing the cost of your SAP HANA-specific hardware
XSA can be installed in a DMZ or with a firewall between it and SAP HANA, providing multiple security options
Developer productivity
Architecture scalability
and security
Key Capabilities
Public
Look Ahead/Roadmap
Developer Persona Roadmap key themes and capabilities
Today (Recent SPS12)
Application Server
Planned Q3/2016
Planned 2017
Application Server
Application Server
Java 9
Developments Tools
App2App SSO
Developments Tools
Developments Tools
Database
Planned Q4/2016
Ongoing
3rd
Streaming Module
Database
Simpler language and improved security
HDI: Public synonyms, schema-local structured
privileges, text analysis and mining artifacts
CDS: Index Enhancements and Extensibility Model
Application Lifecycle Management
Git/Gerrit delivery
Software component and product installation and
update for XSA content via command line
Uninstall of SCVs and products via command line
Database
Initial XML and JSON document store support
Performance optimizations and enhancements
HDI: Consumption libraries, parallelization
enhancements, container groups
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
Look Ahead/Roadmap
Developer Persona Roadmap Application Server (1/2)
Today (Recent SPS12)
SAP Web IDE for SAP HANA will be technically
implemented as an XS Advanced application and
was delivered post SPS11
Planned Q3/2016
No SAP HANA platform shipment in Q3 2016
Ongoing
3rd
Planned Q4/2016
General
Planned 2017
OData Version 4 / SAP Fiori Smart Extensions
support
Java 9
Web Admin
Buildpack Admin
Services Admin
Web Admin
Domain Admin
Certificate handling
Buildpack caching
OData V2
Security
Java
XSJS
JavaScript runtime
SPNEGO authentication
X.509 authentication
JavaScript runtime
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
Look Ahead/Roadmap
Developer Persona Roadmap Application Server (2/2)
Today (Recent SPS12)
Planned Q3/2016
Planned Q4/2016
Planned 2017
Approuter
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
Look Ahead/Roadmap
Developer Persona Roadmap Development Tools
Today (Recent SPS12)
Installation via HDBLCM
Planned Q3/2016
No SAP HANA platform shipment in Q3 2016
Ongoing
3rd
Streaming
Planned Q4/2016
Planned 2017
Multi-space/org support
Java tooling
Text analysis
Java debugger
OData Explorer
Plan Viz
Replication editor
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
Look Ahead/Roadmap
Developer Persona Roadmap Application Lifecycle Management
Today (Recent SPS12)
Software component and product installation and
update for XSA application content via command
line, including dependency check and component
registration service
Planned Q3/2016
No SAP HANA platform shipment in Q3 2016
Ongoing
3rd
Planned Q4/2016
Planned 2017
Runtime authoring
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
Look Ahead/Roadmap
Developer Persona Roadmap Database; SQL
Today (Recent SPS12)
Check Constraints for Insert / Update
Planned Q3/2016
Planned 2017
Multi-Store Tables
Cloud Scalability
Security Innovations
XML Support
Planned Q4/2016
Ongoing
3rd
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
Look Ahead/Roadmap
Developer Persona Roadmap Database; SQLScript
Today (Recent SPS12)
Support global session variables
Planned Q3/2016
No SAP HANA platform shipment in Q3 2016
Planned Q4/2016
Performance Optimization
Query export
FOR EACH
Ongoing
3rd
SQLScript debugger
Function debugging
Break on error
Watchpoints
Planned 2017
Continue Optimization of Our Scalable &
Massively-Parallel Business Logic Processor for
Best Performance on OLTP and OLAP
Workloads Likewise
Scale-out optimization (e.g. dynamic plan re-routing)
Performance optimizations for scalar UDFs
Improved multi-statement optimizations
Extend Core Feature Set
Additional data structure (e.g. maps, matrices)
Native XML/JSON support
Print functionality in SQLScript artifacts
SIZE operator
Improve Supportability
EXPLAIN PLAN FOR CALL
Code scanner
Testing Framework
SQLScript Debugger
Improve Supportability
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
Look Ahead/Roadmap
Developer Persona Roadmap Database; HANA Deployment Infrastructure (HDI)
Today (Recent SPS12)
Deployment Process
Simulation mode
Planned Q3/2016
No SAP HANA platform shipment in Q3 2016
Ongoing
3rd
Planned Q4/2016
Deployment Process
Artifact Enhancements
Parallelization enhancements
Supportability
Supportability
Planned 2017
Security
Security
Artifact Enhancements
Artifact Enhancements
Public synonyms
Misc
Misc
Multi-DB support
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
11
Look Ahead/Roadmap
Developer Persona Roadmap Database; Core Data Services (CDS)
Today (Recent SPS12)
Index Enhancements
Planned Q3/2016
No SAP HANA platform shipment in Q3 2016
Ongoing
3rd
Planned Q4/2016
Planned 2017
Entities
General Enhancements
Extensibility Model
Views
TOP/LIMIT/OFFSET
Subqueries
General Enhancements
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
Thank you
Contact information:
open@sap.com
Public
14
Week 5 Unit 5:
Closing/Summary
Closing/Summary
Course Content
Course week 1: Introduction
Course week 2: Database Development
Course week 3: Application Server and UI Development
Course week 4: Node.js
Course week 5: Wrap-Up
Public
Thank you
Contact information:
open@sap.com
Public