SlideShare a Scribd company logo
MBO Development
A Branded Service Delivered by Customer Solution Adoption
June, 2012
Objectives


After completing this course, you should be able to:
Understand how to use the Sybase Unwired Workspace
Understand the SUP development paradigm
Understand MBO mobility properties
Understand shared-read MBOs
Understand guidelines for data loading
Understand how to include attachments in you MBO model
Build an MBO package




©  2012 SAP AG. All rights reserved.                     2
Sybase SAP Mobility Platform

                                                                                                 Apps (native, container, player)

                                                                                                            Reusable libraries




                                                                                                                                                                                                                                       Sybase development
                                                                                                                                                                                                                                        tools and lifecycle
                                                                      SDK* on MBO**                                                                  SDK on OData+
       Afaria




                                                                                     MBO                                                                             OData



                                                                                         Sybase Unwired Platform 2.x

                                                                                                                                                                                         Onboarding, monitoring
                            Other connector                        Data consolidation                        Notifications and                              OData                            lifecycle, and
                             technologies                           and distribution                          subscriptions                               connector
                                                                                                                                                                                            administration




                                 Web service                               BAPI
                                                                                                                                                                    OData
                                 JDBC                                      Wrapper
                                 Rest                                      (Suite)
                                                                                                                                         OData/SAP: data provider
                                                                                                                                     (such as SAP NetWeaver Gateway)
            Third-party services
                                                                                                                      Back ends running SAP software



                                                                                             SAP Business Suite                   SAP Business ByDesign                       SAP BusinessObjects solutions

                                       *Software development kit ** Mobile business object                                                   +Open Data Protocol

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


 ©  2012 SAP AG. All rights reserved.                                                                                                                                                                                                                         3
Covered in this Session

                                                                                                 Apps (native, container, player)

                                                                                                            Reusable libraries




                                                                                                                                                                                                                                       Sybase development
                                                                                                                                                                                                                                        tools and lifecycle
                                                                      SDK* on MBO**                                                                  SDK on OData+
       Afaria




                                                                                     MBO                                                                             OData



                                                                                         Sybase Unwired Platform 2.x

                                                                                                                                                                                         Onboarding, monitoring
                            Other connector                        Data consolidation                        Notifications and                              OData                            lifecycle, and
                             technologies                           and distribution                          subscriptions                               connector
                                                                                                                                                                                            administration




                                 Web service                               BAPI
                                                                                                                                                                    OData
                                 JDBC                                      Wrapper
                                 Rest                                      (Suite)
                                                                                                                                         OData/SAP: data provider
                                                                                                                                     (such as SAP NetWeaver Gateway)
            Third-party services
                                                                                                                      Back ends running SAP software



                                                                                             SAP Business Suite                   SAP Business ByDesign                       SAP BusinessObjects solutions

                                       *Software development kit ** Mobile business object                                                   +Open Data Protocol

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


 ©  2012 SAP AG. All rights reserved.                                                                                                                                                                                                                         4
Application Development

•  Using Eclipse tooling and the MBO model, a developer creates a package
   containing one or more MBOs that can be deployed into the server runtime
   environment. Each package is assigned a version that is associated with the
   specific runtime artifacts generated by the deployment architecture.

•  Once a mobile package is available, the developer can generate device-side
   artifacts that form the basis of mobile application interactions with SUP
   services and data

•  Developer creates the application, using Xcode, Eclipse, Visual Studio or
   other design tools for a native application. For a Hybrid Application the Form
   Designer is used to develop jQuery based UI or a third party tool is used to
   bring in an HTML based design




©  2012 SAP AG. All rights reserved.                                                5
SUP MBO-based Apps Development


The 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 mappings, creates HTML5 storage
         key-value structure, and generates request methods in JavaScript API



                                                          SUP Development Task Flow

                                                   3                   4
                                                         Generate
                                                                           Develop Native
                                                       Native Object
     1                        2                                             Application     5                6
          Develop                 Deploy Mobile            Code
                                                                                                Deploy and       Deploy and
           Mobile                   Business
                                                                                                  Test in         Test on
          Business                  Objects to
                                                         Generate                                Simulator         Device
           Objects                Unwired Server                             Develop
                                                         HTML5/
                                                                              Hybrid
                                                        JavaScript
                                                                            Application
                                                          Code


 ©  2012 SAP AG. All rights reserved.                                                                                         6
Native Object API MBO

The synchronization architecture is based on a
Cache DB that resides on the SUP Server, and
replicates and/or messages updates to the Client
DB
                                           SUP                            Client
                                                                           DB
                                          Server
                                                       Synchronization
     Data
    Source

                                               Cache
                                                DB                                 Client
                                                                                    DB

                          Cache Refresh
                                                                     Client
                                                                      DB

©  2012 SAP AG. All rights reserved.                                                    7
Native Object API MBO: Operations


Operations are staged from EIS to Cache, Cache to Client, and vice versa




     Enterprise                                                         Operation Replay: operations
                              Invoke the corresponding                   executed in Client DB are
      System                                                SUP
                               mapped EIS Operations                      replayed on Cache DB
                                                           Server


    Operations                           Fill                                      Filter               Client
                                                                                                         DB

                                 Load Operations (with                         Cache à Device
      Data
                                 parameters) to retrieve                   Operations are filtered by
    Repository                       data from EIS              Cache     Synchronization Parameters
                                                                 DB




