Presentation
 
1. Introduction
2. Main concept
3. The framework
4. Embedded database
5. Web Server and Servlet API
 
Hosted by
   
1.Introduction.  

Open mobile IS is an open source project that aims to provide all the necessary tools, API, and documents which enable effective nomad applications development. Heart of the project, the java framework is divided into components that provide all the needed functionalities.

Mobile applications are any type of applications used by nomad workers outside the company area. Mostly those applications concern commercial teams, technicians, drivers and deliverymen, ...

The key point is that nomad users must have access to the company data anywhere at anytime. To do so, they use a terminal to access the company applications. The terminal is connected to the company from time to time to update its data. One of the main frameworks’ added value is to provide an efficient synchronization mechanism between the terminal and the company information system.

 
2. Main concept.  

This framework is based on our 5 years experience in the development of mobile applications for our customers. The four main principles that have driven our technical and architecture choices in the making of this framework are:

  • security: the framework must provide an answer to all security constraints generated by mobile application. The 3 main security fields are :

    • Data protection inside the terminal,

    • Data protection during transfer between the terminal and the information system,

    • The information system access protection.

  • Accessibility: the application must be user friendly. Final users are not computer aware. In order to maximize the chance to see nomad application accepted, these applications must have an ergonomic adapted to the users.

  • Availability: the application, and therefore the data, must be available everywhere, at anytime. If the data are available only from time to time, the user won't use the application.

  • Evolution capabilities: terminal, software technologies evolve rapidly. Applications must be able to follow this evolution.

 
3. The framework  
3.1 Introduction  

To answer these constrains we have developed a java framework providing the following components:

  • An embedded object database optimized for low CPU or memory terminal called FODB.

  • An embedded application server that provides the servlet API, or a specific services API.

  • A synchronization API dedicated to data, applications synchronization.

  • A high level module that provides base functionalities needed by all nomad applications.

3.2 Access integration  

In order to make easier application usability, the framework provides some ergonomic solutions to classic data management problems. These solutions have been tested on real applications since some years and have been approved by the nomad users. As a base of all these solutions the framework provides a web interface for all application. Internet applications are now used by billions of people and these GUI (graphic User Interface) paradigms have proven to be the most accessible. Beside this web integration, the framework provides some functionalities making easier the development of web application.

3.3 Availability integration  

Availability is provided as follows :

  • data synchronization, so users can access there data anywhere at anytime.

  • high stability of the framework. The framework is in production since several years with several types of applications.

3.4 Application evolution  

Application evolution is facilitate by :

  • The framework is developed in Java and is compatible with Java JDK 1.1. Native functionalities like RAS use or PIM integration are mapped with a Java API and we provide a version for all supported terminals (windows, Pocket PC and Linux). The framework provides an abstraction layer from the system that minimizes application development when changing the terminal. Some of our customers have developed applications which have been deployed on Pocket PC 2000, 2002, 2003, 2003 SE with no change in the application code. Only the version of the framework changed.

  • Web interface that dissociate the GUI with the business code. So when the screen changes, only the presentation part has to be modified. Some of our customers’ applications are deployed on both windows PC and Pocket PC for PDA, with the same business logic code.

4 Embedded database  
4.1 Introduction  

Open Mobile IS Embedded database is a simple object database optimized for low CPU and Low memory terminal. It provides a simple API to store and retrieve objects from the database. The Open Mobile IS embedded database or Fast Object DB or FODB is well suited for mobile and embedded applications. The object storage capability facilitates its use inside Java (This avoid to use mapping tool and so on), simple query API (see from SODA API for more details) provides an easy way to manage objects inside the application.

4.2 Description  

FODB is constructed using collections. Each collection is a set of objects of the same type. To retrieve objects, indexes are added to the collection. Index can index objects, methods or fields. The mains FODB functionalities are:

  • Objects method or fields indexation.

  • Simple query API derived from SODA API.

  • Transaction management with auto commit.

  • Plug-ins synchronization facilities

4.3 To Do list  

The next planned evolutions of FODB are:

  • Database synchronization API.

  • Better transaction management. Changes written to the collection file inside a transaction are not roll backed.

  • J2ME port.

5 Web Server and Servlet API  
5.1 Embedded Web Server  

All OpenMobile IS development is based on the Internet paradigms. Application are developed on a web server and all user interaction are made on a browser. For embedded application, the server and the browser are on the same terminal.

Open Mobile IS embbeded server provide an implementation of the javax.servlet API. Thow, OpenMobile IS development can be deployed on any HTTP server supporrting servlet API (Tomcat for exemple). To facilitate embedded applications development, the project provides an embedded java WebServer (based on Acme.Serve.Serve single-class WebServer, see http://www.acme.com/java/software/Acme.Serve.Serve.html), optimised for low cpu/memory devices.

5.2 Open Mobile IS : a Service Manager  

To facilitate OpenMobile IS development portability accross different achitectures, we add to the servlet API a new abstract layer call Service API. Service API add a better integration to all functionality provided by the OpenMobile IS plateform (template service, module and profile managment, ...).

Service API is very closed from the servlet API, using HttpServletRequest and HttpServletResponse (from the javax.servlet API), for the treatment of the request and the response.

As most of the services are meant to send a graphical response (HTML page), our API also provides a service called TemplateService. This service uses a template engine to facilitate HTML genration. This technic also provides an easy way to manage devices'a diplay changes. The default template engine used is freemarker (http://freemarker.sourceforge.net/).