1 Oracle Database Mobile Server Concepts

The following sections provide an introduction to Oracle Database Mobile Server and its components:

1.1 Overview of Oracle Database Mobile Server

Oracle Database Mobile Server provides a complete mobile infrastructure designed to run enterprise database applications for clients using either the Berkeley DB or SQLite databases. Oracle Database Mobile Server provides the infrastructure that makes the enterprise application and data store available even when communications to the enterprise itself are not available or reliable. Oracle Database Mobile Server brings the applications that were once limited to the base office and deploys these applications out into the world where they are most needed.

The following sections describe how you can use Oracle Database Mobile Server to streamline your operations in the field:

1.1.1 What is a Mobile Architecture?

The mobile architecture completes the enterprise system by merging the enterprise infrastructure with every remote aspect of the organization. A mobile architecture contains the remote application, the remote database, and the remote rules of the business. The Oracle Database Mobile Server mobile infrastructure is responsible for connecting and synchronizing applications, associated data, and business rules with the applications, database, and business rules of the enterprise.

1.1.2 What Are the Benefits of a Mobile Architecture?

A mobile architecture with the proper design, security components, and implementation saves money. Oracle Database Mobile Server can remove some of the manual processes performed out in the field. In the past, you may have manually written down the information in the field and then manually entered the data in the enterprise database once you returned to the corporate environment. With Oracle Database Mobile Server, you can capture the data once in the field by entering the data into a client device. Then, this data is synchronized up to the enterprise without returning to the office to manually enter data. This removes a loss of productivity due to manual processes and sends the data immediately to the enterprise where it belongs. In addition, data can flow bi-directionally. If you need information at the remote site that has been updated at the office, this data is brought down to the client device during synchronization.

An application is created, where the user enters data on a client device, known as the mobile client. The mobile client can use either Berkeley DB or the SQLite database as the client database. The data on either mobile client is synchronized with a back-end Oracle database. For example, if you have a sales force, each sales person retrieves only his/her data on the client device. Any modifications made on either the mobile client by the sales person in regards to his/her accounts or modified on the server by the office can be synchronized.

1.1.3 Why Use Oracle Database Mobile Server?

Oracle Database Mobile Server provides a complete mobile infrastructure suitable for almost any enterprise demands using the following:

  • The mobile server repository resides in the back-end enterprise database, which links the enterprise data with the mobile data.

  • The mobile server is a Web-based tier that integrates with Oracle WebLogic Server, Oracle Glassfish or OracleAS.

    This accesses remote locations through different types of wireless or wired connectivity. It facilitates the major functions for the mobile option, such as synchronization, application management, device management, and so on.

  • The mobile client uses a client database, which can be either Berkeley DB or a SQLite database, and the means for deploying applications developed using the most popular languages. The mobile client database stores the relational data in one or more data files on the file system on the client. While the SQLite database is already installed on many client devices, you can install the Berkeley database on most any device from a cell phone, to a personal digital assistant (PDA), Tablet PC, Laptop, and so on from the Mobile Manager.

1.2 Roadmap to Understanding and Using the Mobile Server

The mobile server is a compilation of two products: the mobile server and the mobile client.

In an enterprise system, the mobile server facilitates the synchronization of data between multiple mobile clients and Oracle databases. The mobile client facilitates the synchronization of data from an independently installed client database to the mobile server. The supported client databases are listed below:

  • SQLite client database: If you are using the SQLite database as the client database, you must install this independently. If it is not already installed, refer to http://www.sqlite.org/ for more information on installation, configuration and usage.

  • Berkeley DB: If you are using the Berkeley DB with SQLite (BDB-SQLite) as the mobile client database, you must install this independently. If it is not already installed, refer to http://www.oracle.com/technology/products/berkeley-db/index.html for more information on installation, configuration, and usage.

    In a mobile environment, install BDB-SQLite must be installed from the mobile server to be enabled for synchronization. To properly install, develop and administer all components in the mobile server, first follow instructions in the mobile server books.

After installing the supported client database, install the mobile client, which includes the Sync Engine for managing synchronization between the client database and the back-end Oracle database. For details, see Chapter 2, "Installing the SQLite Mobile Client" in the Oracle Database Mobile Server Mobile Client Guide.

The following sections provide a roadmap for where to find the information to design, develop and manage the mobile server:

1.2.1 Designing and Developing your Mobile Applications

When you design a mobile application that provides synchronization of data from several users on multiple devices to one or more Oracle databases, you must carefully consider a balance between application functionality and minimizing the data being synchronized before you start to develop your application. Synchronization from multiple users and devices can cause performance issues. Thus, the design has an impact on how performant is the data synchronization.

To streamline your development, we have provided several sections guiding you through design decisions before developing a mobile application. For full details, see Chapter 1, "Overview for Designing Mobile Applications" in the Oracle Database Mobile Server Developer's Guide.

1.2.2 Synchronizing Data from a Mobile Client to the Oracle Database

The following sections describe each mobile client database type from which you can use to synchronize data to the back-end Oracle database:

1.2.2.1 Using the SQLite Database

The SQLite database is a small, compact, and self-contained database available on multiple platforms and available to the public. It has a small footprint and is easy to install and administer. In addition, many devices already have the SQLite database installed, including Android and Blackberry devices.

If you want to use a SQLite database on any device and synchronize the data entered in the SQLite database to a back-end Oracle database, install the SQLite Mobile Client, which includes the Sync Engine that supports synchronization. For Win32, WinCE and Linux platforms, both automatic and manual synchronization is supported. On Android and Blackberry devices, only manual synchronization is supported. For more details, see Chapter 2, "Installing the SQLite Mobile Client" in the Oracle Database Mobile Server Mobile Client Guide.

1.2.2.2 Using Berkeley DB with SQLite

Berkeley DB is a small database that has a small footprint and is easy to administer. The mobile server gathers and synchronizes data from multiple mobile devices from several users.

Berkeley DB is its own product and is described completely in the Berkeley DB documentation. It can be used with the mobile server for synchronizing data to a back-end Oracle database or an Oracle RAC database.

1.2.3 Configuring and Managing the Mobile Server Environment

The Mobile Manager is a GUI tool that enables you to configure and manage the mobile server. Some of the functions you can perform through the Mobile Manager are as follows:

  • Create users.

  • Manage permissions.

  • Execute statistics.

  • Determine performance of your SQL queries.

  • Resolve errors, including conflict errors.

Configuration and management of the mobile server are described in the Oracle Database Mobile Server Administration and Deployment Guide.

1.2.4 Performance Techniques

Mobile devices do not have the processing power and memory that standard enterprise systems maintain. If the mobile applications and infrastructure are not tuned appropriately they really are of little benefit to the organization.

The most important performance concepts for a mobile infrastructure are as follows:

  • The time it takes to enter and retrieve data.

  • The time it takes to synchronize data with the enterprise data store.

See Oracle Database Mobile Server Troubleshooting and Tuning Guide for techniques to enhance your performance for Oracle Database Mobile Server.