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 Berkeley DB, SQLite, or Java DB. 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, SQLite or Java DB database as the client database. The data on the 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 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 Apache TomEE.

    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 Berkeley DB, SQLite, or Java DB 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 DB 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 for Understanding and Using the Mobile Server

The Database 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 database: If you are using the SQLite database as the client database, you do not need to install the SQLite database independently when using a native mobile client, but you must install it independently when using pure Java mobile client. 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 as the client database, you do not need to install the Berkeley DB database independently when using a native mobile client, but you must install it independently when using pure Java mobile client. 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.

  • Java DB database: Java DB is bundled with Oracle JDKs. If you are using Java DB as client database, you can only use pure Java Sync Engine (pure Java SE). Refer to http://db.apache.org/derby for more information on configuring, managing and using Java DB.

In a mobile environment, install the mobile client to enable synchronization. To properly install, develop and administer all components in the mobile server, first follow instructions in the mobile server books.

The installation of a mobile client includes the Sync Engine for managing synchronization between the client database and the back-end Oracle database. For details, see Chapter 2, "Installing the 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 more information, 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 which you can use to synchronize data to the back-end Oracle database:

1.2.2.1 Using 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.

The SQLite database can be used with the mobile server for synchronizing data to a back-end Oracle Database or an Oracle RAC database. For Win32, WinCE, Linux, Android, and iOS platforms, both automatic and manual synchronization are supported. On Blackberry devices, only manual synchronization is supported. For more information, see Chapter 2, "Installing the Mobile Client" in the Oracle Database Mobile Server Mobile Client Guide.

1.2.2.2 Using Berkeley DB Database

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. For Win32, WinCE, Linux, Android and iOS platforms, both automatic and manual synchronization are supported.

1.2.2.3 Using Java DB Database

Java DB is a full - featured, small footprint SQL database, which comes bundled with Oracle JDKs. Java DB is pure Java and it runs on Java SE platforms, that is platforms where Java SE runs.

Using the mobile client, which is installed independently, you can synchronize multiple Java DB databases with a back-end Oracle database.

If you want to use a Java DB database on Java SE platforms and synchronize the data entered in the Java DB database to a back-end Oracle database or an Oracle RAC database, download the pure Java Sync Engine archive file for Java DB, which supports both automatic and manual synchronization.

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 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.