Mobility Issues

Mobile applications present many challenges for software developers. These challenges are not adequately addressed by data communication techniques such as HTTP, CORBA, or RMI, which were designed for wired environments. At this early stage of experience with wireless systems, mobile applications are typically written to function on one particular type of device or PDA. To work well on another type of device, applications must be rewritten. This is obviously an uneconomical process with the proliferation of device types.

In the wired world, middleware has been used very successfully for almost two decades now to allow applications to run on multiple platforms without need to rewrite them. Therefore it's an appealing idea to also use middleware on mobile devices, to make mobile applications more portable. However, most middleware products on the market today have not been tailored for mobile devices. For example, they require more memory than is available on a PDA and only support communication protocols that were designed for wired networks, notably TCP/IP.

In this section we will look at the very specific issues of developing mobile applications, and derive requirements for mobile messaging middleware. In the next section, we show that JMS provides an ideal platform for hosting mobile applications, if the JMS middleware adequately addresses the needs and restrictions of mobile applications.

Developing applications to run on mobile devices requires developers to deal with issues not present in traditional fixed line systems:

click to expand

Consider the simple scenario depicted above:

  • Disconnected operation
    Mobile applications lose and regain network connectivity much more often than non-mobile applications. The developer must be able to cope with intermittent communication links and implement Software layers that ensure the delivery of important data between the server and the mobile device.

  • Resource constraints
    Mobile applications must be optimized aggressively for small ROM and RAM footprints, as well as for low usage of CPU cycles and battery power.

  • Multiple bearers
    Internet applications only need to support HTTP or TCP/IP. Mobile applications are written against many different bearers: SMS, GPRS, Infrared, Bluetooth, and HTTP. An application written for one bearer typically needs to undergo substantial modifications in order to run on another bearer.

  • Multiple platforms
    As was pointed out above, it is unclear which operating system will be the winner in the mobile communicator device market, if there is going to be only one winner at all. Palm OS is strong in the PDA market, but Symbian and Windows CE are contenders in the communicator market. Therefore it is advantageous to develop applications in such a way that they can be run on various platforms, without requiring substantial modifications.

  • Security
    A key concern in a mobile environment. Identification, authentication, and data encryption must be embedded into mobile applications.

  • Deployment and management
    Deploying a mobile application to a hundred thousand devices and administering its client and server parts is another concern.

Requirements for Mobile Middleware

Building mobile applications using a JMS implementation targeted at mobile devices can solve most of these issues and problems. In this section we elaborate on what features such a special purpose JMS middleware must provide to mobile applications:

  • Support for disconnected operation
    The middleware should neither raise communication errors nor lose data when a mobile device loses network coverage. The illusion of a fully reliable communication link between mobile devices and servers is to be provided to the developer. This feature makes the development of mobile applications much easier, because developers can focus on the application services rather than on low-level communication issues.

  • Small footprint
    It is particularly important that the messaging client library (stored in the communicator) should have a small memory footprint (ROM and RAM).

  • Open bearer models
    The middleware should offer the same set of communication abstractions atop various wireless bearers. This allows applications to be developed once and operate atop various bearers.

  • Multi-platform middleware
    This should be pure Java and compatible to Java standards such as J2ME or PersonalJava. This allows applications to be adapted for various platforms more easily.

  • Security
    Access control, identification, authentication, and end-to-end data encryption is to be provided by the middleware. This dramatically simplifies the development of secure mobile solutions.

  • Deployment and management
    This requirement goes beyond the scope of middleware. Nevertheless, a solution must be provided through appropriate libraries and tools. For example, the JavaPhone API provides APIs and classes supporting the deployment of Java applications to mobile devices.



Professional JMS
Professional JMS
ISBN: 1861004931
EAN: 2147483647
Year: 2000
Pages: 154

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net