• Like

Developing Synchronized Mobile Apps with SAP Mobile Platform

  • 1,202 views
Uploaded on

Watch TechEd Replay: http://www.sapvirtualevents.com/teched/sessiondetails.aspx?sid=3391 …

Watch TechEd Replay: http://www.sapvirtualevents.com/teched/sessiondetails.aspx?sid=3391

Synchronized mobile application enables process workers to work in mission-critical environments and have access to the needed data on their mobile devices anywhere, at any time. We will take attendees through the various steps of the development process for a synchronized mobile application as well as show data modeling of the mobile business objects and code generation of the native synchronization layers.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,202
On Slideshare
0
From Embeds
0
Number of Embeds
3

Actions

Shares
Downloads
83
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. MOB102Developing Synchronized Mobile Applications withSybase Unwired PlatformVenugopal. N
  • 2. DisclaimerThis presentation outlines our general product direction and should not be relied on in making apurchase decision. This presentation is not subject to your license agreement or any other agreementwith SAP. SAP has no obligation to pursue any course of business outlined in this presentation or todevelop or release any functionality mentioned in this presentation. This presentation and SAPsstrategy and possible future developments are subject to change and may be changed by SAP at anytime for any reason without notice. This document is provided without a warranty of any kind, eitherexpress or implied, including but not limited to, the implied warranties of merchantability, fitness for aparticular purpose, or non-infringement. SAP assumes no responsibility for errors or omissions in thisdocument, except if such damages were caused by SAP intentionally or grossly negligent.© 2012 SAP AG. All rights reserved. 2
  • 3. AgendaSAP Mobility Platform OverviewSynchronized Mobile Applications What is it? Mobility Considerations Synchronized apps from SAPDeveloping Synchronized Mobile Applications• The MBO concept• Create and Configure MBOs© 2012 SAP AG. All rights reserved. 3
  • 4. SAP mobile platform SAP, Partner, and Custom Apps Native Apps Hybrid HTML5 Apps SMS Apps Container Apps SAP App Dev Tools Third Party App Dev Tools SAP Mobile Platform SAP Afaria App Catalog Presentation Frameworks Application Application Services Management Foundation Services Device Data Sync & Caching Authentication App Lifecycle Managment oData Proxy Notification … Management SAP NetWeaver Gateway SAP Business Suite Sybase 365 Databases Third Party Apps 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© 2012 SAP AG. All rights reserved. kind, either express or implied, including but not limited to, the implied warranties of merchantability, fitness for a particular purpose, or non-infringement 4
  • 5. Synchronized Mobile Applications
  • 6. What is a Synchronized Application? Provides information needed to the end-user even when not connected, based on a set of defined rules Effectively utilizes network connectivity to ensure reliable data availability even in challenging network environments Ensures efficient data provisioning to the devices in case of large scale data realignment scenarios (changing organizational structures, territory realignments) Leverages local device resources to ensure high performance© 2012 SAP AG. All rights reserved. 6
  • 7. Key Considerations When Making Data Mobile Conflict Detection and Resolution Creation of Associated Entities while Offline Error Handling in Async communication Delta Data Determination between Device and Backend Lifecycle of Distributed Data / Data Models© 2012 SAP AG. All rights reserved. 7
  • 8. SAP Mobile ApplicationsSynchronized Apps Online AppsSAP CRM Sales SAP Employee Productivity Apps Human Resources  SAP Employee LookupSAP Field Service  SAP Leave Request  SAP Time Capture  SAP HR ApprovalsSAP Retail Execution Procurement  SAP Shopping Cart Approvals  SAP SRM Supplier SearchSAP EAM Work Order  SAP Quality Issue Finance  SAP Travel Receipt Capture  SAP Travel Report  SAP Travel Expense Approvals  SAP Payment Approvals Sales  SAP Sales Order Notification  SAP Material Availability  SAP Customers and Contacts  SAP Customer Financial Factsheet  SAP Order Status© 2012 SAP AG. All rights reserved. 8
  • 9. Developing Synchronized Mobile Applications
  • 10. Synchronization Approach – Cache-basedThe synchronization architecture is based on a Cache DB that resides on the SUP Server, andreplicates and/or messages updates to the Client DB. Enterprise Operation Replay: operations Invoke the corresponding System SUP executed in Client DB are mapped EIS Operations replayed on Cache DB Server Fill Filter Client Operations DB Load Operations (with Cache  Device Data parameters) to retrieve Operations are filtered by Repository Cache data from EIS Synchronization DB Parameters Operations defined in the MBO are generated in Object API class files© 2012 SAP AG. All rights reserved. 10
  • 11. Introduction to Modeling in SUPThe mobile platform allows you to define a mobile data model deploy the model to an SUP server keep the model in sync between devices, SUP server, and EIS (Enterprise Information System).What is available? Design tools for creating a model, and (optionally) building UI components Server components for managing the model and integrating with the backend EIS Client stack for maintaining the client-side aspect of the model, and supporting the application A ‘pipe’ for delivering data and maintaining client-server synchronization Management and administration tools© 2012 SAP AG. All rights reserved. 11
  • 12. Mobile Business Objects The key to SUP is the concept of a data model: this represents the essence of what is being mobilized. Central to this data model are MBOs – Mobile Business Objects. An MBO is basically a tabular representation of some entity that you want represented on the device. Each MBO is designed to interact with an Enterprise Information System (EIS), and provides a standardised view of this interaction.© 2012 SAP AG. All rights reserved. 12
  • 13. Mobile Business Objects MBOs define a set of attributes, and one or more Enterprise System Device Representation operations. Device applications don’t need to worry about the EIS integration, and only need to be concerned about this ‘standardised’ MBO model. Subset Personalize Mobilize© 2012 SAP AG. All rights reserved. 13
  • 14. Mobile Business ObjectsMBO’s in SUP 2.x are the data interface to two development API’s: Native Object API HTML5/JavaScript Container API SUP Development Task Flow Generate Develop Native Object Native Develop Deploy Mobile Code Application Deploy and Deploy and Mobile Business Test in Test on Business Objects to Generate Develop Simulator Device Objects Unwired Server HTML5/JavaS Hybrid cript Code Application© 2012 SAP AG. All rights reserved. 14
  • 15. MBO-based Apps DevelopmentThe behavior of the MBO, and the development practices are different for each API. Native Object API: MBO configures server for synchronization, client DB & objects, and generates query methods in Native Object API HTML5/JS Container API: MBO configures server cache, creates HTML5 storage key- value structure, and generates request methods in JavaScript API SUP Development Task Flow Generate Develop Native Object Native Develop Deploy Mobile Code Application Deploy and Deploy and Mobile Business Test in Test on Business Objects to Generate Develop Simulator Device Objects Unwired Server HTML5/JavaS Hybrid cript Code Application© 2012 SAP AG. All rights reserved. 15
  • 16. Native Object API MBOThe synchronization architecture is based on a Cache DB that resides on the SUP Server, andreplicates and/or messages updates to the Client DB Client SUP DB Server Synchronization Data Source Cache DB Client DB Cache Refresh Client DB© 2012 SAP AG. All rights reserved. 16
  • 17. Native Object API MBOThe MBO provides configuration for all aspects of the architecture Client DB schema Object Class files Cache content (data filtering) Query & Operation Data methods Client Source Cache DB DB SUP Operations Server Cache Refresh Synchronization frequency Parameters Cache Synchronization DB frequency© 2012 SAP AG. All rights reserved. 17
  • 18. Native Object API MBOMBO Properties include:Attributes• Data Source, Type, Connection SettingsOperations• Bind to Existing Operations, or Add NewRelationships• Mappings, Complex TypesObject Queries• Query methods generated in Object ClassesSynchronization Settings• Rules, Partitions© 2012 SAP AG. All rights reserved. 18
  • 19. Native Object API MBO: Data SchemaThe MBO maps EIS columns as attributes of an Object When the client code files are generated, they include the Class files with the attributes and types; the Client DB creates tables for the Objects at runtime When the MBO is deployed to the SUP Server, the Cache DB creates tables for the Objects, and a table for maintaining synch-parameter partitions Enterprise System Data Repository Client Cache DB Operations DB© 2012 SAP AG. All rights reserved. 19
  • 20. Native Object API MBO: OperationsOperations Properties include:Data Source• Stored as a Connection ProfileParameters• Name, Type, Nullability, Required• Mapping: Variable (Personalization Key) mapping, rules for updating on device, old-value rulesRoles• Rules for Logical and Physical rolesCache Update Policy• On Demand, Scheduled, DCNSynchronization Settings© 2012 SAP AG. All rights reserved. 20
  • 21. Native Object API MBO: OperationsOperations are staged from EIS to Cache, Cache to Client, and vis versa Enterprise Operation Replay: operations Invoke the corresponding System SUP executed in Client DB are mapped EIS Operations replayed on Cache DB Server Fill Filter Client Operation DB s Load Operations (with Cache  Device Data parameters) to retrieve Operations are filtered by Repository Cache data from EIS Synchronization DB Parameters Operations defined in the MBO are generated in Object API class files© 2012 SAP AG. All rights reserved. 21
  • 22. Example: Synchronization Parameter Definition: SELECT * FROM Customer Data Source Type: SampleDB (SQL Anywhere) database Fill: Data is retrieved by executing the Load Operation (SELECT …) Customer ID Name Address City State 1 Intel 1 Intel Drive Santa Clara CACache DB 2 Cisco 1 Cisco Way San Jose CA 3 Ultra 1 Ultra Lane Santa Clara UT 4 AMD 1 AMD Ave Santa Clara CA 5 Oracle 1 Oracle Lane Redwood Shores CA 6 Qualcomm 1 Qualcomm Way San Diego CA 7 HP 1 HP Drive Santa Clara CA Filter: This MBO has one synchronization parameter [city] Mobile application sets the synchronization parameter prior to performing synchronization to ‘Santa Clara’Client DB Customer ID Name Address City State 1 Intel 1 Intel Drive Santa Clara CA 3 Ultra 1 Ultra Lane Santa Clara UT 4 AMD 1 AMD Ave Santa Clara CA 7 HP 1 HP Drive Santa Clara CA © 2012 SAP AG. All rights reserved. 22
  • 23. Example: Load and Synchronization Parameters Definition: SELECT * FROM Customer WHERE State = ? Data Source Type: SampleDB database Fill: Data is retrieved by executing the Load Operation with the load parameter set to ‘CA’ Customer ID Name Address City State 1 Intel 1 Intel Drive Santa Clara CACache DB 2 Cisco 1 Cisco Way San Jose CA 4 AMD 1 AMD Ave Santa Clara CA 5 Oracle 1 Oracle Lane Redwood Shores CA 6 Qualcomm 1 Qualcomm Way San Diego CA 7 HP 1 HP Drive Santa Clara CA Filter: This MBO has one synchronization parameter [city] Mobile application sets the synchronization parameter prior to performing synchronization to ‘Santa Clara’Client DB Customer ID Name Address City State 1 Intel 1 Intel Drive Santa Clara CA 3 Ultra 1 Ultra Lane Santa Clara UT 4 AMD 1 AMD Ave Santa Clara CA 7 HP 1 HP Drive Santa Clara CA © 2012 SAP AG. All rights reserved. 23
  • 24. Development Task FlowMBO Definition is the first step of developing mobile applications with the Native Object APIDevelopers will also use the Eclipse tooling to deploy the MBO to SUP Server, and to generatethe Object code (Client API)We will discuss stages 1-3 for the Native Object API task flow SUP Development Task Flow Generate Develop Native Object Native Develop Deploy Mobile Code Application Deploy and Deploy and Mobile Business Test in Test on Business Objects to Generate Develop Simulator Device Objects Unwired Server HTML5/JavaS Hybrid cript Code Application© 2012 SAP AG. All rights reserved. 24
  • 25. 1 Develop Mobile Business ObjectsSUP provides an Eclipse plugin (WorkSpace) with a set of connector wizards for connection tostandard data sources: SAP ECC (RFC, BAPI) JDBC (Oracle, DB2, SQL Anywhere, SQL Server) Web Services (SOAP, REST) SUP Native Object API Development Task Flow Generate Develop Native Object Native Develop Deploy Mobile Code Application Deploy and Deploy and Mobile Business Test in Test on Business Objects to Simulator Device Objects Unwired Server© 2012 SAP AG. All rights reserved. 25
  • 26. 1 Develop Mobile Business ObjectsOnce the connection to the data source is made, the Eclipse Explorer allows the developer tonavigate the data source schema /or services Search ECC modules for BAPI’s View database tables View service definitions SUP Native Object API Development Task Flow Generate Develop Native Object Native Develop Deploy Mobile Code Application Deploy and Deploy and Mobile Business Test in Test on Business Objects to Simulator Device Objects Unwired Server© 2012 SAP AG. All rights reserved. 26
  • 27. 1 Develop Mobile Business ObjectsDevelopers can select from the exposed services, and drag-and-drop the service to the ‘MBODiagram’ canvas to create the MBO SUP Native Object API Development Task Flow Generate Develop Native Object Native Develop Deploy Mobile Code Application Deploy and Deploy and Mobile Business Test in Test on Business Objects to Simulator Device Objects Unwired Server© 2012 SAP AG. All rights reserved. 27
  • 28. 1 Develop Mobile Business ObjectsFor Services/BAPIs, a wizard is provided which identifies inputs/outputs, and allowsdevelopers to select only the parameters relevant to the use case  For example, a BAPI which creates a workflow notification may take 3 mandatory inputs, 6 optional inputs, and return 110 attributes, of which only 6 are relevant to the mobile UI.  The unnecessary attributes can be left out of the MBO SUP Native Object API Development Task Flow Generate Develop Native Object Native Develop Deploy Mobile Code Application Deploy and Deploy and Mobile Business Test in Test on Business Objects to Simulator Device Objects Unwired Server© 2012 SAP AG. All rights reserved. 28
  • 29. 1 Develop Mobile Business ObjectsFor all data sources, the wizard provides ‘preview’ execution to test the connection andparameter behavior SUP Native Object API Development Task Flow Generate Develop Native Object Native Develop Deploy Mobile Code Application Deploy and Deploy and Mobile Business Test in Test on Business Objects to Simulator Device Objects Unwired Server© 2012 SAP AG. All rights reserved. 29
  • 30. 1 Develop Mobile Business ObjectsRelationships and Structures can be designed in the MBO Diagram Relationships are defined between MBOs by linking attributes and parameters in one MBO to attributes and parameters in another MBO • One to Many, One to One, Many to One • Composite (N/A for Many to One) • Bi-Directional SUP Native Object API Development Task Flow Generate Develop Native Object Native Develop Deploy Mobile Code Application Deploy and Deploy and Mobile Business Test in Test on Business Objects to Simulator Device Objects Unwired Server© 2012 SAP AG. All rights reserved. 30
  • 31. 1 Develop Mobile Business ObjectsMBO configurations: Personalization Keys, Synchronization Groups, Cache Groups, etc. aredefined in the Eclipse tooling in the Properties and WorkSpace Navigator windows. SUP Native Object API Development Task Flow Generate Develop Native Object Native Develop Deploy Mobile Code Application Deploy and Deploy and Mobile Business Test in Test on Business Objects to Simulator Device Objects Unwired Server© 2012 SAP AG. All rights reserved. 31
  • 32. 2 Deploy Mobile Business ObjectsRelated MBO’s are grouped within a package for deployment to SUP Server Data belonging to the MBO’s within the package is staged on the Unwired Platform for synchronization. Staged data is loaded via Load Operations Packages can be versioned, and multiple versions of a package can be running simultaneously, with duplication costs Packages can be modified in a variety of modes during development (update, replace, etc.), but a production package should not be modified SUP Native Object API Development Task Flow Generate Develop Native Object Native Develop Deploy Mobile Code Application Deploy and Deploy and Mobile Business Test in Test on Business Objects to Simulator Device Objects Unwired Server© 2012 SAP AG. All rights reserved. 32
  • 33. 3 Generate Native Object CodeUse the Eclipse tooling to generate the Object Code for your target platform(s) Supported languages include: Objective-C, C#, and Java (ME for BlackBerry) Select the synchronization type. In SUP 2.0.x, C# and Java support replication-based, and iOS devices use messaging-based. Select output setting: Page Size, name/namespace/prefix, metadata options In addition to the generated code, access the Client API libraries from the install dir SUP Native Object API Development Task Flow Generate Develop Native Object Native Develop Deploy Mobile Code Application Deploy and Deploy and Mobile Business Test in Test on Business Objects to Simulator Device Objects Unwired Server© 2012 SAP AG. All rights reserved. 33
  • 34. Further Information on MobileSAP Public Webhttp://wiki.sdn.sap.com/wiki/display/mobile/http://scn.sap.com/community/mobileSAP Education and Certification Opportunitieswww.sap.com/educationWatch SAP TechEd Onlinewww.sapteched.com/online© 2012 SAP AG. All rights reserved. 34
  • 35. FeedbackPlease complete your session evaluation for MOB102.Thanks for attending this SAP TechEd session.
  • 36. © 2012 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 Google App Engine, Google Apps, Google Checkout, Google Data API, Google Maps, Google Mobile Ads,permission of SAP AG. The information contained herein may be changed without prior notice. Google Mobile Updater, Google Mobile, Google Store, Google Sync, Google Updater, Google Voice, Google Mail, Gmail, YouTube, Dalvik and Android are trademarks or registered trademarks of Google Inc.Some software products marketed by SAP AG and its distributors contain proprietary software components ofother software vendors. INTERMEC is a registered trademark of Intermec Technologies Corporation.Microsoft, Windows, Excel, Outlook, PowerPoint, Silverlight, and Visual Studio are registered trademarks of Wi-Fi is a registered trademark of Wi-Fi Alliance.Microsoft Corporation. Bluetooth is a registered trademark of Bluetooth SIG Inc.IBM, DB2, DB2 Universal Database, System i, System i5, System p, System p5, System x, System z, System Motorola is a registered trademark of Motorola Trademark Holdings LLC.z10, z10, z/VM, z/OS, OS/390, zEnterprise, PowerVM, Power Architecture, Power Systems, POWER7,POWER6+, POWER6, POWER, PowerHA, pureScale, PowerPC, BladeCenter, System Storage, Storwize, Computop is a registered trademark of Computop Wirtschaftsinformatik GmbH.XIV, GPFS, HACMP, RETAIN, DB2 Connect, RACF, Redbooks, OS/2, AIX, Intelligent Miner, WebSphere,Tivoli, Informix, and Smarter Planet are trademarks or registered trademarks of IBM Corporation. SAP, R/3, SAP NetWeaver, Duet, PartnerEdge, ByDesign, SAP BusinessObjects Explorer, StreamWork, SAP HANA, and other SAP products and services mentioned herein as well as their respective logos areLinux is the registered trademark of Linus Torvalds in the United States and other countries. trademarks or registered trademarks of SAP AG in Germany and other countries.Adobe, the Adobe logo, Acrobat, PostScript, and Reader are trademarks or registered trademarks of Adobe Business Objects and the Business Objects logo, BusinessObjects, Crystal Reports, Crystal Decisions, WebSystems Incorporated in the United States and other countries. 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 ObjectsOracle and Java are registered trademarks of Oracle and its affiliates. is an SAP company.UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group. Sybase and Adaptive Server, iAnywhere, Sybase 365, SQL Anywhere, and other Sybase products and servicesCitrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or mentioned herein as well as their respective logos are trademarks or registered trademarks of Sybase Inc.registered trademarks of Citrix Systems Inc. Sybase is an SAP company.HTML, XML, XHTML, and W3C are trademarks or registered trademarks of W3C®, World Wide Web Crossgate, m@gic EDDY, B2B 360°, and B2B 360° Services are registered trademarks of Crossgate AGConsortium, Massachusetts Institute of Technology. in Germany and other countries. Crossgate is an SAP company.Apple, App Store, iBooks, iPad, iPhone, iPhoto, iPod, iTunes, Multi-Touch, Objective-C, Retina, Safari, Siri, All other product and service names mentioned are the trademarks of their respective companies. Dataand Xcode are trademarks or registered trademarks of Apple Inc. contained in this document serves informational purposes only. National product specifications may vary.IOS is a registered trademark of Cisco Systems Inc. The information in this document is proprietary to SAP. No part of this document may be reproduced, copied, or transmitted in any form or for any purpose without the express prior written permission of SAP AG.RIM, BlackBerry, BBM, BlackBerry Curve, BlackBerry Bold, BlackBerry Pearl, BlackBerry Torch, BlackBerryStorm, BlackBerry Storm2, BlackBerry PlayBook, and BlackBerry App World are trademarks or registeredtrademarks of Research in Motion Limited. © 2012 SAP AG. All rights reserved. 36