SMP521 SAP Mobile Platform - Native and Hybrid Application Development. COURSE OUTLINE Course Version: 10 Course Duration: 5 Day(s)
SAP Copyrights and Trademarks 2014 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. Microsoft, Windows, Excel, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation. IBM, DB2, DB2 Universal Database, System i, System i5, System p, System p5, System x, System z, System z10, System z9, z10, z9, iseries, pseries, xseries, zseries, eserver, z/vm, z/os, i5/os, S/390, OS/390, OS/400, AS/400, S/390 Parallel Enterprise Server, PowerVM, Power Architecture, POWER6+, POWER6, POWER5+, POWER5, POWER, OpenPower, PowerPC, BatchPipes, BladeCenter, System Storage, GPFS, HACMP, RETAIN, DB2 Connect, RACF, Redbooks, OS/2, Parallel Sysplex, MVS/ESA, AIX, Intelligent Miner, WebSphere, Netfinity, Tivoli and Informix are trademarks or registered trademarks of IBM Corporation. Linux is the registered trademark of Linus Torvalds in the U.S. and other countries. Adobe, the Adobe logo, Acrobat, PostScript, and Reader are either trademarks or registered trademarks of Adobe Systems Incorporated in the United States and/or other countries. Oracle is a registered trademark of Oracle Corporation UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group. Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc. HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C, World Wide Web Consortium, Massachusetts Institute of Technology. Java is a registered trademark of Sun Microsystems, Inc. JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape. SAP, R/3, SAP NetWeaver, Duet, PartnerEdge, ByDesign, SAP BusinessObjects Explorer, StreamWork, 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. Business Objects and the Business Objects logo, BusinessObjects, Crystal Reports, Crystal Decisions, Web Intelligence, Xcelsius, and other Business Objects products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of Business Objects Software Ltd. Business Objects is an SAP company. Sybase and Adaptive Server, ianywhere, Sybase 365, SQL Anywhere, and other Sybase products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of Sybase, Inc. Sybase is an SAP company.
All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary. These materials are subject to change without notice. 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. Copyright. All rights reserved. iii
iv Copyright. All rights reserved.
About This Handbook This handbook is intended to both complement the instructor-led presentation of this course and to serve as a reference for self-study. Typographic Conventions American English is the standard used in this handbook. The following typographic conventions are also used. This information is displayed in the instructor s presentation Demonstration Procedure Warning or Caution Hint Related or Additional Information Facilitated Discussion User interface control Example text Window title Example text Copyright. All rights reserved. v
vi Copyright. All rights reserved.
Contents ix Course Overview 1 Unit 1: SAP Mobile Platform 1 Lesson: Identifying SAP Mobility Components 3 Unit 2: Native and Hybrid Mobile Application Development Architecture 3 Lesson: Planning the Application 3 Lesson: Choosing the Runtime Edition 3 Lesson: Obtaining Required Licenses 3 Lesson: Installing Enterprise Developer Edition of the Runtime 3 Lesson: Planning for Data Access 3 Lesson: Identifying Data Tier Components 4 Lesson: Starting the Server Tier 4 Lesson: Evaluating Clusters and Domains in the Server Tier 4 Lesson: Setting Up Communication from Devices to Server Tier 5 Unit 3: Development Software Installation 5 Lesson: Installing the SAP Mobile SDK 5 Lesson: Starting the Mobile WorkSpace 5 Lesson: Installing Non-SAP Software Needed for Development 7 Unit 4: The Mobile WorkSpace 7 Lesson: Performing Pre-Development Tasks 7 Lesson: Creating Connection Profiles in Enterprise Explorer 7 Lesson: Correcting Errors in an Imported Project 9 Unit 5: Model Objects 9 Lesson: Creating Database-Driven Mobile Business Objects 9 Lesson: Creating SAP-Sourced MBOs 9 Lesson: Creating SOAP Web Service-Sourced MBOs 9 Lesson: Creating REST Web Service-Sourced MBOs 9 Lesson: Creating Relationships between MBOs 10 Lesson: Creating Advanced Project Entities 10 Lesson: Filtering MBO Data 10 Lesson: Configuring Other MBO Entities 10 Lesson: Deploying MBOs to the Server Tier 10 Lesson: Creating Cache Groups 10 Lesson: Creating Synchronization Groups 11 Lesson: Defining MBO Roles 11 Lesson: Creating Local Business Objects (LBOs) Copyright. All rights reserved. vii
13 Unit 6: Data Change Notifications 13 Lesson: Defining the Data Change Notifications (DCNs) 13 Lesson: Creating a Regular DCN 13 Lesson: Creating a WF-DCN 15 Unit 7: Hybrid Application Development 15 Lesson: Creating Initial Screens for a Hybrid Application 15 Lesson: Adding Functionality to a Hybrid Application 15 Lesson: Developing a List-type Hybrid Application 15 Lesson: Creating a Client-initiated Hybrid Application 15 Lesson: Creating a Server-initiated Hybrid Application 16 Lesson: Identifying Object Names in Generated Hybrid Application Code 16 Lesson: Modifying Generated Hybrid Application Code 16 Lesson: Using OData API in Hybrid Applications 16 Lesson: Developing Hybrid Applications Using Third-Party Tools 16 Lesson: Customizing the Hybrid Web Container 17 Unit 8: REST API 17 Lesson: Creating an Application Using the REST API 19 Unit 9: Native Application Development 19 Lesson: Producing Project Generated Code 19 Lesson: Configuring the Environment for Android Native Development 19 Lesson: Creating an ios Native Project Using Xcode 19 Lesson: Building a Native Application for Android Using the SAP Client Object API viii Copyright. All rights reserved.
Course Overview TARGET AUDIENCE This course is intended for the following audiences: Developer Development Consultant Copyright. All rights reserved. ix
x Copyright. All rights reserved.
UNIT 1 SAP Mobile Platform Lesson 1: Identifying SAP Mobility Components Describe SAP Mobility components Copyright. All rights reserved. 1
Unit 1: SAP Mobile Platform 2 Copyright. All rights reserved.
UNIT 2 Native and Hybrid Mobile Application Development Architecture Lesson 1: Planning the Application Choose a device Choose the application type Lesson 2: Choosing the Runtime Edition Choose the Runtime edition Lesson 3: Obtaining Required Licenses Identify license types Lesson 4: Installing Enterprise Developer Edition of the Runtime Install Enterprise Developer edition of the SAP Mobile Platform Runtime Lesson 5: Planning for Data Access Choose an Enterprise Information System (EIS) Lesson 6: Identifying Data Tier Components Copyright. All rights reserved. 3
Unit 2: Native and Hybrid Mobile Application Development Architecture Identify the databases that make up the data tier Explain how the platform uses SQL Anywhere Identify clustering options in the Data Tier Lesson 7: Starting the Server Tier Identify Windows services Start and stop platform services Identify directories that contain key server components Lesson 8: Evaluating Clusters and Domains in the Server Tier Determine the makeup of the cluster in the server tier Describe the default Security Configuration within a domain Lesson 9: Setting Up Communication from Devices to Server Tier Configure the SAP Mobile Platform to use the Relay Server 4 Copyright. All rights reserved.
UNIT 3 Development Software Installation Lesson 1: Installing the SAP Mobile SDK Identify SAP Mobile SDK requirements Install the SAP Mobile SDK Lesson 2: Starting the Mobile WorkSpace Start the Mobile WorkSpace Lesson 3: Installing Non-SAP Software Needed for Development Install Android SDK and AVD Install ios components Install Windows Mobile components Install BlackBerry Eclipse Plug-in Copyright. All rights reserved. 5
Unit 3: Development Software Installation 6 Copyright. All rights reserved.
UNIT 4 The Mobile WorkSpace Lesson 1: Performing Pre-Development Tasks Identify contents of the Mobile Development perspective in the Mobile Workspace Create a Mobile Application Project Configure WorkSpace preferences Lesson 2: Creating Connection Profiles in Enterprise Explorer Connect to Database EISs Connect to the SAP EIS Connect to the SAP Mobile Server Lesson 3: Correcting Errors in an Imported Project Correct errors in an imported project Copyright. All rights reserved. 7
Unit 4: The Mobile WorkSpace 8 Copyright. All rights reserved.
UNIT 5 Model Objects Lesson 1: Creating Database-Driven Mobile Business Objects Create a Database MBO via Enterprise Explorer Create a Database MBO via the Palette Lesson 2: Creating SAP-Sourced MBOs Create an SAP MBO Create an SAP-sourced MBO that updates data Lesson 3: Creating SOAP Web Service-Sourced MBOs Create a SOAP MBO Lesson 4: Creating REST Web Service-Sourced MBOs Create a REST MBO Lesson 5: Creating Relationships between MBOs Create relationships between MBOs Copyright. All rights reserved. 9
Unit 5: Model Objects Lesson 6: Creating Advanced Project Entities Create Object Queries Create Personalization Keys Lesson 7: Filtering MBO Data Create Load Arguments Create Synchronization Parameters Lesson 8: Configuring Other MBO Entities Configure Runtime credentials Create an SAP Java Result Checker Create a Result Set Filter Lesson 9: Deploying MBOs to the Server Tier Deploy MBOs to a local development environment for initial testing Deploy MBOs to a production environment Lesson 10: Creating Cache Groups Define Cache Groups Create Cache Groups Lesson 11: Creating Synchronization Groups 10 Copyright. All rights reserved.
Create Synchronization Groups Lesson 12: Defining MBO Roles Create Logical and Physical roles Lesson 13: Creating Local Business Objects (LBOs) Create Local Business Objects Copyright. All rights reserved. 11
Unit 5: Model Objects 12 Copyright. All rights reserved.
UNIT 6 Data Change Notifications Lesson 1: Defining the Data Change Notifications (DCNs) Define Data Change Notifications (DCNs) Lesson 2: Creating a Regular DCN Process a Regular DCN Lesson 3: Creating a WF-DCN Process a WF-DCN Copyright. All rights reserved. 13
Unit 6: Data Change Notifications 14 Copyright. All rights reserved.
UNIT 7 Hybrid Application Development Lesson 1: Creating Initial Screens for a Hybrid Application Define Hybrid Applications Identify available options in the Hybrid App Designer Develop a Hybrid application using the Hybrid App Designer Lesson 2: Adding Functionality to a Hybrid Application Add controls to a Hybrid application screen Add menu items to a Hybrid application screen Lesson 3: Developing a List-type Hybrid Application Create a customer list application with search capabilities Deploy a Hybrid application to a simulator for testing Lesson 4: Creating a Client-initiated Hybrid Application Develop the back end components of a Client-initiated Vacation Request application Develop the user interface for a Client-initiated Vacation Request application Lesson 5: Creating a Server-initiated Hybrid Application Copyright. All rights reserved. 15
Unit 7: Hybrid Application Development Develop a Server-initiated Vacation Request Approval application Lesson 6: Identifying Object Names in Generated Hybrid Application Code Explore the HTML in the Generated Hybrid Application code Identify key functions in the generated JavaScript Lesson 7: Modifying Generated Hybrid Application Code Manipulate application pages using JavaScript Add data validation logic to the application Manipulate application pages by changing the CSS Lesson 8: Using OData API in Hybrid Applications Create an OData Hybrid application Lesson 9: Developing Hybrid Applications Using Third-Party Tools Use the Generate Hybrid App API Wizard Review MBO Access JavaScript API samples Lesson 10: Customizing the Hybrid Web Container Customize the Hybrid Web Container 16 Copyright. All rights reserved.
UNIT 8 REST API Lesson 1: Creating an Application Using the REST API Create an application using the REST API Copyright. All rights reserved. 17
Unit 8: REST API 18 Copyright. All rights reserved.
UNIT 9 Native Application Development Lesson 1: Producing Project Generated Code Generate code for a Native application Lesson 2: Configuring the Environment for Android Native Development Set up the Android project Lesson 3: Creating an ios Native Project Using Xcode Create an ios Native project Lesson 4: Building a Native Application for Android Using the SAP Client Object API Create an Android Native application Copyright. All rights reserved. 19