Mobile Business Objects: MBO Concept and Creation

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

MBOs are the basis for concrete Objective-C, C# and Java device-side object interfaces

CIO, CTO & Developer Resources

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

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

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

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.

Cloud computing budgets worldwide are reaching into the hundreds of billions of dollars, and no organization can survive long without some sort of cloud migration strategy. Each month brings new announcements, use cases, and success stories.