©  2012 SAP AG. All rights reserved.                                                                             8
Native Object API MBO: Data Schema

The 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.                                  9
Native Object API MBO

The MBO provides configuration for all aspects of the mobile architecture


                                                     Client DB schema
                                                      Object Class files
                     Cache content                   Query & Operation
                     (data filtering)                    methods
 Data                    Cache DB                                           Client
Source                   Operations                                          DB

                     Cache Refresh       SUP
                                        Server
                       frequency
                                                     Synchronization
                                                       Parameters
                                                     Synchronization
                                             Cache     frequency
                                              DB


©  2012 SAP AG. All rights reserved.                                         10
Demo: Creating an MBO


-    Database MBO (Quick Create)

-    Web Service MBO

-    SAP MBO




 ©  2012 SAP AG. All rights reserved.   11
Native Object API MBO


MBO Properties include:
•  Attributes
     •  Data Source, Type, Connection Settings
•    Operations
     •  Bind to Existing Operations, or Add New
•    Relationships
     •  Mappings, Complex Types
•    Object Queries
     •  Query methods generated in Object Classes
•    Synchronization Settings
     •  Rules, Partitions




 ©  2012 SAP AG. All rights reserved.               12
Native Object API MBO


Mobility Properties include:
•    Data Source
     •  Stored as a Connection Profile
•    Parameters

     •  Name, Type, Nullability, Required
     •  Mapping: Variable (Personalization
        Key) mapping, rules for updating on
        device, old-value rules
•    Roles
     •  Rules for Logical and Physical roles
•    Cache Update Policy
     •     On Demand, Scheduled, DCN
•    Synchronization Settings
 ©  2012 SAP AG. All rights reserved.          13
MBO Mobility Properties


Synchronization

Load Arguments

Cache Groups

Operation Cache Policy

Object Queries




©  2012 SAP AG. All rights reserved.   14
Synchronization


Restricts amount of rows transferred from Unwired Server CDB to the device
Filter results that have large amount of data that does not change frequently

Personalization keys
Enables users to store their search preferences on the client, the server, or by
session

Does not affect EIS interaction with the CDB




©  2012 SAP AG. All rights reserved.                                               15
Synchronization




©  2012 SAP AG. All rights reserved.   16
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	
        CA	
  
Cache DB




              2	
                           Cisco	
        1 Cisco Way	
        San Jose	
           CA	
  
              3	
                           Ultra	
        1 Ultra Lane	
       Santa Clara	
        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	
                           JPMorgan       270 Park Ave	
       New York	
           NY	
  
                                            Chase	
  
              Filter: This MBO has one synchronization parameter [city]
              Mobile application sets the synchronization parameter prior to performing
              synchronization to ‘Santa Clara’
               Customer ID	
                 Name	
        Address	
            City	
               State	
  
Client DB




               1	
                           Intel	
       1 Intel Drive	
      Santa Clara	
        CA	
  
               3                             Ultra         1 Ultra Lane         Santa Clara          CA
               4	
                           AMD	
         1 AMD Ave	
          Santa Clara	
        CA	
  


            ©  2012 SAP AG. All rights reserved.                                                                 17
Synchronization Data Flow

1.        User initiates a synchronization request
          that includes an attribute value

2.        Unwired Server filters the data in the
          CDB
If attribute is country and user supplied “USA” as
the value, rows that contain “USA are returned

3.        Unwired Server synchronizes the device
          with the results




 ©  2012 SAP AG. All rights reserved.                18
Load Arguments


Control the amount of data refreshed between the EIS and CDB

Creates its own partition in the CDB based on load argument value (partition
key)

Can be paired with synchronization parameters
User will supply values for the argument(s)




©  2012 SAP AG. All rights reserved.                                           19
Load Arguments




©  2012 SAP AG. All rights reserved.   20
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	
        CA	
  
Cache DB




               2	
                           Cisco	
        1 Cisco Way	
        San Jose	
           CA	
  
               3	
                           Ultra	
        1 Ultra Lane	
       Santa Clara	
        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	
  

              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          CA
               4	
                           AMD	
          1 AMD Ave	
          Santa Clara	
        CA	
  
            ©  2012 SAP AG. All rights reserved.                                                                  21
Load Argument Data Flow

1.        User initiates a synchronization request and includes an argument value
2.        If personalization keys are used, Unwired server passes the query to the
          EIS
3.        EIS refreshes Unwired Server based on the argument value

4.        Unwired Server creates a partition with the results in the CDB for the
          validated user or updates the partition

5.        Unwired Server synchronizes the device with the data in the CD partition
          for that user




 ©  2012 SAP AG. All rights reserved.                                              22
Cache Groups


Specifies the data refresh behavior for every MBO within the group

An MBO can belong to only one cache group

Cache Policy
On demand
Scheduled
DCN
Online




©  2012 SAP AG. All rights reserved.                                 23
Cache Groups




©  2012 SAP AG. All rights reserved.   24
Cache Group Data Flow


The deployed MBO package triggers a cache
update depending on the cache group to
which it belongs

CDB is updated based on the cache group
settings




©  2012 SAP AG. All rights reserved.        25
Operation Cache Policy


Determines how the CDB is updated after an operation
Apply results to the cache
Invalidate the cache (refresh all data)
No effect
Ÿ  If a cache policy is not selected, the operation results are not applied to the cache




