By Ian Thain | Article Rating: |
|
February 11, 2011 03:45 AM EST | Reads: |
20,431 |

The design cornerstone of the Sybase's MEAP the Sybase Unwired Platform is the Mobile Business Object (MBO). The MBO encapsulates the business process logic and data into a reusable unit that can be accessed from a variety of clients.
The development can take two approaches, firstly the Top-Down approach, which creates the MBO based upon how the client wants to use it... eventually binding to the data source. Secondly, the Bottom-UP approach which uses the data source to automatically bind and create the MBO. Both use the Unwired tooling and are easy to create, with similar steps listed below
- Connect to the back-end data sources that need to be mobilized, via the Unwired tooling
- Connect the Unwired tooling to the Unwired Server
- Create a Mobile Application Project
- Create the MBO from the data source via wizards or Create the MBO attributes and Create, Update, Delete Operations seperately
- Deploy the MBO's to the Unwired Server
Diving a bit deeper the MBO is...
- A metadata definition representing a “slice” of enterprise data and operations
- A design-time element that manifests as a concrete runtime object
- The building block for synchronization and transaction of multiple elements of an application
- Personalization keys (device context) helps narrow data sets *see below
- MBOs are the basis for concrete Objective-C, C# and Java device-side object interfaces
Development Paradigm
Attributes (synchronized data)
- Define the scope of the device-side data store
- Attributes and parameters in an MBO definition form the shape of the server-side cache
- Server cache and device is populated by reading data from the enterprise, e.g., through an MBO definition operation like a SQL select statement
Operations (enterprise playback)
- Backend tasks to be carried out within the enterprise or through an external service, typically with respect to the MBO attributes
Parameters
- Can be passed to one or more operations
- Linked to upstream parameters or attributes
- Defined by personalization keys for a user or group *see below
Relationships
- Form the basis of transactions by identifying the dependencies and state requirements of device-side entities
Relationships are formed by mapping attributes and parameters similar to a primary-foreign keys
How does SUP perform its functions?
- Design or Modify in the Designer Mode through the GUI interface to define/Edit “Mobile Business Objects”
Use tooling set preferred (Eclipse or Visual Studio) - In designer mode, the SUP tool generates the SQL and code operations for the devices and server side apps and any addition API, filtering and so forth occurs in this phase. Then package and deploy.
- In operation or runtime mode, SUP Runtime engine then performs the synchronization/loads and relationship management as specified by the MBO runtime parameters
Sybase Unwired Platform offers flexibility when creating mobile applications – catering to the needs/requirements of both novice and advanced mobile developers.
For iSurvey I used the Bottom-Up approach and the wizards in the Unwired Tooling to create a 1:1 representation of the tables that I wanted to synchronize onto Mobile Client.
Personalization keys helps narrow data sets... For iSurvey each user will be placing data (contacts and survey results) into their own remote database via the app and will not want to see the data from other users, likewise specific surveys may wish to be pushed out from the consolidated database to individual users. For this we use Personalization keys on the defined MBOs, for example Survey_contact
Looking to the next step... Developers have two choices when creating native applications in Sybase Unwired Platform...
- Create MBOs that connect to back-end data sources then use Sybase Unwired Platform to generate code warapper for the targeted device and code further using the native device SDK
- Create MBOs that connect to back-end data sources, use Sybase Unwired Platform to generate the default device GUI and then further customize the GUI for a device-specific user experience using the native device SDK.
For iOS #1 is the only option and we will go into that further...
Please check back weekly on a Friday for the next article and please follow me on Twitter @ithain
Published February 11, 2011 Reads 20,431
Copyright © 2011 Ulitzer, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
Related Stories
More Stories By Ian Thain
As one of the Sybase Technical Evangelists, Ian regularly addresses technical audiences all over the world and his sessions are always very well attended. He also writes education classes, whitepapers, demos and articles for various Sybase products and publishes regularly in Journals such as SYS-CON's PBDJ and International Developer Magazine. He is also the Sybase Unwired Platform & PocketBuilder Evangelist and works closely with the team in Dublin, CA and Concord, MA on new features and demonstrations for the products. In his customer-facing Evangelist role, Ian is very involved with the design, production and testing of Enterprise class Unwired Solutions, that have been implemented using Sybase's Unwired tools for Sybase customers around the globe. In addition, Ian is a dedicated technical expert continually working with Sybase's key partners and clients to enhance the capabilities of the Unwired solutions that Sybase can offer to its customers. Ian can also be found on Twitter @ithain
- RIA Conference Keynotes: Adobe & Microsoft
- Time to Build iPhone Applications Using Web 2.0 Technologies!
- Amazon Releases Kindle for iPhone
- Netflix UI Guru To Present on Crafting Rich Web Interfaces
- iPhone Office: 100 Ways to Turn Your Device into the Ultimate Productivity Tool
- AJAX World RIA Conference - Ubiquitous Computing Using Flex
- SYS-CON Announces "iPad Summit" Colocated with "Cloud Expo" in Silicon Valley
- Whatever the Apple iPad Is, It Apparently Leaks Like a Sieve
- Jobs Has a Few Words for Google & Adobe & They Ain’t Pretty: Reports
- Opinion: Do Google Android Mobile Apps Lack Consistency?