Sun Java System Mobile Enterprise Platform 1.0 Developer's Guide for Client Applications

Chapter 1 Introduction to the Mobile Client Business Object (MCBO) API

Sun Java System Mobile Enterprise Platform (MEP) provides a Java Platform, Mobile Edition (Java ME) data synchronization library, called the Mobile Client Business Object (MCBO) API , that enables development of client applications for MEP. This library, in conjunction with the Enterprise Connector Business Object (ECBO) API, provides a complete solution that allows you to synchronize arbitrary enterprise data. Although the MCBO and ECBO APIs are based on Open Mobile Alliance Data Synchronization (OMA DS), you do not need to know specifics of OMA DS in order to use the APIs.

You must be connected to a server in order to synchronize data with the server. However, you can use the MCBO library in disconnected mode; that is, you can add, delete, and modify client data without being connected to a server.

This chapter covers the following topics:

About the Mobile Client Business Object (MCBO) API

The Mobile Client Business Object (MCBO) API provides a simple set of APIs to build Java ME client applications that can synchronize business data with databases or ERP/EAI systems. To provide this synchronization capability, the APIs use an implementation of the Open Mobile Alliance Data Synchronization (OMA DS) specifications, formerly known as SyncML. Even if you have no knowledge of OMA DS, you can use the MCBO API to build Java ME client applications with OMA DS capabilities on Java ME devices. These client applications can synchronize their local data with a Sun Java System Mobile Enterprise Platform (MEP) server, which in turn communicates with a database or ERP/EAI system. The MCBO API can establish connections to any server that conforms to the OMA DS standard.

The MCBO API provides the ability to synchronize business objects in the form of arbitrary user-defined data types.

The MCBO API allows you to synchronize any objects that can be represented as a byte array, including arbitrary data types and data collections. Examples include:

The MCBO API offers the following benefits:

Synchronization Types

The MCBO API supports the following types of client-initiated synchronizations:

Server-initiated synchronization is also possible. The server can initiate syncs by sending SMS messages to the client device.

Both the client and the server store information about changes to their respective data stores since the last successful synchronization. When the next synchronization is performed, the client and server negotiate how the changes are resolved and propagated according to the type of synchronization being performed.

Client Device Requirements

The client device must be a Java and GPRS/UMTS enabled device that supports the following specifications:

The size of the obfuscated jar file for the MCBO API is approximately 190 KB (it can vary depending upon the size of the application), so the burden of supporting this API is low even on devices that have limited memory. Client applications are bundled with a copy of the API as a single jar file.

Server-side Requirements

On the server side, the MCBO API needs a standard-conforming OMA DS server. The MEP Gateway Engine installed on Application Server is such a server.