©  2012 SAP AG. All rights reserved.                                                        26
Operation Cache Policy




©  2012 SAP AG. All rights reserved.   27
Operation Cache Policy Data Flow


1.        The Device application initiates a create, update, or delete operation

2.        Unwired Server passes the operation to the EIS where the operation is
          executed

3.        The CDB is updated based on the cache policy. A subsequent
          synchronization reflects the changed CDB




 ©  2012 SAP AG. All rights reserved.                                              28
Object Queries


SQL statements associated with an MBO against the persistent store on the
device

Returns a subset of a result set

Automatically generated for each MBO attribute identified as a primary key
If multiple primary keys exists, an additional composite object query is generated




©  2012 SAP AG. All rights reserved.                                                 29
Object Queries




©  2012 SAP AG. All rights reserved.   30
Local Business Object


A client only object

Defined in the Unwired Workspace

Not bound to EIS data sources

Cannot be synchronized

Used as a local data store on the device




©  2012 SAP AG. All rights reserved.       31
Shared-Read MBOs


Optimization feature that loads multiple MBOs with a single read operation
Better performance

No shared write or composite write operation




©  2012 SAP AG. All rights reserved.                                         32
MBO and Attachments


Inline attachments are expensive
Do not embed inline with the MBO as an attribute
Attachments typically do not change
Ÿ  Uploading and downloading a large attachment can be significant
Upload of attachments is slower than downloads
Ÿ  Not advisable to upload attachments

Object instantiation and resource consumption is also costly
SUP uses BigString and BigBinary
Ÿ  Not loaded when the object containing them is instantiated
Ÿ  Include a special API to access only the segment the application is interested in




©  2012 SAP AG. All rights reserved.                                                    33
MBO and Attachments


Consider the attachment as an MBO
Use a separate MBO to hold the attachment
Ÿ  Provides flexibility using synchronization parameters and synchronization groups
Ÿ  Allows the application to subscribe to the attachment when required via a synchronization
    parameter

Bulk download all attachments during an initial synchronization in a high
quality connected environment
Attachments typically do not change
Cost of this approach is more complex an longer application roll-out cycle




©  2012 SAP AG. All rights reserved.                                                            34
Result Checker

A result checker is a custom Java class that implements
error checking for Mobile Business Objects (MBOs).
Not all MBO operations use a "standard" error reporting
technique; you may want to implement your own custom
result checker.
   Doing so allows you to check any field for errors
   Implement logic that determines what constitutes an error
   Logic that determines the severity of the error

The error code and message can be influenced in the result
checker by throwing a DSException



 ©  2012 SAP AG. All rights reserved.                          35
Result Checker

A custom result checker can throw errors for both a
scheduled cache refresh as well as an on demand cache
refresh
  For a scheduled refresh
          Ÿ  log message to the Unwired Server log.
          Ÿ  transaction for the entire cache group is rolled back
          Ÿ  The device client user is not notified of these errors; no client log
              records are generated
  On demand refresh
          Ÿ  No error to the server log, but the log message is written to the
              Unwired Server Services handle the exception
          Ÿ  The transaction for the cache group is rolled back
          Ÿ  A client log record is generated, which is visible to the client
              application after synchronization

©  2012 SAP AG. All rights reserved.                                                  36
Result Checker - Example

MBO representing the price of a sales order item, based on
a WebService call
WebService works fine, no technical errors
Due to some internal calculation and bad backend data, it
occurred that a price of 0 or less was returned


Custom Result Checker to determine the price is actually
calculated correctly
   price below 0 means error



 ©  2012 SAP AG. All rights reserved.                       37
Demo: MBO Deployment


Follow along as an MBO Package is deployed to the server.
•  Unwired Workspace allows for development of MBOs at design time
•    In order to actually consume MBOs, the model needs to be deployed to server
     (recall split of runtime and design time)




 ©  2012 SAP AG. All rights reserved.                                              38
Lab 2: Create Mobile Business
Objects
© 2012 SAP AG. All rights reserved.


No part of this publication may be reproduced or transmitted in any form or for any purpose     Google App Engine, Google Apps, Google Checkout, Google Data API, Google Maps,
without the express permission of SAP AG. The information contained herein may be               Google Mobile Ads, Google Mobile Updater, Google Mobile, Google Store, Google Sync,
changed without prior notice.                                                                   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 of other software vendors.                                                  INTERMEC is a registered trademark of Intermec Technologies Corporation.

Microsoft, Windows, Excel, Outlook, PowerPoint, Silverlight, and Visual Studio are registered   Wi-Fi is a registered trademark of Wi-Fi Alliance.
trademarks of 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 z10, z10, z/VM, z/OS, OS/390, zEnterprise, PowerVM, Power                      Motorola is a registered trademark of Motorola Trademark Holdings LLC.
Architecture, Power Systems, POWER7, POWER6+, POWER6, POWER, PowerHA,                           Computop is a registered trademark of Computop Wirtschaftsinformatik GmbH.
pureScale, PowerPC, BladeCenter, System Storage, Storwize, XIV, GPFS, HACMP,
RETAIN, DB2 Connect, RACF, Redbooks, OS/2, AIX, Intelligent Miner, WebSphere, Tivoli,           SAP, R/3, SAP NetWeaver, Duet, PartnerEdge, ByDesign, SAP BusinessObjects Explorer,
Informix, and Smarter Planet are trademarks or registered trademarks of IBM Corporation.        StreamWork, SAP HANA, 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
Linux is the registered trademark of Linus Torvalds in the United States and other countries.   other countries.
Adobe, the Adobe logo, Acrobat, PostScript, and Reader are trademarks or registered             Business Objects and the Business Objects logo, BusinessObjects, Crystal Reports, Crystal
trademarks of Adobe Systems Incorporated in the United States and other countries.              Decisions, Web Intelligence, Xcelsius, and other Business Objects products and services
Oracle and Java are registered trademarks of Oracle and its affiliates.                         mentioned herein as well as their respective logos are trademarks or registered trademarks
                                                                                                of Business Objects Software Ltd. Business Objects 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
Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin                products and services mentioned herein as well as their respective logos are trademarks or
are trademarks or registered trademarks of Citrix Systems Inc.                                  registered trademarks of Sybase Inc. Sybase is an SAP company.

