DEV107 – Introduction to the SAP Web IDE for SAP HANA
Speakers Las Vegas, Sept 19 - 23 Thomas Jung
Bangalore, October 5 - 7 Abhishek Datta Gupta Gupta
Barcelona, Nov 8 - 10 Thomas Jung
Agenda XS Advanced Overview SAP Web IDE for SAP HANA Overview Demo – Demo – Walkthrough Walkthrough Roadmap/Look Ahead
Disclaimer The information in this presentation is confidential and proprietary to SAP and may not be disclosed without the permission of SAP. 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. 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, 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 SAP’s intentional or gross negligence. All forward-looking statements statements are subject to various risks risks and uncertainties that could cause actual results to differ 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.
XS Advanced Overview
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
XS Architecture Browser R
R
HANA XS Adv. (New in SAP HANA SPS 11)
SAP Web Dispatcher Application Router R
HTML5 App
R
XSJS Compt. R
XSJS App
Central Security Service
R
Node.js Node App
Tomcat / TomEE
R
HANA XS Classic (existing runtime still for several SPS levels)
Other Containers
Java App C++ App
OData (JavaScript) HANA Database OData (Java) XS Adv. Runtime Platform / HCP
R
User Account and Authentication
R
SAP HANA DI
R
R
SAP HANA Database
R
R
R
SAP Web IDE for SAP HANA Overview
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 SAP’s current offering.
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
The world we knew (XS classic) XSC
studio dev
model
repo
•
SAP HANA Studio for administration and development
•
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
•
Native development: UI + business logic + data modeling in SAP HANA
•
Deploy DUs
browser admin
Workbench
h c n e b k r o W
index server
t i p k c o C
… s p p a
XS Engine Unix
Cockpit
The new world (XS advanced)
•
Web and cloud centric
•
Scalable, PaaS-like architecture
•
Cloud Foundry-like application runtimes (Java, Node.JS, …); separate processes
•
Web-based tools for developers and administrators (no Eclipse support)
•
Development: SAP Web IDE + server-side Development Infrastructure (DI)
• •
XSA
browser Web IDE
Run-time tools
XSA
SAP HANA container isolation and activation: HDI Deploy MTA archives
Note: the XSA stack runs side by side with the XSC stack, in SPS11
admin
HDI
UAA etc.
Git DI
index server Unix
T T R
s p p a a v a J
s j . e s d p o p a N
Architectures compared XSA
XSC
studio dev
model
repo
browser admin
Workbench
h c n e b k r o W
index server
t i p k c o C
Web IDE
Cockpit
Run-time tools
admin
XSA … s p p a
XS Engine Unix
browser
HDI
UAA etc.
Git DI
index server Unix
T T R
s p p a a v a J
s j . e s d p o p a N
Slide 6, 11, 13: Changed layout
SAP Web IDE features
Slide 11: added bullet points Slide 12: changed layout, added bullet points
Cloud-ready
Browser based; server-side workspace & projects
create project
Multi-module applications
SAP HANA objects (CDS, modeling, SQLScript, …)
Node.js and XSJS modules
create modules
Git clone
import
HTML5, UI5 modules OData interfaces
Syntax sensitive editors, code assist, debug
edit
dev cycle
Git version control (commit, clone, push, pull, branch, …) Build services Debug, run, test (test-driven development) Package (MTA archive) => deploy productively
run / debug
build
package
deploy
Demo – Walkthrough
SAP Web IDE project wizard
modeler module (DB, JS, UI) wizards
debugger run configurations Version control
Text editor
SAP Web IDE for SAP 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 SAP HANA development tools and debuggers
SAP Web IDE for SAP HANA Templates cover major SAP HANA development: •
MTA (Multi-Target Application)
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
SAP Web IDE for SAP HANA Example of an MTA project •
Sub-structures for –
db
– js •
– Web Generates configuration files – .hdiconfig –
package.json
–
mta.yaml
SAP Web IDE for SAP 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
SAP Web IDE for SAP HANA You can then create one or more run configurations for any accessible end points
SAP Web IDE for SAP 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
SAP Web IDE for SAP 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
SAP Web IDE for SAP 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)
SAP Web IDE for SAP HANA Debugging •
Once attached, set the breakpoint in your source code
SAP Web IDE for SAP 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
HRTT – Adopts the Web IDE Design
HRTT – Space and Org aware
HRTT – Function Debugging
HRTT – Watchpoints
Logs Live View
Run Configurations – Don’t open Browser Window
Run Configuration – Run Application Script
Debug Console
MTA YAML client side validator
Roadmap and Look Ahead
SAP HANA Platform Developer Persona Roadmap – Development Tools
Today (Recent SPS12) Installation via HDBLCM Work toward feature parity with HANA Studio/Webbased Development Workbench Streaming
Planned Q3/2016 No HANA platform shipment in Q3 2016 On-going
3rd party
and IaaS certifications
Planned Q4/2016 Multi-space/org support Advanced Git capabilities
Planned 2017 Fiori project template and wizards SAPUI5 View WYSIWYG editor
Full support for graphical data models
Java Tooling
Text Analysis
Java Debugger
Fiori Launch Pad
OData Explorer
Create Remote Source
Plan Viz
Remote Source browsing
JavaScript: Debug running applications
Create Virtual Tables Flowgraph editor
CDS - code completion for catalog objects, Data Preview, Odata annotations in CDS
Replication editor
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
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
…
Further information Related SAP TechEd sessions: DEV100 – Overview of SAP’s 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 – What’s 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 www.sap.com
SAP HANA and In-Memory Computing developers.sap.com
SAP Education and Certification Opportunities www.sap.com/education open.sap.com/hana4 & open.sap.com/hana5
SAP HANA Developer Center hana.sap.com
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
Feedback Please complete your session evaluation for DEV107
Contact information: Thomas Jung Chief Product Expert
[email protected]