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:
|
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/).
|