HTML, XML, XHTML, and W3C are trademarks or registered trademarks of W3C®,                      Crossgate, m@gic EDDY, B2B 360°, and B2B 360° Services are registered trademarks of
World Wide Web Consortium, Massachusetts Institute of Technology.                               Crossgate AG in Germany and other countries. Crossgate is an SAP company.

Apple, App Store, iBooks, iPad, iPhone, iPhoto, iPod, iTunes, Multi-Touch, Objective-C,         All other product and service names mentioned are the trademarks of their respective
Retina, Safari, Siri, and Xcode are trademarks or registered trademarks of Apple Inc.           companies. Data 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
RIM, BlackBerry, BBM, BlackBerry Curve, BlackBerry Bold, BlackBerry Pearl, BlackBerry           reproduced, copied, or transmitted in any form or for any purpose without the express prior
Torch, BlackBerry Storm, BlackBerry Storm2, BlackBerry PlayBook, and BlackBerry App             written permission of SAP AG.
World are trademarks or registered trademarks of Research in Motion Limited.




 ©  2012 SAP AG. All rights reserved.                                                                                                                                                    40

More Related Content

PDF
Afaria Overview- Architecture, Scaling, Supported Platforms
PDF
SAP Netweaver Mobile Overview
PPTX
Sap Mobility Presentation 5 1 2012
PDF
SAP Mobile Platform Architecture and Strategy
PDF
Microsoft Technical Webinar: SAP Mobile Platform for Windows 8 and Windows Ph...
PDF
Sybase Unwired Platform- Introduction to Mobility
PDF
Best Practices for Upgrading Your Portal to SAP NetWeaver 7.3
PDF
NetWeaver Gateway Development Paradigm
Afaria Overview- Architecture, Scaling, Supported Platforms
SAP Netweaver Mobile Overview
Sap Mobility Presentation 5 1 2012
SAP Mobile Platform Architecture and Strategy
Microsoft Technical Webinar: SAP Mobile Platform for Windows 8 and Windows Ph...
Sybase Unwired Platform- Introduction to Mobility
Best Practices for Upgrading Your Portal to SAP NetWeaver 7.3
NetWeaver Gateway Development Paradigm

What's hot (20)

PDF
Dev mobile apps ent it final
PDF
Top Five Reasons to Upgrade to SAP NetWeaver Portal 7.3
PDF
Soa cloud con8968_pdf_8968_0001
PDF
Soa con8642 pdf_8642_0001
PDF
Sap netweaver gateway_2.0_sap_net_weaver
PDF
NetWeaver Gateway- Extend the Reach of SAP Applications
PPTX
Skelta Software Corporate Presentation
PDF
Sap microsoft interoperability sitnl 08-12-2012
PDF
AD404 - Extend your Social Business by integrating SAP Solutions
PDF
SAP Runs SAP Mobile
PDF
Google Technical Webinar - Building Mashups with Google Apps and SAP, using S...
PDF
IBM Connect 2013 - AD405
PPTX
Gateway for the uninformed #sitnl edition
PDF
Unwired Platform
PDF
GlassFish Mobility Platform - Hans Hrasna
PPTX
Evaluating jaspersoft community & commercial editions
PDF
How to build an agentry based mobile app from scratch connecting to an sap ba...
PDF
Autodesk Technical Webinar: SAP NetWeaver Gateway Part 1
PPTX
Sql Server 2012 Reporting-Services is Now a SharePoint Service Application
PDF
Company profile Metrasys
Dev mobile apps ent it final
Top Five Reasons to Upgrade to SAP NetWeaver Portal 7.3
Soa cloud con8968_pdf_8968_0001
Soa con8642 pdf_8642_0001
Sap netweaver gateway_2.0_sap_net_weaver
NetWeaver Gateway- Extend the Reach of SAP Applications
Skelta Software Corporate Presentation
Sap microsoft interoperability sitnl 08-12-2012
AD404 - Extend your Social Business by integrating SAP Solutions
SAP Runs SAP Mobile
Google Technical Webinar - Building Mashups with Google Apps and SAP, using S...
IBM Connect 2013 - AD405
Gateway for the uninformed #sitnl edition
Unwired Platform
GlassFish Mobility Platform - Hans Hrasna
Evaluating jaspersoft community & commercial editions
How to build an agentry based mobile app from scratch connecting to an sap ba...
Autodesk Technical Webinar: SAP NetWeaver Gateway Part 1
Sql Server 2012 Reporting-Services is Now a SharePoint Service Application
Company profile Metrasys
Ad

