• Save
Develop Applications on Integrated SUSE and SAP Platforms
Upcoming SlideShare
Loading in...5
×
 

Develop Applications on Integrated SUSE and SAP Platforms

on

  • 277 views

Develop Applications on Integrated SUSE and SAP Platforms

Develop Applications on Integrated SUSE and SAP Platforms

Statistics

Views

Total Views
277
Views on SlideShare
276
Embed Views
1

Actions

Likes
0
Downloads
0
Comments
0

1 Embed 1

http://www.slideee.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Develop Applications on Integrated SUSE and SAP Platforms Develop Applications on Integrated SUSE and SAP Platforms Presentation Transcript

  • April 2014 Develop Applications on Integrated SUSE and SAP Platforms Build SAP HANA Apps in the Framework of the SAP and SUSE Campaign Please dial-in NOW to connect to the audio: use the dial-in telephone number in the invite that you have received by email. The participant code is visible in the chat window.
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 2 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.
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 3 Today’s Speakers Thomas Jung Director, SAP HANA Product Management Markus Guertler Architect & ISV Technical Manager, SUSE LINUX, Novell GmbH Clemens Suter- Crazzolara Platform Ecosystems, SAP AG
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 4 Agenda SAP HANA Development: Overview  Platform  SAP HANA Extended Application Services (XS) SAP HANA XS Technical Architecture SAP HANA Studio Development Perspective Browser Based Development Tools SAP HANA Native Development Model Introducing River (time permitting) SUSE Technology Overview Advantages for partners (as part of SAP PartnerEdge program for Application Development ) Questions & answers
  • What is SAP HANA?
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 6 What is SAP HANA? HW technology innovations 64 bit address space 100 GB/s data throughput Dramatic decline in price/performance Multicore architecture Massive parallel scaling with many blades Row and column store Compression Partitioning No aggregate tables Insert only on delta SAP SW technology innovations Convergence of improved hardware economics and technology innovations enables SAP to deliver on its vision of the real-time enterprise with in-memory business applications
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 7 Columnar Storage Do More With Less (Space) • Compression (by factors) • Read relevant data only • Main memory structures • Super-efficient algorithms • Insert only works fine • Adding fields is easy Column StoreRow Store Row 4 Row 3 Row 2 Row 1 Row 4 Row 3 Row 2 Row 1 Doc Num Doc Date Sold- To Value Status Sales Org Doc Num Doc Date Sold- To Value Status Sales Org
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 8 DB Layer Code Traditional: “Data to Code” New Model: “Code to Data” Massive data copies creates bottleneck Transfer Minimum Result Set Overview Traditional Programming Model vs. New Programming Model Application LayerApplication Layer DB Layer Code
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 9 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
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 10 SAP HANA Client Development model for SAP HANA based native applications 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 Presentation logic Control flow logic Calculation logicData XS
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 11 An application‘s foundation Presentation logic Control flow logic Calculation logic Data
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 12 Performance gains with HANA Presentation logic Control flow logic Calculation logic Data HANA
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 13 Modern clients handle presentation logic Presentation logic Control flow logic Calculation logic Data HANA Client
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 14 Push the control flow down! Presentation logic Control flow logic Calculation logic Data Client HANA
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 15 Push the control flow down! Presentation logic Control flow logic Calculation logic Data Client HANA
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 16 The essence of HANA Application Services (XS)! Presentation logic Control flow logic Calculation logic Data Client HANA XS
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 17 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) Presentation logic Control flow logic Data Client: Browser or Mobile SAP HANA XS Calculation logic
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 20 vs. native SAP HANA applications DBMS Data application server app code 3-tier client UI rendering Control DB I/F Display rendered UI Queries HANA Data XS services Native SAP HANA client Control & Queries UI rendering app code Traditional 3-tier applications (Java, ABAP)
  • SAP HANA Application Services Architecture
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 22 Lightweight architecture
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 23 Architecture in more detail: SAP HANA XS Engine Process
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 24 End to end architecture
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 25 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 Node 1 Node 2 Node 3 Node 4 Standby Node SharedStorage XS XS XS XS XS SAPWebDispatcher
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 26 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) Node 1 Node 2 Node 3 Node 4 Standby Node SharedStorage XS XS XS XS XS SAPWebDispatcher
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 27 Authentication for XS XS Authentication Options: - Basic Authentication - Form-based authentication - SSO (Single-Sign On) via SAP Logon Tickets - SSO via X.509 (standard for Public Key Infrastructure) - SSO via SAML 2.0 (Security Assertion Markup Language) - SSO via SAML2 also for XHR (ajax) - NEW for SPS 07 - SSO via Kerberos - NEW for SPS 07 - Outbound SSO via SAP Assertion Tickets - NEW for SPS 07
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 28 Job Scheduling • HANA now contains a Job Scheduler which can run XSJS and SQLScript • New Development artifact: XSJOB • Extension to the Admin tool to maintain job definitions and view job logs
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 29 Job Scheduling – XSCRON syntax • CRON-like syntax for controlling job timings and repetitions
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 30 Content lifecycle management in SAP HANA 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  Attribute views, analytic views and calculation views  Procedures and privileges  SQLScript, JavaScript and HTML  Roles and permissions
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 31 Content lifecycle management in SAP HANA The repository The repository and lifecycle management of objects  Native feature of SAP HANA providing “backend” functionality for content lifecycle management  Used to manage various types of design time objects (Content)  During deployment/activation the design time objects become runtime objects (Catalog) Key functions provided by the repository:  Object versioning  Namespace concept  Support for server-based development SAP HANA Studio Modeling Perspective run time design time SAP HANA content
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 32 Delivery Unit Packages Views, Procedures, Privileges, etc. Content lifecycle management in SAP HANA Transport of changes in a typical basic transport landscape SAP HANA Development System SAP HANA QA/Test System SAP HANA Productive System Delivery Unit Packages Views, Procedures, Privileges, etc. Delivery Unit Packages Views, Procedures, Privileges, etc.
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 33 SAP HANA Application Lifecycle Management (HALM) Use cases  New SAP customers without ABAP-footprint  SAP customers with the need for a lightweight transport management Simple and easy  Native SAP HANA transport tool, which can be used without additional systems  Lightweight and easy-to-use tool  Easy setup and minimal configuration effort Constraints  No central management of extended system landscapes  No transport synchronization to non-HANA content  No integration in SAP process tools (ChaRM, QGM)
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 34 Change Tracking • Optional mode for managing content in a promote-to-production system landscape (activate in HALM) • Automatic recording of changes to a change list • Allows a developer (or team) to work on a development artifact and release the “change” only when the artifact is ready to promote to the test system • Provides more precise control over which objects get transported from the development system
  • SAP HANA Studio Development Perspective
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 36 SAP HANA Studio Development Perspective Goal: Provide an extensible and integrated development environment supporting all development artifacts necessary 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.
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 37 SAP HANA Studio Development Perspective • Utilizes standard Eclipse projects – HANA Specific, General SAP Projects, and even 3rd party ones
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 38 SAP HANA Studio Development Perspective • Standard Eclipse Team Provider interface for storing all objects into the SAP HANA Repository
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 39 SAP HANA Studio Development Perspective • HANA Specific Editors and Debugger Enhancements (for example: XSJS – Server Side JavaScript)
  • SAP HANA Studio Development Perspective Workflow
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 41 Create a new Eclipse Project from within SAP HANA Studio
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 42 This is a “true” Eclipse Project persisted on the developers local machine
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 43 The project is then linked to the SAP HANA Repository
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 44 After linked to a Repository, specific HANA packages are added as folders
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 45 The SAP HANA Repository is then treated like Git or Perforce and Eclipse checks out the content for editing
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 46 There is also an SAP HANA Repository Browser – entire projects can be checked out from there as well
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 47 The Repository content is copied to the developer’s machine and edited locally and offline
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 48 Standard Eclipse editors as well as special SAP provided editors are then utilized
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 49 Upon saving in any Eclipse editor, a commit back to the SAP HANA Repository is done automatically
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 50 Full source merge, rebase, conflict resolution, and version management is built in
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 51 Changes are inactive when first committed; inactive testing is supported as of SP7
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 52 We also have direct interaction with other Eclipse based tools (such as ABAP Development Tools and SAPUI5)
  • SAP HANA Browser Based Development Tools
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 54 SAP HANA Web-based Development Workbench • SP6 introduced two separate browser based IDEs • SP7 merges both of these back together into a single application with three sub-tools: • Editor • Catalog • Security
  • SAP HANA Web-based Development Workbench Editor
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 56 SAP HANA Web-based Development Workbench Editor • completely browser based IDE for lightweight creation and editing of development objects and debugging without the need for SAP HANA Studio • Direct URL: /sap/hana/xs/editor/
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 57 SAP HANA Web-based Development Workbench Editor • Access to the full SAP HANA Repository in a browser • Create, delete, and rename packages and files
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 58 SAP HANA Web-based Development Workbench Editor • Code Editors with • Syntax Coloring • Code Folding • Client side and server side checks • No need to check out content – direct editing and activation upon save
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 59 SAP HANA Web-based Development Workbench Editor – Application Templates • 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
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 60 SAP HANA Web-based Development Workbench Editor – Direct Test • Test html pages, xsjs, and xsodata services directly from the editor in the browser • Including special mobile device emulation modes for testing
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 61 SAP HANA Web-based Development Workbench Editor – XSJS Debugging Support • Set Breakpoints from the editor • Interactive server side debugger running in-place in the browser • View and change variable values
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 62 SAP HANA Web-based Development Workbench Editor – Versions • Access to version management of objects • Two way comparison editor • Select any two server versions for comparison
  • SAP HANA Web-based Development Workbench Catalog
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 64 SAP HANA Web-based Development Workbench Catalog • Also access the SAP HANA Catalog • View Tables, Views, Procedures, Functions, etc and their Content • Direct URL: /sap/hana/xs/catalog/
  • SAP HANA Web-based Development Workbench Security
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 66 SAP HANA Web-based Development Workbench Security • Also access User and Role Details • Assign roles to users and perform basic user administration tasks • Direct URL: /sap/hana/xs/security/
  • SAP HANA Web-based Development Workbench Trace
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 68 SAP HANA Web-based Development Workbench Trace • Access to the developer centric server trace files • Direct URL: /sap/hana/xs/trace/
  • SAP HANA Native Development Model
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 70 Development model – general rules SAPUI5 UIS XSJS XSODATA SINA XSXMLA CDS/HDBDD SQLScript SQL Views AFL HDBTable HDBRole • UI Rendering completely in the Client • Server-side procedural logic in JavaScript • All artifacts stored in the SAP HANA Repository •
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 71 Development model Data Intensive Logic • SQLScript / SQL • HANA Views • Attribute • Analytical • Calculation • Application Function Library (AFL) • Business Function Library (BFL) • Predictive Analytics Library (PAL) SAPUI5 UIS XSJS XSODATA SINA XSXMLA CDS/HDBDD SQLScript SQL Views AFL HDBTable HDBRole
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 72 Overview What? SQLScript is  An interface for applications to access SAP HANA  Extension of ANSI Standard SQL  Language for creating stored procedures in HANA  Declarative Logic  SELECT queries  Calculation Engine(CE) functions  Orchestration Logic  Data Definition Language(DDL)  Data Manipulation Language(DML)  Assignment & imperative logic
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 73 Overview Why? Main goal is to allow the execution of data intensive calculations inside SAP HANA Two reasons why this is required to achieve the best performance:  Eliminate data transfer between database & application tiers  Calculations need to be executed in the database layer to get the maximum benefit from SAP HANA features such as fast column operations, query optimization and parallel execution.
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 74 Overview Advantages Compared to plain SQL queries, SQLScript has the following advantages:  Returns multiple results, while a SQL query returns only one result set  Complex logic can be broken down into smaller chunks of code. Enables modular programming, reuse and a better understandability by functional abstraction. For structuring complex queries, standard SQL only allows the definition of SQL views. However, SQL views have no parameters  SQLScript supports local variables for intermediate results with implicitly defined types. With standard SQL, it 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
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 75 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) Presentation logic Control flow logic Data Client: Browser or Mobile SAP HANA XS Calculation logic Overview Application Development Technologies
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 76 DB Layer Code Traditional: “Data to Code” New Model: “Code to Data” Massive data copies creates bottleneck Transfer Minimum Result Set Overview Traditional Programming Model vs. New Programming Model Application LayerApplication Layer DB Layer Code
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 77 Overview SQLScript Code Example BEGIN ... -- Query 1 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 PCs Products Q3 Q4 Q2 Q1
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 78 Overview Parallel Processing SELECT statements are executed in parallel unless:  Any local scalar parameters and variables are used in the procedure  Any read/write procedures or DML/DDL operations are executed  Any imperative logic is used within the procedure, such as IF statements of FOR loops  Any SQL statements are used that are not assigned to a intermediate variable or parameter
  • Wizard, Editor & Viewer
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 80  “Stored Procedure” under “Database Development”  Two file formats  .hdbprocedure is the new artifact type which will be the recommended file format moving forward.  .procedure is still supported, but has been deprecated and eventually will be removed. Wizard, Editor & Viewer Stored Procedure Wizard
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 81 Wizard, Editor & Viewer Procedure Templates  Create procedure templates(.proceduretemplate file)  Template parameters can be used as placeholders  Consumable from Stored Procedure wizard dialog, currently only supported by .procedure file format
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 82  Procedures based on templates inherit the template parameters  Changes to templates are reflected in the consuming procedures Wizard, Editor & Viewer Procedure Templates
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 83 Wizard, Editor & Viewer Editor Integration with SAP HANA Development Perspective  Source code based editor  Client side syntax checking  Code hints  Syntax highlighting
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 84 Wizard, Editor & Viewer Procedure Code Breakdown  Schema definition – developer can define which schema in which the run-time object of the procedure will be created
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 85 Wizard, Editor & Viewer Procedure Code Breakdown  Package hierarchy and procedure name – contains the complete package hierarchy as well as the name of the procedure, separated by double colon(::)
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 86 Wizard, Editor & Viewer Procedure Code Breakdown  Input/output parameter definition – developer can define both input parameters with default values as well as output parameters. Parameters can reference simple types, or global types defined via CDS
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 87 Wizard, Editor & Viewer Procedure Code Breakdown  Metadata declarations: developer can set language(SQLScript/R), security(invoker/definer), default schema and read/write access
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 88 Wizard, Editor & Viewer Procedure Code Breakdown  Script body – developer writes the body of the script between the BEGIN and END statements
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 89  Procedures in the catalog can now be viewed in the SQLScript editor in read-only mode.  Allows for setting/removing of breakpoints within the runtime object. Wizard, Editor & Viewer SQLScript Procedure Viewer
  • Debugger
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 91 Debugger Debug Perspective  Resume/Terminate  Variable evaluation  Breakpoint management  Break on break-points  Basic step debugging
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 92  Define procedure to be debugged  Debug both repository and catalog procedures Debugger Debug Configuration
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 93  Debug with input parameters Debugger Debug Configuration
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 94 Debugger External Debugging  Attach to running session  By connection ID  By application user ID
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 95 Debugger Debug Compilation Options  Full debug compilation mode  Debug any procedure within the call stack
  • SQLScript Language Features
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 97 SQLScript Language Features Declarative Logic  Allows the developer to declare the data selection via SELECT or CE(Calculation Engine) functions  Developer defines the what  Engine defines the how and executes accordingly  Massive parallelized
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 98 SQLScript Language Features Imperative Logic  Allows developer to control the flow of the logic within SQLScript.  Scalar variable manipulation  DDL/DML logic  WHILE loops  Branching logic based on some conditions, for example IF/ELSE  Executed exactly as scripted, procedurally  No parallel processing
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 99 SQLScript Language Features Arrays  Allows the developer to define and construct arrays within SQLScript  Set elements  Return elements  Remove elements  Concatenate two arrays  Turn array into a table  Turn a column of a table into an array  Return cardinality of an array
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 100 SQLScript Language Features Dynamic Filtering  Allows developers to apply a dynamic WHERE clause to SELECT statements  Both database tables and intermediate table variables are supported
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 101 SQLScript Language Features Exception Handling  Allows developer to handle SQL errors gracefully  For example, handle duplicate insertion and pass message to caller
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 102 SQLScript Language Features Cursors  Allows developers to iterate over a result set and perform row-based processing and calculations.
  • User Defined Functions(UDF)
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 104 User Defined Functions Overview Language used within the body is SQLScript, no other languages are supported Functions are read-only, side effect free Two types:  Table User Defined Function  Scalar User Defined Function
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 105  New repository artifact(.hdbtablefunction) and wizard  Currently a simple text editor, more robust editor features are planned for a future support package User Defined Functions Table UDF
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 106 User Defined Functions Table UDF  Can have any number of input parameters  Returns exactly one table  Table operations are allowed within the body  Consumed in the FROM clause of a SELECT statement
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 107  New repository artifact(.hdbscalarfunction) and wizard  Currently a simple text editor, more robust editor features are planned for a future support package User Defined Functions Scalar UDF
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 108 User Defined Functions Scalar UDF  Can have any number of input parameters  Can return multiple values  Expressions are allowed within the body  No table operations such as CURSOR, CE functions or Array operations  Input parameters can not be table type  Consumed from the field list or the WHERE clause of the SELECT statement
  • Triggers
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 110 Triggers Overview  Special type of stored procedure that automatically executes when an event occurs in the database server, for example upon INSERT 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
  • R Language Integration
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 112 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 -  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 Language What is Open Source R
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 113 Join OP ROP OLAP OP Calc. Engine R External Packages (Forecasting, Parallelism, statistics, etc.) RClient SAP RHANA Package Send data and R script NewDB Space OpenSource R Space 1 3 NewDB R Integration Open Source R 2 Run the R scripts Get back the result from R to SAP HANA R Language Integration with HANA Database
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 114 Development model Repository Representation of Catalog Objects • Schemas: HDBSchema • Tables: HDBTable • Views: HDBView • Structures: HDBStructure • Sequences: HDBSequence • Roles: HDBRole SAPUI5 UIS XSJS XSODATA SINA XSXMLA CDS/HDBDD SQLScript SQL Views AFL HDBTable HDBRole
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 115 Development model CDS – Core Data Services • Data Definition Language • Query Language • Expression Language SAPUI5 UIS XSJS XSODATA SINA XSXMLA CDS/HDBDD SQLScript SQL Views AFL HDBTable HDBRole
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 116 CDS/HDBDD Syntax Changes - Associations • Associations define relationships between Entities (tables) • Not yet integrated into the database/SQL but can be referenced when defining views within the same CDS object
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 117 CDS/HDBDD Syntax Changes - Views • CDS syntax expands to include the definition of views • Views can utilize the defined associations between entities
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 118 CDS/HDBDD Graphical Editor • Added graphical representation of the HDBDD Entities and their associations • Graphical mode is ready only. All changes made to the source code editor • Navigation into the source editor from the graphical display
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 119 Development model XSODATA • Low coding OData REST service generation framework • based upon existing tables and views • Create/Update/Deletion operations support added in SPS 06 SAPUI5 UIS XSJS XSODATA SINA XSXMLA CDS/HDBDD SQLScript SQL Views AFL HDBTable HDBRole
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 120 OData JavaScript Exits – New in SPS 07 • Processing exits can reference xsjslib files and specific JavaScript functions • The database connection and temporary tables with the before and after values are passed to this function • Particularly useful for server-side validations (but open for other use cases too)
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 121 Development model Server Side JavaScript (XSJS) • Light weight procedural logic • Openness • Reuse • One Language – Client and Server Side • Widespread Knowledge SAPUI5 UIS XSJS XSODATA SINA XSXMLA CDS/HDBDD SQLScript SQL Views AFL HDBTable HDBRole
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 122 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
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 123 Introduction Demand and requirement Growing demand for  business insight everywhere on any device  business UIs following known End User Paradigms  applications with native look & feel  high client side interactivity and performance  seemless integration of modern web standards and functionality (Social media, web 2.0, …)
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 124 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) 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
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 125 Key capabilities Features and benefits Eclipse-Based Designtime Enterprise Readiness Well known and easy to learnTimeless SAP Data Consumption Great Productivity Unmatched Extensibility Powerful Theming & Branding Any Screen on Any Device Cutting-Edge Controls Based on STANDARDSFoster INNOVATIONDelight USERS Openess & FlexibilityFast Release CyclesEfficiency & Performance
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 126 Key capabilities Features and benefits 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 Built with Leading Web Technologies jQuery CSS3 OData LESS D3.js ARIAOpenAJAXHTML5
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 127 Key capabilities Development environment Homogeneous Set of Eclipse Tools and Editors  Small learning curve for web developer  UI Screen & Application development  HTML5 templates support  Shipped via SAP release train for Eclipse (SRTE)  NWDS support  Outlook: − WYSIWYG Design of HTML5 Applications − Web based IDE
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 128 Architecture overview SAPUI5 components Controls jQuery.UI SAPUI5 Libraries SAPUI5 Core jQuery (Static) Web Server SAP jQuery Plug-ins Event Resources Device LoggerUtils UI Data Binding Control Base Render Manager Themes Mobile Desktop Mobile Desktop Resource Handler (optional)  Optional server component  Core JS Framework including jQuery  Extension libraries – Controls – Themes  “Helper” assets like e.g. – Less – Code minimizer jQuery Mobile
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 129 The SAP HANA repository • Object management, versioning and transport • Software component delivery and patching • Built-in support for translatable texts • Support for server based development
  • Introducing SAP River TechEd CD103, 2013
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 131 Creating an application T1 T2 T3
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 132 Creating an application T1 T2 T3 V1 V2 cv
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 133 Creating an application T1 T2 T3 V1 V2 data model (DB) cv sp trigger
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 134 business logic (MVC) Creating an application T1 T2 T3 V1 V2 data model (DB) cv sp control trigger
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 135 business logic (MVC) Creating an application T1 T2 T3 V1 V2 data model (DB) cv sp control trigger access control (RBAC)
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 136 business logic (MVC) Creating an application data model T1 T2 T3 V1 V2 data model (DB) cv sp control trigger SQL over xDBC access control (RBAC)
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 137 business logic (MVC) Creating an application data model T1 T2 T3 V1 V2 data model (DB) cv sp control view trigger OData over HTTP SQL over xDBC access control (RBAC)
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 138 business logic (MVC) Creating an application data model T1 T2 T3 V1 V2 data model (DB) app mob app cv sp control view trigger client OData over HTTP SQL over xDBC access control (RBAC)
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 139 Creating an application, using SAP River T1 T2 T3 V1 V2 data model River cv sp business logic trigger app mob app client OData over HTTP access control Fiori, UI5
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 140 SAP River • A development environment for rapidly building complete SAP HANA native applications – Professional Developers (initial focus) – Casual Developers  Integrated program specification of the data model, business code and access control enables accelerated development  River interoperates and cross-compiles into native HANA objects (tables, views, procedures …)  The data model only exists in the data-base, no ODBC-like connection, data copying or ORM
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 141 HANA XS development model 1. Develop & Share 2. Activate & Test 3. Deploy HANA DB activate Activation DB objects SScript OData Auth XSJS roles River compiler stored procedures tables views package & deploy studioRiver Editor (on-premise) browserRiver web Editor (Cloud) browser Studio Repository .rdl business app developers .rdl workspace, save HANA based development Object management & versioning Delivery and patching
  • The SAP River Language
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 143 Demo scenario: "River Airlines" River Airlines Reservation System  List all flights  Book a seat  … Implementation Flight flight id, from/to, list of seats Passenger passenger details, flight & seat reservation Seat status City
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 144 Entities and associations: the data model entity Flight { key element flightId: String(8); element flightNum: String (3); element cityFrom: association to City; element cityTo: association to City; element depDate: LocalDate; element depTime: LocalTime; element flightSeats: association[0..*] to Seat via backlink flight; } entity Seat { key element flight: association to Flight; element id: SeatNum; element isExitRow: Boolean default false; element Status: enum {free; reserved;}; } Primitive types, enumerations, structured types keys Associations Default and calculated values  Use "E/R modeling" to define your data model – Entities correspond to database tables – Associations describe relations between tables
  • Image: iStockPhoto, licensed Demo: Entities
  • 146© 2013 SAP AG or an SAP affiliate company. All rights reserved. https://3im.asia.sap-river.com/river/ @OData application MyFirstRiverApp { // ----------------------------------------------- Data model // Flights travel between cities and have seats // Passengers book seats on flights entity Flight { key flightId: String(8); flightNum: String(3); opened: Boolean default false; depCity: association to City; arrCity: association to City; depDate: UTCTimestamp; depTime: LocalTime; planeCode: String(10); seatList: association[0..*] to Seat via backlink flight; } entity Seat { flight: association to Flight; rowNum: Integer; seatType: SeatType; seatLetter: String(1); isExitRow: Boolean default false; seatStatus: SeatStatus; } entity Passenger { flight: association to Flight; passengerName: String(35); passengermail: String(35); assignedSeat: association to Seat; } entity City { cityCode: String(3); cityName: String(35); } type SeatType: String(6) enum { window = 'Window'; middle = 'Middle'; aisle = 'Aisle'; } type SeatStatus: String (15) enum { free; reserved; }; } // riverflights
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 147 Actions: the business logic 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  Actions describe the application's business logic – Local variables (scalar, streams) – Control statements (if, foreach, apply…) – Integrated SQL queries
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 148 Extended queries 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; } } – Use entity associations naturally in queries: extending SQL! = __temp16 = select T1. … from Flights as T0 inner join "flights.Seat" as T1 on (T0."flightId" = "T0:flightSeats"."flight.flightId") where "FlightId" = 12345; __retval__ = select T2. … from :__temp16 as T2 where T2."seatStatus" = 'free'; __FlightId Status FlightId SeatNum id Flight temp16 Seat
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 149 Access control role Dispatcher; 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 backlink flight; } action OpenNewFlight() accessible by Dispatcher { … } entity Seat { …… action save() accessible by Flight; …  Define roles  CRUD and call access privileges  Assign run-time users to roles
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 150 Interoperability entity employee { 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/quotes'); breakouts: inline JavaScript or SQlScript alias abstraction view Call XS JS directly
  • In Summary
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 152 The SAP HANA Programming Model 1. SAP UI5-based design language and tools for clients 2. OData: universal, standard web-based data interface 3. SAP River: new XS native application development environment: use a single integrated language for data modeling, business logic and access control o Eliminates data model duplication – no ORM o Interoperates with and compiles into other SAP HANA native development objects for ultimate flexibility / reuse mobile Entity Data Model HANA SAP River browsers client apps OData
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 153 More About River SAP River is part of SAP HANA SPS7 To learn more, or to participate in the SAP River Early Adoption Program:  Please contact SAPRiver@sap.com  Check out SAP River at http://SAP-River.com Thank you!
  • Wrap Up
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 155
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 156 Further Information SAP Education and Certification Opportunities HANA Academy openSAP Course Watch SAP TechEd Online www.sapteched.com/online SAP Public Web SAP HANA SAP HANA Developer Center SAP HANA Developer Online Help
  • Appendix: SAP HANA UI Integration Services Overview and roadmap
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 158 Agenda SAP HANA UI Integration Services Using SAP HANA UI Integration Services Roadmap Summary
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 159 Trends and expectations in the market 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 Global trends  Cloud  Mobile  Social  Information (big data) Development  Emergence of SAP HANA platform for in- memory, high-performance applications  Agility, fast innovation cycles  Developer efficiency and reduced TCD  Consistency across applications  Open standards and open source
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 160 Business perspective Addressing the needs of various business roles  Launch sites and overview dashboards with analytics or business applications to quickly analyze business data in a central, personalized work environment  Drill down into details if needed  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 & services  Efficiently develop high-performance, interactive applications based on SAP HANA leveraging core services End user Designer Developer Use & personalize Configure & enhance Develop
  • SAP HANA UI Integration Services Overview
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 162 SAP HANA UI Integration Services Value Proposition With SAP HANA UI Integration Services, developers and designers can easily create and design application sites based on HANA applications through efficient development using standardized services and consistent UI patterns to support end-to-end business scenarios with harmonized user experience across applications.  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
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 163 Benefits  Consistent user interface and state-of-the-art user experience  Unified access point to assigned sites and applications  Options to personalize preferences  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) development 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 HANA studio  Create and manage all artifacts directly from SAP HANA studio and repository  Allow the business developer to focus on the business apps End user Developer Designer
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 164 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  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 HANA Platform UI Integration Services Sites & navigation Properties Personali- zation Eventing Context Widget catalog Detailed information about the UI services and APIs are described in the “SAP HANA Developer Guide” (http://help.sap.com/hana_platform)
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 165 End user perspective Quick access to interactive application sites Native HANA application wrapped as widget Application site with interactive widgets Full flexible page layout Flexible navigation based on the user’s roles
  • SAP HANA UI Integration Services End-to-end scenario for using UI Services
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 167 Creating a native SAP HANA (XS) application and application site Development process overview Developer Designer End User Develop and enrich native applications leveraging UI services Create application site in HANA studio with full support 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 application site Personalize the site
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 168 SAP HANA native applications development flow Detailed information for developers is available in the “SAP HANA Developer Guide” via http://help.sap.com/hana_platform • DB tables • Analytical objects • Data restriction 1. Define data artifacts • Control flow logic • Data services • Calculation logic 2. Implement business logic • Shell • Navigation • Theming • … 3. Implement user interface
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 169 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  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
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 170 Developer perspective Integrated development environment in SAP HANA studio Creation wizard for application sites and widgets Application site Widget Editor for using UI services API in your code
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 171 Designer perspective Intuitive design environment for managing application sites Web-based editor for creating and organizing application sites and content Widget catalog Standalone native application wrapped as widget Application site Full flexible page layout Manage site layout Manage navigation structure Manage site properties Adding widgets to the site
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 172 Step-by-step  Begin the UI implementation with a UX wireframe describing the entire application and site structure  Should include all required screens and the entire interaction flow Define UX mockup Put it all together and launch! Design complete application site Import or develop widgets Identify UI components
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 173 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 Put it all together and launch! Design complete application site Import or develop widgets Identify UI components Search box widget Table Widget Details Widget Pie Chart Widget Navigation Bar (Shell) Navigation Bar (Shell) Exact Parameter Selector Widget Bar Chart Widget
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 174 Step-by-step  Build UI components as widgets directly from the HANA native IDE (HANA studio)  Use third party widgets for selected components  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 Define UX mockup Put it all together and launch! Design complete application site Import or develop widgets Identify UI components
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 175 Step-by-step Define UX mockup Put it all together and launch! Design complete application site Import or develop widgets Identify UI components Table Widget Details Widget Search box widget Pie Chart Widget Exact Parameter Selector Widget Bar Chart Widget Personalizable attributes Context attributes in URL Widget interaction 3rd party widget Widget interaction Customizable widget properties
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 176 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, 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 Define UX mockup Put it all together and launch! Design complete application site Import or develop widgets Identify UI components
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 177 Step-by-step Define UX mockup Put it all together and launch! Design complete application site Import or develop widgets Identify UI components Adjust site hierarchy and manage pages Add widgets from gallery Pixel perfect layout definition Customize widgets (width, properties)
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 178 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 Put it all together and launch! Design complete application site Import or develop widgets Identify UI components
  • SAP HANA UI Integration Services Roadmap
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 180 Planned InnovationsToday Future Direction SAP HANA UI Integration Services Roadmap End user  Easy access to and navigation between (native) applications Designer  Embedded WYSIWYG design environment 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 Core Services  Additional services supporting developer scenarios, e.g. navigation, branding, layout personalization in the shell 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 Future enhancements  Extension of the developer story to an integration point for end users on SAP HANA stack  Integration of SAP HANA and non- HANA applications  Service integration with other SAP solutions, e.g. SAP JAM  Usage of smart, contextual services to provide the right content in the right context to end users This is the current state of planning and may be changed by SAP at any time. 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 HANA SP6
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 181 SAP HANA UI Integration Services What’s new in SAP HANA SPS7  Enhanced Catalog Services allowing to retrieve non-widget content  Widget Directory leveraging the new catalog service enhancements  New permissions mechanism on Application Sites  Introduction of a new navigation service  Supporting the Golden Reflection Theme and the new Blue Crystal Theme  Demo content available as part of the SHINE demo package
  • Summary Roadmap
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 183 Summary With SAP HANA UI Integration Services, developers and designers can easily create and design application sites based on HANA applications through efficient development using standardized services and consistent UI patterns to support end-to-end business scenarios with harmonized user experience across applications. SAP HANA XS UI Integration Services Page building Properties Personali- zation Eventing Context Widget catalog  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
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 184 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 4) Learn more by reading the comprehensive developer guide and latest enhancements 5) Share your feedback with the SAP HANA developer community
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 185 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 Developer Information SAP HANA Developer Center http://scn.sap.com/community/developer-center/hana and http://developers.sap.com/hana SAP HANA Help Center http://http://help.sap.com/hana_platform (Release Notes, Developer Guide) SAP HANA Academy http://academy.saphana.com / http://www.saphana.com/docs/DOC-3123 SAP HANA Developer Edition http://scn.sap.com/docs/DOC-31722 OpenSAP courses https://open.sap.com
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 186 SAP and SUSE 15 successful years of co-innovation asdf The recommended and supported OS for SAP HANA Reliability Scalability Performance Security
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 187 Agenda SAP HANA Development: Overview  Platform  SAP HANA Extended Application Services (XS) SAP HANA XS Technical Architecture SAP HANA Studio Development Perspective Browser Based Development Tools SAP HANA Native Development Model Introducing River (time permitting) SUSE Technology Overview Advantages for partners (as part of SAP PartnerEdge program for Application Development ) Questions & answers
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 188 SUSE Portfolio
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 189 SUSE Linux Enterprise Server What Do You Need to Deliver IT as a Service?
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 190 Key Features and Benefits SUSE Linux Enterprise Server
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 191 Large Ecosystem, More Choices SUSE Linux Enterprise Server Available on Five Different Architectures Intel64/AMD64, IA-32, IBM POWER, IBM System z and Itanium More Applications, More Hardware 11,400+ ISV applications 13,500+ hardware devices certified and supported Most Up-to-date Drivers and Comprehensive Tools The SUSE SolidDriver Program: deploy necessary third-party kernel drivers with confidence SDK: IDE and popular programming languages Resource:  www.suse.com/susepsc/home  www.suse.com/yessearch/search.jsp  http://drivers.suse.com
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 192 SUSE Linux Enterprise Server Includes ~ 3000 applications and libraries
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 193 Optimized Linux for SAP SUSE Linux Enterprise Server for SAP Applications Page Cache Limit Clam SAP 18 Months SP Overlap SAP Installation Wizard High Availability Extension SUSE Linux Enterprise Server SAP specific update channel Priority Support for SAP Priority Support for SAP
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 194 Join PartnerNet Program (free) Gain free access to sales and technical training access to software for testing, demonstrations, evaluations, etc. inclusion in the Partner Locator Complete the online application www.partnernetprogram.com Click “Join PartnerNet”  Please note: if you do not have a login account you will need to create one and then complete the application  Enter “SAP” in promotion field on the application PartnerNet Help Desk available to assist with questions https://www.partnernetprogram.com/helpdesk.html
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 195 SUSE Developer Resources
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 196 Agenda SAP HANA Development: Overview  Platform  SAP HANA Extended Application Services (XS) SAP HANA XS Technical Architecture SAP HANA Studio Development Perspective Browser Based Development Tools SAP HANA Native Development Model Introducing River (time permitting) SUSE Technology Overview Advantages for partners (as part of SAP PartnerEdge program for Application Development ) Questions & answers
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 197 Investment First pack*: €2500 p.a. Single, global eContract Set app price to bundle with runtime licenses** Benefits 25 developer licenses, including enablement Market your platform applications: SAP Store Six Innovation Packs: SAP HANA, SAP HANA Cloud, Mobile, Business Intelligence, SAP Business One, SAP Business Suite Partners New and existing All companies (SI, VAR, OEM, ISV, …) interested in creating and selling business applications utilizing SAP’s market leading platforms A New Way to Partner With SAP The SAP PartnerEdge Program for Application Development All information: www.sapadpc.com *Each additional pack: €500. SAP HANA Cloud : 3500€/1500€ ** for select Innovation Packs
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 198 Announcement 2014 SAP PartnerEdge Program for Application Development Challenges How can you participate? Publish an application on the SAP Store between April 1st and August 31st and register through either of these three links: SAP HANA, SAP HANA Cloud or Mobile* Three Challenge Categories SAP HANA Mobile SAP HANA Cloud What can you win? Join an Award Session to receive your Finalist Trophy. Have your app publicized through SAP‘s social media channels, SAP Store, newsletters, videos & press releases and/or reference slides. Winners and finalists will be considered for the coveted SAP Pinnacle Award and will benefit from demand-generation activities. 2013 Trophies 2012 Award Session at SapphireNow
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 199 More SAP and SUSE Technical Trainings Register or access the recordings HERE
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 200 Call to Action Familiarize yourself with the SAP PartnerEdge program for Application Development and sign up Learn about SUSE solutions for SAP (www.suse.com/sap) and PartnerNet program for SUSE partners Join the Campaign Jam Group HERE
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 201 Questions & Answers &
  • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 202 Call to Action Familiarize yourself with the SAP PartnerEdge program for Application Development and sign up Learn about SUSE solutions for SAP (www.suse.com/sap) and PartnerNet program for SUSE partners Join the Campaign Jam Group HERE