HANA Cloud Platform mobile services SAP FORUM, SLOVAKIA May 2015 Peter Vanicek SAP UX/Mobile Services EMEA
How Do You Enable Mobile Business For SAP? App Device? ERP CRM BW
Fine For Simple Online Applications ERP App Device Reverse Proxy OData SAP Gateway CRM BW Internet On Premise Network
Fine For Simple Online Applications, but Limited Security Mechanisms No Support for Uninterrupted User Experience ERP App No Concept of Device Device No Usage Analytics for Mobile Access OData SAP No Lifecycle Gateway Management for Mobile Application Resources CRM BW No Push Notifications No Logging and Tracing or Mobile Applications No 3 rd Party Integrartion
Introducing HCPms SAP s Cloud Based Mobile Platform App Device HCPms HANA Cloud Platform mobile services Same HTTP/Odata functionality as On Premise Version (SMP) Supports the same Mobile SDK Free Trial get started at zero cost Offered as a Service on the HANA Cloud Platform
Secure From Cloud to On Premise ERP App Device HCPms?Cloud Connector OData SAP Gateway CRM HANA Cloud Connector Secure Connection from Cloud to On Premise Systems BW Internet On Premise Network
Mobilize Your Data Reliably and Securely ERP App Device appcid HCPms Cloud Connector OData SAP Gateway CRM Authentication Mechanisms Basic Auth with SAP ID Service SAML to Customer Identity Provider X.509 Authentication Internet Identity Provider On Premise Network BW
APNS GCM WNS Business Events to Push Notifications! ERP App Device! appcid HCPms Cloud Connector OData SAP Gateway CRM 1. Register with Push Provider 2. Store Notification Token 3. Subscribe to Business Event 4. Business Event Triggers Call to Push Provider 5. Push Provider Sends Notification to Device Internet On Premise Network BW
Usage Analytics ERP App Device appcid HCPms Cloud Connector OData SAP Gateway CRM Reports Performance Metrics Application Usages Device Type Usage Custom Lumira Reports BW Internet On Premise Network
Logging and Tracing ERP App Device HCPms Cloud Connector OData SAP Gateway CRM Record Logs/Traces on Device and send to server BW Internet Log Viewer On Premise Network
Uninterrupted User Experience ERP App Device appcid HCPms Cloud Connector OData SAP Gateway CRM Initial DB Creation Flush and Refresh Conflict and Error Resolution Delta Enablement BW Internet On Premise Network
Application Update Management Dev ERP Hybrid App Device HCPms Cloud Connector OData SAP Gateway CRM Push Web Content Updates for Hybrid Apps Kapsel AppUpdate Plugin BW Internet On Premise Network
Resource Bundle Management Dev ERP Hybrid App Device HCPms Cloud Connector OData SAP Gateway CRM Push Resource Bundle To Server Simple API to download to device Works for both Hybrid and Native Apps Internet On Premise Network BW
3 rd Party Integration SOAP JDBC App Device HCPms?HCI Simple REST HANA Cloud Integration (HCI) Connect to On Premise and/or cloud systems SAP ODC
2015 SAP AG. All rights reserved. No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice. Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors. National product specifications may vary. These materials are provided by SAP AG and its affiliated companies ("SAP Group") for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty. SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and other countries. Please see http://www.sap.com/corporate-en/legal/copyright/index.epx#trademark for additional trademark information and notices.
SAP HANA Cloud Platform Mobile Services Technical Overview Peter Vaní ek SAP FORUM 2015
SAP HANA Cloud Platform mobile services Overview Mobile Services Offline Push Security Usage Analytics/Reporting Integration of SAP and 3rd party Systems via Odata Push Hub Fiori Support on-premise on-demand internet Mobile App HCP mobile services SAP HANA Cloud Platform Mobile App Secure Connection SAP HANA Cloud Connector Mobile App OData Back- End (e.g. HANA) OData Service Provider (e.g. Gateway) ECC CRM SCM 2015 SAP AG or an SAP affiliate company. All rights reserved. Public 2
Full And Hybrid Cloud Scenario Support on-demand internet Mobile App HCP mobile services SAP HANA Cloud Platform OData Cloud Service Provider on-premise on-demand internet Mobile App HCP mobile services SAP HANA Cloud Platform SAP HANA Cloud Connector OData Service Provider (e.g. NW GW) HCP mobile services supports full on-demand scenarios where the backend is available as a cloud system. HCP mobile services supports hybrid ondemand scenarios where the backend resides on-premise and is made available via the SAP HANA Cloud Connector. 2015 SAP AG or an SAP affiliate company. All rights reserved. Public 3
One SDK decoupled from server SMP SDK One common SDK to span across different deployment platforms and versions SMP 2.3 HCPms SMP3 Rapid Innovation without Disruption 2015 SAP AG or an SAP affiliate company. All rights reserved. Public 4
Highlights Feature highlights of SAP HANA Cloud Platform Mobile Services
Modern Administration UX Introducing SAP UX strategy aligned administration UI allowing consumption from mobile devices Fresh design Responsive Usable on tablets and phones 2015 SAP AG or an SAP affiliate company. All rights reserved. Public 6
Support for Cross-Platform App Development Set of SAP specific plugins for Apache Cordova Provides enterprise capabilities to a Cordova application Fits cleanly within existing Cordova development environments and processes Supports Android, ios and Windows Enables Application Lifecycle Management Cordova Container HTML5 JavaScript Interface Platform Libraries Device APIs Device OS 3 rd party plugin 3 rd party plugin AppUpdate AuthProxy EncryptedStorage Logger Logon Push Settings Offline. 2015 SAP AG or an SAP affiliate company. All rights reserved. Public 7
OData Offline Service Benefits Always-available applications, OData everywhere, harmonized online/offline API, integration with SMP services (authentication, supportability, manageability). Features Take remote OData services and run them locally on device UltraLite as client database (ios, Android) Optimized for OData services supporting v4 Delta Query Middle-tier delta enablement for all other OData services Middle-tier caching of generic OData collections SAP Gateway / Business Suite SAP Mobile 3.0 SDK SMP 3.0 OData Offline Service OData Producer HANA / XS Integration Gateway SQL Anywhere 3 rd Party 2015 SAP AG or an SAP affiliate company. All rights reserved. Public 8
Enhanced Push Services Introducing new PUSH APIs (REST API): Notify a device via registration ID Notify all devices with registered application Notify all devices registered to an user/application Notify a list of users Notify a list of devices Will also be part of SMP 3.0 SP04 2015 SAP AG or an SAP affiliate company. All rights reserved. 9 Public
SAML 2.0 Support Authentication for Apps now support SAML as standard way to authorize users on their device. In addition, direct authentication by X.509 certificates and HTTP Authorization is supported as well. Mobile App 1. Request resource 2. Redirect to IdP 5. Request resource 6. Return resource HCP mobile services Identity Provider (IdP) e.g. SAP Cloud ID services 3. Request Authentication 4. SAML Assertion Response *Simplification Security Assertion Markup Language (SAML) 2.0 2015 SAP AG or an SAP affiliate company. All rights reserved. Public 10
Discovery Service Integration Mobile Secure 2.0 & Mobile Place Mobile Place is the Enterprise App Store inside Mobile Secure After downloading an App the App is already preconfigured by HCP mobile services. No manual configuration is need by the user. Mobile Secure is more. Find out: http://sapmobilesecure.com 2015 SAP AG or an SAP affiliate company. All rights reserved. Public 11
HCPms Demo Demo 2015 SAP AG or an SAP affiliate company. All rights reserved. Public 12
2015 SAP AG or an SAP affiliate company. All rights reserved. No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG or an SAP affiliate company. SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG (or an SAP affiliate company) in Germany and other countries. Please see http://global12.sap.com/corporate-en/legal/copyright/index.epx for additional trademark information and notices. Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors. National product specifications may vary. These materials are provided by SAP AG or an SAP affiliate company for informational purposes only, without representation or warranty of any kind, and SAP AG or its affiliated companies shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP AG or SAP affiliate company products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty. In particular, SAP AG or its affiliated companies have no obligation to pursue any course of business outlined in this document or any related presentation, or to develop or release any functionality mentioned therein. This document, or any related presentation, and SAP AG s or its affiliated companies strategy and possible future developments, products, and/or platform directions and functionality are all subject to change and may be changed by SAP AG or its affiliated companies at any time for any reason without notice. The information in this document is not a commitment, promise, or legal obligation to deliver any material, code, or functionality. All forward-looking statements are subject to various risks and uncertainties that could cause actual results to differ materially from expectations. Readers are cautioned not to place undue reliance on these forward-looking statements, which speak only as of their dates, and they should not be relied upon in making purchasing decisions. 2015 SAP AG or an SAP affiliate company. All rights reserved. Public 13
Developing and Deploying Hybrid Mobile Applications Peter Vanicek, UX/Mobile Services EMEA May 2015
Legal disclaimer The information in this presentation is confidential and proprietary to SAP and may not be disclosed without the permission of SAP. 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 document or any related presentation, or to develop or release any functionality mentioned therein. This document, or any related presentation 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 document is not a commitment, promise or legal obligation to deliver any material, code or functionality. 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. This document is for informational purposes and may not be incorporated into a contract. SAP assumes no responsibility for errors or omissions in this document, except if such damages were caused by SAP s willful misconduct 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. 2015 SAP AG or an SAP affiliate company. All rights reserved. 2
Agenda Developing and deploying hybrid mobile applications Getting started Additional information * This presentation is based on SAP Web IDE up to release 1.9 2015 SAP AG or an SAP affiliate company. All rights reserved. 3
Developing and deploying hybrid mobile applications
Mobile application types Kapsel Mobile Web Hybrid Native Web Browser Mobile App Mobile App 2015 SAP AG or an SAP affiliate company. All rights reserved. 5
Building apps with SAP Web IDE SAP Web IDE Hybrid Application Toolkit SAPUI5 application SAP Fiori application (SAP Fiori) hybrid mobile app 2015 SAP AG or an SAP affiliate company. All rights reserved. 6
What is Hybrid Application Toolkit (HAT)? Enables developers to develop and build Apache Cordova hybrid apps in SAP Web IDE HAT has 3 components that are provided as a plugin and an add-on to SAP Web IDE: 1. The SAP Web IDE plugin for Hybrid App Toolkit SAP HANA Cloud Platform SAP Web IDE Hybrid Application Toolkit (plugin) 2. HAT Connector to local build environment (Cordova Command-Line Interface (CLI)) 3. HAT Companion application HAT Connector HAT Companion app HAT (add-on) Android SDK Tools Kapsel XCode 2015 SAP AG or an SAP affiliate company. All rights reserved. 7
Installation and setup 1 Install and setup prerequisite software Open Source software to be downloaded and installed locally Windows: Android Mac: Android and ios 2 3 Install and setup HAT add-on Start up HAT Connector Download from SAP Store Run GUI based Installer HAT Connector needs to run to enable the communication between Web IDE and the local environment Test connection in Web IDE Preferences 2015 SAP AG or an SAP affiliate company. All rights reserved. 8
Set up local environment install prerequisites (HAT 1.2) Prerequisites on Windows machine for Android development node.js latest version Git client command line Cordova version 3.6.3-0.2.13 command line (Optional) SMP Kapsel SDK version 3.0 SP06 PL02 Android tools required JDK 1.7 or later Apache Ant 1.8 or later Android SDK r23.0.2, then upgrade to r23.0.5 (Optional) the Google USB Driver Prerequisites on Mac machine for ios & Android development node.js latest version Git client command line Cordova version 3.6.3-0.2.13 command line (Optional) SMP Kapsel SDK version 3.0 SP06 PL02 ios tools required Xcode and command line tools (Optional) ios sim tool (Optional) ios deploy tool Android tools required (same as Windows) 2015 SAP AG or an SAP affiliate company. All rights reserved. 9
Set up local environment install prerequisites Tips for installation of prerequisites Configure correct proxy on your PC Configure correct proxy device emulators, e.g., inside corporate network Specifically enable Intel VT-x in your BIOS and then install Intel x86 Emulator Accelerator for your Android Emulator on Windows Set correct environment variables JAVA_HOME, ANT_HOME, KAPSEL_HOME 2015 SAP AG or an SAP affiliate company. All rights reserved. 10
GUI based Installer Install Hybrid App Toolkit add-on Extract the content of the SAP_HAT_local.zip to your specified folder Run the installer On Windows, double-click setup.cmd file On Mac, run chmod +x setup.sh, then run./setup.sh The installer will Check the prerequisite software Install HAT software Build the Hybrid Companion app 2015 SAP AG or an SAP affiliate company. All rights reserved. 11
Hybrid App Toolkit Connector HAT Connector will be setup by the HAT Installer Startup the HAT Connector On Windows, double-click run.cmd On Mac, (first chmod +x *.sh) run./run.sh Strengthen the connection security with the API key Menu Tools > Preferences Replace the default <apikey> value in the project config.json file with an alphanumeric string Test connection from SAP Web IDE to the HAT Connector running locally on the developer workstation 2015 SAP AG or an SAP affiliate company. All rights reserved. 12
Hybrid App Toolkit Companion app The Hybrid App Toolkit Companion app is a mobile application that runs on a mobile device or device emulator. Enables a live preview of a Web application created with SAP Web IDE Cordova based mobile app Contains Cordova, SAP mobile (Kapsel) and SAPUI5 libraries Automatically built during HAT installation for ios and Android You may also use a QR code to load the corresponding application onto the mobile device. (double-click on Companion app and select Scan) Kapsel Companion app 2015 SAP AG or an SAP affiliate company. All rights reserved. 13
Simple steps to develop & deploy hybrid apps Create Develop Preview Deploy Create Develop Build & Preview Package & Deploy New project Coding Source Code Editor with code completion, dynamic API reference, etc. Additional support for Cordova & Kapsel to SAP HANA Cloud Manually deploy to Templates WYSIWYG Design Drag & Drop UI controls for layout design SMP (SMP3/HCPms) to ios and Android devices Git integration * not in current GA release, planned for future release 2015 SAP AG or an SAP affiliate company. All rights reserved. 14
Coding (assisted development) Create Develop Preview Deploy Ctrl + Space to activate code completion Additional code completion For Cordova plugins For Kapsel plugins API Reference pane For Cordova plugins For Kapsel plugins * not in current GA release, planned for future release 2015 SAP AG or an SAP affiliate company. All rights reserved. 15
Configuring devices Create Develop Preview Deploy Right mouse click on index.html file Device Configuration menu only appears to Hybrid apps 2015 SAP AG or an SAP affiliate company. All rights reserved. 16
Templates for Hybrid apps Create Develop Preview Deploy Create a new project File > New > Project Hybrid templates are provided SAPUI5 Master Detail Kapsel Application SAPUI5 Mobile Kapsel Application Project SAPUI5 Master Detail with Photos (provided with core SAP Web IDE) Additional templates of any kind can be created, added and managed 2015 SAP AG or an SAP affiliate company. All rights reserved. 17
Layout Editor (WYSIWYG) only trial landscape Create Develop Preview Deploy Design your view graphically in the Layout Editor and display the content of the XML view Right-click the XML file and open with Layout Editor 2015 SAP AG or an SAP affiliate company. All rights reserved. 18
Live preview to test native device APIs Create Develop Preview Deploy Emulator Device Live Preview & Testing Use pre-built hybrid companion app Test native device APIs Double-click the app and refresh Give instant response without build the project Note: you must configure device settings so the application can properly consume native APIs 2015 SAP AG or an SAP affiliate company. All rights reserved. 19
Preview in browser with Cordova Facade Create Develop Preview Deploy Live Preview & Testing Use browser with Cordova Facade Quickly validate hybrid app functionality without deploying to an emulator or device Allow/Deny access to mobile features, i.e. camera of laptop Browser Note: you must enable Cordova Façade previews in Hybrid App Toolkit preferences 2015 SAP AG or an SAP affiliate company. All rights reserved. 20
Run on emulator or device Create Develop Preview Deploy Emulator Device Run on Emulator or Device does Download the project to local machine Fetches the specified Cordova plugins to create a Cordova project Build mobile app for Android or ios Install it on emulator or mobile device Run the app Note: You must also have configured device properties, otherwise you will not have any contexts displayed for the Run on menu command 2015 SAP AG or an SAP affiliate company. All rights reserved. 21
Preview vs. Run Create Develop Preview Deploy Preview on Run on SAP HANA Cloud Platform 3 4 Refresh SAP HANA Cloud Platform 1 Preview SAP Web IDE HAT Connector App 2 URL Scan QR code * Companion app URL Companion app 2 Run SAP Web IDE 1 HAT Connector 4 App Hybrid mobile app App Hybrid mobile app HAT Companion app 3 App 1. In SAP Web IDE: Preview on simulator or device 2. Install and launch the Companion app 3. Load application from HCP by URL to the application 4. Possibility to refresh the application after modifications have been made to the application in SAP Web IDE * You may also scan a QR code in the Companion app to load the application (double-tap in Companion app and scan) pull instead of push 1. In SAP Web IDE: Deploy to local HAT (download the application to local workstation) 2. In SAP Web IDE: Run on simulator or device 3. Build hybrid app into Cordova container 4. Install and launch hybrid mobile app If changes are made to application, repeat steps 1 4 2015 SAP AG or an SAP affiliate company. All rights reserved. 22
Deploy the app Create Develop Preview Deploy Manually send your app (with profile for ios) to the Administrator of the SAP Mobile Secure server Upload and Sign the app Publish it to SAP Mobile Place for distribution User selects the app in the store and installs it to the mobile device SAP Mobile Secure Server Manual upload.apk file (Android).ipa file + profile (ios) Publish SAP Mobile Place Install app App Store Mobile App SAP Web IDE Developer workstation Mobile Device 2015 SAP AG or an SAP affiliate company. All rights reserved. 23
Demo Demo Title of the demo 2015 SAP SE or an SAP affiliate company. All rights reserved. 24
Getting started
Getting started with SAP Web IDE SAP Web IDE prerequisite: HCP account Web IDE on HCP Trial https://account.hanatrial.ondemand.com after logon, open subscription tab to subscript sapwebide SAP Web IDE SAP Web IDE online help https://help.hana.ondemand.com/sap_rde/frameset.htm?6284a94889db4f3ca d001ba674282f20.html This will explain: opening SAP Web IDE entering the Git settings connecting remote systems, including installation and setup of HANA Cloud Connector setting SAP Web IDE preferences enabling external plugins Additional resources: How to setup your SAP Web IDE on HCP http://scn.sap.com/community/developer-center/front-end/blog/2015/02/11/set-upyour-sap-web-ide-on-hana-cloud-part-1 Prerequisites for HANA Cloud Connector https://help.hana.ondemand.com/help/frameset.htm?e23f776e4d594fdbaeeb1196d4 7bbcc0.html Download SAP HANA Cloud Connector https://tools.hana.ondemand.com/#cloud On SCN: http://scn.sap.com/docs/doc-55465 2015 SAP AG or an SAP affiliate company. All rights reserved. 26
Getting started with Hybrid Application Toolkit Hybrid Application Toolkit (HAT) HAT online help https://help.hana.ondemand.com/webide_hat/frameset.htm go to Installing and Setting Up The online help contains: What s new in the latest release Installing and setting up Getting started Testing Delivering and deploying Troubleshooting Additional resources: How to enable HCPms trial http://scn.sap.com/community/developer-center/mobilityplatform/blog/2014/12/18/how-to-enable-hana-cloud-platform-mobile-services-trial How to use SAP HCPms with an ABAP system http://scn.sap.com/community/developer-center/mobility-platform/blog/2015/02/03/how-touse-hcpms-with-an-abap-system Get HAT package in SAP Store https://store.sap.com/sap/cp/ui/resources/store/html/solutiondetails.html?pid=0000 013586 On SCN: http://scn.sap.com/docs/doc-62033 2015 SAP AG or an SAP affiliate company. All rights reserved. 27
Additional information
Useful links SAP Web IDE SAP Web IDE on HANA Marketplace: http://marketplace.saphana.com/p/3334 SAP HANA Cloud Platform: http://hcp.sap.com/index.html SAP HANA Cloud Platform (SAP Web IDE trial beta): https://account.hanatrial.ondemand.com/ Official documentation: https://help.hana.ondemand.com/ under Platform Solutions choose SAP SAP Web IDE Documentation within SAP Web IDE: Choose Help > Documentation Additional related information to SAP Web IDE SAP HANA Cloud Platform: https://help.hana.ondemand.com/ Go to SAP HANA Cloud Platform > Getting Started SAP Gateway: http://help.sap.com/nwgateway20 SAPUI5 UI Development Toolkit for HTML5 - Demo Kit (interactive doc on SAPUI5 / OpenUI5): https://sapui5.hana.ondemand.com/sdk/ OpenUI5: http://sap.github.io/openui5/ UI Development with SAPUI5 documentation: https://help.hana.ondemand.com/help/frameset.htm?e8fdaa44bb5710148368de 02b150bce3.html SCN (SAP Community Network) SAPUI5 & SAP Web IDE: http://scn.sap.com/community/developer-center/front-end SAP Fiori: http://scn.sap.com/docs/doc-41598 SAP for Mobile: http://scn.sap.com/community/mobile 2015 SAP AG or an SAP affiliate company. All rights reserved. 29
Thank You! Provided by Technology RIG 2015 SAP AG or an SAP affiliate company. All rights reserved.
2015 SAP AG or an SAP affiliate company. All rights reserved. No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG or an SAP affiliate company. SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG (or an SAP affiliate company) in Germany and other countries. Please see http://global12.sap.com/corporate-en/legal/copyright/index.epx for additional trademark information and notices. Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors. National product specifications may vary. These materials are provided by SAP AG or an SAP affiliate company for informational purposes only, without representation or warranty of any kind, and SAP AG or its affiliated companies shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP AG or SAP affiliate company products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty. In particular, SAP AG or its affiliated companies have no obligation to pursue any course of business outlined in this document or any related presentation, or to develop or release any functionality mentioned therein. This document, or any related presentation, and SAP AG s or its affiliated companies strategy and possible future developments, products, and/or platform directions and functionality are all subject to change and may be changed by SAP AG or its affiliated companies at any time for any reason without notice. The information in this document is not a commitment, promise, or legal obligation to deliver any material, code, or functionality. All forwardlooking 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. 2015 SAP AG or an SAP affiliate company. All rights reserved. 31