Similar to SAP Mobile Business Objects Development (20)

PDF
Sybase Unwired Platform Development Overview
PDF
UI innovation with SAP NetWeaver Gateway
PDF
SAP NetWeaver Portal OnDevice - Consuming your SAP NetWeaver Portal On Mobile...
PDF
Accessibility guideline web_dynpro_external_version
PDF
2009 Q2 WSO2 Technical Update
PDF
SAP NetWeaver Gateway - Introduction
PDF
Accessing Your Existing SAP NetWeaver Portal on Mobile Device
PDF
Hovitaga Data Visualizer - Overview
PDF
Service Integration Goes Social - Solutions Linux 2012 (OW2 Track)
PPTX
WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)
PDF
Glass Fish Portfolio Web Space What Is James Falkner
PDF
SAP HANA Cloud – Virtual Bootcamp: How to use the HANA Persistence Se…
PDF
SAP NetWeaver Neo*: Community-Driven Development
PPTX
Five Cool Use Cases for the Spring Component in Oracle SOA Suite
PDF
Open Source
PDF
Oracle Fusion applications 101 [2010 OAUG Collaborate]
PDF
The SENSORIA Development Environment
PDF
sap in one day Activites fir basis person
PDF
Introduction to ABAP Core Data Services (CDS).pdf
PDF
Microsoft BI for SAP
Sybase Unwired Platform Development Overview
UI innovation with SAP NetWeaver Gateway
SAP NetWeaver Portal OnDevice - Consuming your SAP NetWeaver Portal On Mobile...
Accessibility guideline web_dynpro_external_version
2009 Q2 WSO2 Technical Update
SAP NetWeaver Gateway - Introduction
Accessing Your Existing SAP NetWeaver Portal on Mobile Device
Hovitaga Data Visualizer - Overview
Service Integration Goes Social - Solutions Linux 2012 (OW2 Track)
WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)
Glass Fish Portfolio Web Space What Is James Falkner
SAP HANA Cloud – Virtual Bootcamp: How to use the HANA Persistence Se…
SAP NetWeaver Neo*: Community-Driven Development
Five Cool Use Cases for the Spring Component in Oracle SOA Suite
Open Source
Oracle Fusion applications 101 [2010 OAUG Collaborate]
The SENSORIA Development Environment
sap in one day Activites fir basis person
Introduction to ABAP Core Data Services (CDS).pdf
Microsoft BI for SAP
Ad

More from SAP PartnerEdge program for Application Development (20)

