|
Client-Side Download | Server-Side Download | Demo Readme In the last year, Java 2 Micro Edition (J2ME) and XML technologies increased in popularity. When used together, these technologies can be key architectural elements in end-to-end wireless solutions for PDAs and handheld devices, such as cell-phones and pagers. Using J2ME and XML technology also makes for a highly versatile end-to-end architecture. To explore this architecture, this article looks at:
You will also find a sample application, called "Mobile Resource Management System" or "m-RMS." It illustrates the kind of applications you can develop within the architecture presented in this article. m-RMS is a resource management and tracking system for Mobile Information devices such as PDAs and Java Phones. m-RMS uses J2ME (CLDC + MIDP) and XML technology and communicates wirelessly over TCP/IP to a backend Java 2 Enterprise Edition (J2EE) framework. Why Wireless and Java Technology? Wireless Access Protocol (WAP) is a result of continuous work to define an industry-wide standard for developing applications over wireless communication networks. The WAP Forum, originally founded by Ericsson, Motorola, Nokia, and Unwired PlanetWML, was formed to create global wireless protocol specification that works across differing wireless network technology types, for adoption by appropriate industry standards organization. Wireless Markup Language (WML) is a markup language based on XML, and is used to specify content and user interface for narrow-band devices, including cellular phones and pagers. WML is designed with the constraints of small, narrow-band devices in mind. These constraints include:
J2ME technology specifically addresses the vast consumer space, which includes smart cards and pagers all the way to the set-top box, an appliance almost as powerful as a computer. Like the other Java technologies (Java 2 Standard Edition (J2SE) and J2EE), the J2ME platform maintains these advantages:
Applications written with J2ME technology are upwardly scalable to work with the J2SE and J2EE platforms. The Mobile Information Device Profile (MIDP) is a set of Java APIs which, together with the Connected Limited Device Configuration (CLDC), provides a complete J2ME application runtime environment targeted at mobile information devices, such as PDAs, cellular phones, and two-way pagers. The MIDP specification addresses issues such as user interface, persistence storage, networking, and application models. There are many advantages to using Java technology in wireless devices over conventional solutions, but perhaps two of the most important advantages are security, and disconnected transaction with wireless synchronization.
Because it's easy to write portable Java applications that work over HTTP, the new generation of Java technology mobile devices introduces a new level of end-to-end security to the wireless world. Because Java technology protects handheld devices, you can allow third-party application developers, who you don't know, to run applications in these devices.
Other important advantages that Java technology offers the wireless space include:
A Java Technology Based end-to-end Architecture for m-Commerce The end-to-end architecture proposed in this article for developing Java technology-based, integrated wireless m-commerce solutions for handheld devices consists of the following components:
The diagram below illustrates the architecture: The architecture detailed here for handheld devices is not very different from existing solutions running on desktops and laptops. In fact, the same applications that conventionally run on desktops can be made accessible over TCP/IP and HTTPS, both wirelessly and securely, to mobile handheld devices by using J2ME and XML. However, an important difference in the wireless world is that a handheld user must be able to work and interact with the application in standalone mode. This feature cannot be provided with traditional WML/WAP technology. Java technology enables standalone Java mobile applications to operate in disconnected or standalone mode. Client Tier Configurations and Modes The client tier runs in three broad configurations:
Depending on each configuration, the application can run in one or more of three modes:
The three configurations and modes for the client are as follows:
All client modes communicate with the same portal server framework, which includes the web, middleware, and database or backend tier. The following table details the technologies associated with the three client configurations and possible modes associated with each:
Configuration I: The web tier consists of servlets that generate XML formatted data, using JAXP. This data is sent to the J2ME client application over HTTP/HTTPS, parsed using an XML parser (NanoXML for example), and rendered by the J2ME GUI. Configuration II: The web tier consists of JSPs that generate WML formatted data and are rendered by a WML browser. WML data can be sent on HTTP/HTTPS end-to-end if a HTTP WML browser is used. If the browser is a WAP browser running natively on the handheld device, the data needs to be sent partly on HTTP and partly on WAP via a WAP gateway. The WML browser can be a J2ME application or a native device WML browser. Configuration III: This is the traditional mode and consists of JSPs that generate HTML formatted data rendered by a HTML browser, and sent over HTTP/HTTPS. An alternate framework or architecture could be used at the web tier. In this framework, JSP pages can be generated during runtime, depending on the client device. However, an XSLT would need to be written for each JSP page and corresponding client device. There are advantages and disadvantages to using this architecture in terms of development costs, maintenance costs, performance and so on. However, this paper and the sample application illustrate the architecture as shown in the diagram and does not discuss the XSLT architecture. For more information on the XSLT architecture, refer to XSLT architecture. m-RMS, the Demo Application The demo application, m-RMS, included with this article, implements the above end-to-end architecture, all three configurations, and runs in all three modes. It models an m-commerce end-to-end solution using Sun's Java technologies. The application is intended for PDA devices and is a resource management and tracking system that enables you to:
It communicates wirelessly over HTTP to a wireless portal implemented in J2EE and XML. The m-RMS application is available for download. After downloading the application, follow the instructions in the README to install, configure, and run m-RMS. References These references were used to develop this article
Acknowledgments The authors would like to acknowledge the contributions from Agnes Jacob, De-Hwei Oshaughnessy, Kumara Rajan, and S. R. Venkatramanan towards the implementation of the m-RMS application. Back To Top | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||