PDF
SAP HANA Cloud Platform Expert Session - SAP HANA Cloud Platform Analytics
PDF
SUSE Technical Webinar – Get started with creating Lumira CVOM extensions -- ...
PDF
SUSE Technical Webinar – Get started with creating Design Studio extensions -...
PDF
SUSE Technical Webinar: Build HANA Apps in the Framework of the SAP and SUSE ...
PDF
SUSE Technical Webinar: Developing Fiori & GWPAM Apps on HANA (SAP and SUSE C...
PDF
SUSE Technical Webinar: Developing Fiori & GWPAM Apps on HANA (SAP and SUSE C...
PDF
SUSE Technical Webinar: Build B1 apps in the Framework of the SAP and SUSE Ca...
PDF
Google Technical Webinar - Building Mashups with Google Apps and SAP, using S...
PDF
SUSE Technical Webinar: Introduction to Business Intelligence - the SAP and S...
PDF
SUSE Technical Webinar: Build Cloud Apps with SAP HANA Cloud Platform
PDF
Partner with SAP to Develop Mobile apps and capture the Mobile Market Opportu...
PDF
Microsoft Technical Webinar - New devices for Windows 8 and Windows Phone 8, ...
PDF
Autodesk Technical Webinar: SAP Business One
PDF
Microsoft Technical Webinar: Doing more with MS Office, SharePoint and Visual...
PDF
Microsoft Technical Webinar: UX/UI Design for Windows 8 & Windows Phone 8 - S...
PDF
Microsoft Technical Webinar: UX/UI Design for Windows 8 & Windows Phone 8 - P...
PDF
Autodesk Technical Webinar: SAP HANA in-memory database
PDF
Autodesk Technical Webinar: SAP NetWeaver Gateway Part 3
PDF
Autodesk Technical Webinar: SAP NetWeaver Gateway Part 2
SAP HANA Cloud Platform Expert Session - SAP HANA Cloud Platform Analytics
SUSE Technical Webinar – Get started with creating Lumira CVOM extensions -- ...
SUSE Technical Webinar – Get started with creating Design Studio extensions -...
SUSE Technical Webinar: Build HANA Apps in the Framework of the SAP and SUSE ...
SUSE Technical Webinar: Developing Fiori & GWPAM Apps on HANA (SAP and SUSE C...
SUSE Technical Webinar: Developing Fiori & GWPAM Apps on HANA (SAP and SUSE C...
SUSE Technical Webinar: Build B1 apps in the Framework of the SAP and SUSE Ca...
Google Technical Webinar - Building Mashups with Google Apps and SAP, using S...
SUSE Technical Webinar: Introduction to Business Intelligence - the SAP and S...
SUSE Technical Webinar: Build Cloud Apps with SAP HANA Cloud Platform
Partner with SAP to Develop Mobile apps and capture the Mobile Market Opportu...
Microsoft Technical Webinar - New devices for Windows 8 and Windows Phone 8, ...
Autodesk Technical Webinar: SAP Business One
Microsoft Technical Webinar: Doing more with MS Office, SharePoint and Visual...
Microsoft Technical Webinar: UX/UI Design for Windows 8 & Windows Phone 8 - S...
Microsoft Technical Webinar: UX/UI Design for Windows 8 & Windows Phone 8 - P...
Autodesk Technical Webinar: SAP HANA in-memory database
Autodesk Technical Webinar: SAP NetWeaver Gateway Part 3
Autodesk Technical Webinar: SAP NetWeaver Gateway Part 2

SAP Mobile Business Objects Development

  • 1. MBO Development A Branded Service Delivered by Customer Solution Adoption June, 2012
  • 2. Objectives After completing this course, you should be able to: Understand how to use the Sybase Unwired Workspace Understand the SUP development paradigm Understand MBO mobility properties Understand shared-read MBOs Understand guidelines for data loading Understand how to include attachments in you MBO model Build an MBO package ©  2012 SAP AG. All rights reserved. 2
  • 3. Sybase SAP Mobility Platform Apps (native, container, player) Reusable libraries Sybase development tools and lifecycle SDK* on MBO** SDK on OData+ Afaria MBO OData Sybase Unwired Platform 2.x Onboarding, monitoring Other connector Data consolidation Notifications and OData lifecycle, and technologies and distribution subscriptions connector administration Web service BAPI OData JDBC Wrapper Rest (Suite) OData/SAP: data provider (such as SAP NetWeaver Gateway) Third-party services Back ends running SAP software SAP Business Suite SAP Business ByDesign SAP BusinessObjects solutions *Software development kit ** Mobile business object +Open Data Protocol 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 ©  2012 SAP AG. All rights reserved. 3
  • 4. Covered in this Session Apps (native, container, player) Reusable libraries Sybase development tools and lifecycle SDK* on MBO** SDK on OData+ Afaria MBO OData Sybase Unwired Platform 2.x Onboarding, monitoring Other connector Data consolidation Notifications and OData lifecycle, and technologies and distribution subscriptions connector administration Web service BAPI OData JDBC Wrapper Rest (Suite) OData/SAP: data provider (such as SAP NetWeaver Gateway) Third-party services Back ends running SAP software SAP Business Suite SAP Business ByDesign SAP BusinessObjects solutions *Software development kit ** Mobile business object +Open Data Protocol 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 ©  2012 SAP AG. All rights reserved. 4
  • 5. Application Development •  Using Eclipse tooling and the MBO model, a developer creates a package containing one or more MBOs that can be deployed into the server runtime environment. Each package is assigned a version that is associated with the specific runtime artifacts generated by the deployment architecture. •  Once a mobile package is available, the developer can generate device-side artifacts that form the basis of mobile application interactions with SUP services and data •  Developer creates the application, using Xcode, Eclipse, Visual Studio or other design tools for a native application. For a Hybrid Application the Form Designer is used to develop jQuery based UI or a third party tool is used to bring in an HTML based design ©  2012 SAP AG. All rights reserved. 5
  • 6. SUP MBO-based Apps Development The 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 mappings, creates HTML5 storage key-value structure, and generates request methods in JavaScript API SUP Development Task Flow 3 4 Generate Develop Native Native Object 1 2 Application 5 6 Develop Deploy Mobile Code Deploy and Deploy and Mobile Business Test in Test on Business Objects to Generate Simulator Device Objects Unwired Server Develop HTML5/ Hybrid JavaScript Application Code ©  2012 SAP AG. All rights reserved. 6
  • 7. Native Object API MBO The synchronization architecture is based on a Cache DB that resides on the SUP Server, and replicates and/or messages updates to the Client DB SUP Client DB Server Synchronization Data Source Cache DB Client DB Cache Refresh Client DB ©  2012 SAP AG. All rights reserved. 7
  • 8. Native Object API MBO: Operations Operations are staged from EIS to Cache, Cache to Client, and vice versa Enterprise Operation Replay: operations Invoke the corresponding executed in Client DB are System SUP mapped EIS Operations replayed on Cache DB Server Operations Fill Filter Client DB Load Operations (with Cache à Device Data parameters) to retrieve Operations are filtered by Repository data from EIS Cache Synchronization Parameters DB ©  2012 SAP AG. All rights reserved. 8
  • 9. Native Object API MBO: Data Schema The 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. 9
  • 10. Native Object API MBO The MBO provides configuration for all aspects of the mobile architecture Client DB schema Object Class files Cache content Query & Operation (data filtering) methods Data Cache DB Client Source Operations DB Cache Refresh SUP Server frequency Synchronization Parameters Synchronization Cache frequency DB ©  2012 SAP AG. All rights reserved. 10
  • 11. Demo: Creating an MBO -  Database MBO (Quick Create) -  Web Service MBO -  SAP MBO ©  2012 SAP AG. All rights reserved. 11
  • 12. Native Object API MBO MBO Properties include: •  Attributes •  Data Source, Type, Connection Settings •  Operations •  Bind to Existing Operations, or Add New •  Relationships •  Mappings, Complex Types •  Object Queries •  Query methods generated in Object Classes •  Synchronization Settings •  Rules, Partitions ©  2012 SAP AG. All rights reserved. 12
  • 13. Native Object API MBO Mobility Properties include: •  Data Source •  Stored as a Connection Profile •  Parameters •  Name, Type, Nullability, Required •  Mapping: Variable (Personalization Key) mapping, rules for updating on device, old-value rules •  Roles •  Rules for Logical and Physical roles •  Cache Update Policy •  On Demand, Scheduled, DCN •  Synchronization Settings ©  2012 SAP AG. All rights reserved. 13
  • 14. MBO Mobility Properties Synchronization Load Arguments Cache Groups Operation Cache Policy Object Queries ©  2012 SAP AG. All rights reserved. 14
  • 15. Synchronization Restricts amount of rows transferred from Unwired Server CDB to the device Filter results that have large amount of data that does not change frequently Personalization keys Enables users to store their search preferences on the client, the server, or by session Does not affect EIS interaction with the CDB ©  2012 SAP AG. All rights reserved. 15
  • 16. Synchronization ©  2012 SAP AG. All rights reserved. 16
  • 17. 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   CA   Cache DB 2   Cisco   1 Cisco Way   San Jose   CA   3   Ultra   1 Ultra Lane   Santa Clara   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   JPMorgan 270 Park Ave   New York   NY   Chase   Filter: This MBO has one synchronization parameter [city] Mobile application sets the synchronization parameter prior to performing synchronization to ‘Santa Clara’ Customer ID   Name   Address   City   State   Client DB 1   Intel   1 Intel Drive   Santa Clara   CA   3 Ultra 1 Ultra Lane Santa Clara CA 4   AMD   1 AMD Ave   Santa Clara   CA   ©  2012 SAP AG. All rights reserved. 17
  • 18. Synchronization Data Flow 1.  User initiates a synchronization request that includes an attribute value 2.  Unwired Server filters the data in the CDB If attribute is country and user supplied “USA” as the value, rows that contain “USA are returned 3.  Unwired Server synchronizes the device with the results ©  2012 SAP AG. All rights reserved. 18
  • 19. Load Arguments Control the amount of data refreshed between the EIS and CDB Creates its own partition in the CDB based on load argument value (partition key) Can be paired with synchronization parameters User will supply values for the argument(s) ©  2012 SAP AG. All rights reserved. 19
  • 20. Load Arguments ©  2012 SAP AG. All rights reserved. 20
  • 21. 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   CA   Cache DB 2   Cisco   1 Cisco Way   San Jose   CA   3   Ultra   1 Ultra Lane   Santa Clara   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   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 CA 4   AMD   1 AMD Ave   Santa Clara   CA   ©  2012 SAP AG. All rights reserved. 21
  • 22. Load Argument Data Flow 1.  User initiates a synchronization request and includes an argument value 2.  If personalization keys are used, Unwired server passes the query to the EIS 3.  EIS refreshes Unwired Server based on the argument value 4.  Unwired Server creates a partition with the results in the CDB for the validated user or updates the partition 5.  Unwired Server synchronizes the device with the data in the CD partition for that user ©  2012 SAP AG. All rights reserved. 22
  • 23. Cache Groups Specifies the data refresh behavior for every MBO within the group An MBO can belong to only one cache group Cache Policy On demand Scheduled DCN Online ©  2012 SAP AG. All rights reserved. 23
  • 24. Cache Groups ©  2012 SAP AG. All rights reserved. 24
  • 25. Cache Group Data Flow The deployed MBO package triggers a cache update depending on the cache group to which it belongs CDB is updated based on the cache group settings ©  2012 SAP AG. All rights reserved. 25
  • 26. Operation Cache Policy Determines how the CDB is updated after an operation Apply results to the cache Invalidate the cache (refresh all data) No effect Ÿ  If a cache policy is not selected, the operation results are not applied to the cache ©  2012 SAP AG. All rights reserved. 26
  • 27. Operation Cache Policy ©  2012 SAP AG. All rights reserved. 27
  • 28. Operation Cache Policy Data Flow 1.  The Device application initiates a create, update, or delete operation 2.  Unwired Server passes the operation to the EIS where the operation is executed 3.  The CDB is updated based on the cache policy. A subsequent synchronization reflects the changed CDB ©  2012 SAP AG. All rights reserved. 28
  • 29. Object Queries SQL statements associated with an MBO against the persistent store on the device Returns a subset of a result set Automatically generated for each MBO attribute identified as a primary key If multiple primary keys exists, an additional composite object query is generated ©  2012 SAP AG. All rights reserved. 29
  • 30. Object Queries ©  2012 SAP AG. All rights reserved. 30
  • 31. Local Business Object A client only object Defined in the Unwired Workspace Not bound to EIS data sources Cannot be synchronized Used as a local data store on the device ©  2012 SAP AG. All rights reserved. 31
  • 32. Shared-Read MBOs Optimization feature that loads multiple MBOs with a single read operation Better performance No shared write or composite write operation ©  2012 SAP AG. All rights reserved. 32
  • 33. MBO and Attachments Inline attachments are expensive Do not embed inline with the MBO as an attribute Attachments typically do not change Ÿ  Uploading and downloading a large attachment can be significant Upload of attachments is slower than downloads Ÿ  Not advisable to upload attachments Object instantiation and resource consumption is also costly SUP uses BigString and BigBinary Ÿ  Not loaded when the object containing them is instantiated Ÿ  Include a special API to access only the segment the application is interested in ©  2012 SAP AG. All rights reserved. 33
  • 34. MBO and Attachments Consider the attachment as an MBO Use a separate MBO to hold the attachment Ÿ  Provides flexibility using synchronization parameters and synchronization groups Ÿ  Allows the application to subscribe to the attachment when required via a synchronization parameter Bulk download all attachments during an initial synchronization in a high quality connected environment Attachments typically do not change Cost of this approach is more complex an longer application roll-out cycle ©  2012 SAP AG. All rights reserved. 34
  • 35. Result Checker A result checker is a custom Java class that implements error checking for Mobile Business Objects (MBOs). Not all MBO operations use a "standard" error reporting technique; you may want to implement your own custom result checker. Doing so allows you to check any field for errors Implement logic that determines what constitutes an error Logic that determines the severity of the error The error code and message can be influenced in the result checker by throwing a DSException ©  2012 SAP AG. All rights reserved. 35
  • 36. Result Checker A custom result checker can throw errors for both a scheduled cache refresh as well as an on demand cache refresh For a scheduled refresh Ÿ  log message to the Unwired Server log. Ÿ  transaction for the entire cache group is rolled back Ÿ  The device client user is not notified of these errors; no client log records are generated On demand refresh Ÿ  No error to the server log, but the log message is written to the Unwired Server Services handle the exception Ÿ  The transaction for the cache group is rolled back Ÿ  A client log record is generated, which is visible to the client application after synchronization ©  2012 SAP AG. All rights reserved. 36
  • 37. Result Checker - Example MBO representing the price of a sales order item, based on a WebService call WebService works fine, no technical errors Due to some internal calculation and bad backend data, it occurred that a price of 0 or less was returned Custom Result Checker to determine the price is actually calculated correctly price below 0 means error ©  2012 SAP AG. All rights reserved. 37
  • 38. Demo: MBO Deployment Follow along as an MBO Package is deployed to the server. •  Unwired Workspace allows for development of MBOs at design time •  In order to actually consume MBOs, the model needs to be deployed to server (recall split of runtime and design time) ©  2012 SAP AG. All rights reserved. 38
  • 39. Lab 2: Create Mobile Business Objects
  • 40. © 2012 SAP AG. All rights reserved. No part of this publication may be reproduced or transmitted in any form or for any purpose Google App Engine, Google Apps, Google Checkout, Google Data API, Google Maps, without the express permission of SAP AG. The information contained herein may be Google Mobile Ads, Google Mobile Updater, Google Mobile, Google Store, Google Sync, changed without prior notice. 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 of other software vendors. INTERMEC is a registered trademark of Intermec Technologies Corporation. Microsoft, Windows, Excel, Outlook, PowerPoint, Silverlight, and Visual Studio are registered Wi-Fi is a registered trademark of Wi-Fi Alliance. trademarks of 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 z10, z10, z/VM, z/OS, OS/390, zEnterprise, PowerVM, Power Motorola is a registered trademark of Motorola Trademark Holdings LLC. Architecture, Power Systems, POWER7, POWER6+, POWER6, POWER, PowerHA, Computop is a registered trademark of Computop Wirtschaftsinformatik GmbH. pureScale, PowerPC, BladeCenter, System Storage, Storwize, XIV, GPFS, HACMP, RETAIN, DB2 Connect, RACF, Redbooks, OS/2, AIX, Intelligent Miner, WebSphere, Tivoli, SAP, R/3, SAP NetWeaver, Duet, PartnerEdge, ByDesign, SAP BusinessObjects Explorer, Informix, and Smarter Planet are trademarks or registered trademarks of IBM Corporation. StreamWork, SAP HANA, 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 Linux is the registered trademark of Linus Torvalds in the United States and other countries. other countries. Adobe, the Adobe logo, Acrobat, PostScript, and Reader are trademarks or registered Business Objects and the Business Objects logo, BusinessObjects, Crystal Reports, Crystal trademarks of Adobe Systems Incorporated in the United States and other countries. Decisions, Web Intelligence, Xcelsius, and other Business Objects products and services Oracle and Java are registered trademarks of Oracle and its affiliates. mentioned herein as well as their respective logos are trademarks or registered trademarks of Business Objects Software Ltd. Business Objects 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 Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin products and services mentioned herein as well as their respective logos are trademarks or are trademarks or registered trademarks of Citrix Systems Inc. registered trademarks of Sybase Inc. Sybase is an SAP company. HTML, XML, XHTML, and W3C are trademarks or registered trademarks of W3C®, Crossgate, m@gic EDDY, B2B 360°, and B2B 360° Services are registered trademarks of World Wide Web Consortium, Massachusetts Institute of Technology. Crossgate AG in Germany and other countries. Crossgate is an SAP company. Apple, App Store, iBooks, iPad, iPhone, iPhoto, iPod, iTunes, Multi-Touch, Objective-C, All other product and service names mentioned are the trademarks of their respective Retina, Safari, Siri, and Xcode are trademarks or registered trademarks of Apple Inc. companies. Data 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 RIM, BlackBerry, BBM, BlackBerry Curve, BlackBerry Bold, BlackBerry Pearl, BlackBerry reproduced, copied, or transmitted in any form or for any purpose without the express prior Torch, BlackBerry Storm, BlackBerry Storm2, BlackBerry PlayBook, and BlackBerry App written permission of SAP AG. World are trademarks or registered trademarks of Research in Motion Limited. ©  2012 SAP AG. All rights reserved. 40