$Date: 2001/08/02 10:22:22 $
|
One good thing about music,
Well, it helps you feel no pain.
So hit me with music;
Hit me with music now.
|
|
--Bob Marley, "Trenchtown Rock" |
|
Abstract
Mobile applications will only be adopted by companies, if suppliers will be able to seamlessly integrate those applications and its hosting devices into a company's existing IT infrastructure.
The intent of this diploma thesis is to move already existing and adopted Java technologies to the mobile world. During this thesis we will evaluate the Enterprise Java™ Beans technology and the possibility to provide a embedded and very lean EJB container for mobile devices.
This approach finally leverages the possibilities of mobile devices and minimizes the true total costs of ownership (TCO) with respect to its real impact on the bottom line - ROI.
This diploma thesis will be mainly devided into three different phases.
-
A research phase helping to collect all the necessary information from within the widespread domain of Java™ enterprise computing (see chapter General Description.
-
A system design phase which leads to a complete system design of a mobile and distributed EJB runtime environment (see chapter Specific Requirements).
-
A implementation phase resulting in a prototype that will demonstrates the efforts made during this diploma thesis (see chapter System Overview).
The intend of this diploma thesis isn't to provide a complex, production quality build of an Enterprise Java™ Beans container, that will run on almost any mobile device. Although after finishing this thesis, someone reading this thesis should be able to imagine the possibilities of Java™ computing on mobile devices.
Speaking about possibilities also means, knowing the challenges and weaknesses of today's mobile computing environments. Thus the main focuss of this diploma thesis is to picture those challenges and weaknesses that emerged while developing an Enterprise Java™ Beans runtime environment for mobile devices.
Hopefully Java™ middleware for mobile devices evolves from purely handcrafted development work, to something that is similar to music - a pure pleasure and something that you want to be hit with.
The Nature of This Diploma Thesis
Mobile Computing has always been a subject in the IT field. With the appearance of Apple's Newton back in 1993, Mobile Computing has also become a subject in the field of Software Engineering. Psion PLC another mobile device vendor, released one of the first handhelds that had a pre-installed multi threading operating system, which could be accessed through a rich set of C libraries. Finally the operating system that shipped with Psion device became a spin-off and was called Symbian OS (EPOC), which is currently developed by Symbian Ltd..
Now that mobile devices had become a fully programmable "beast", several research efforts had been undertaken to address the issues that had been raised with 'portable devices'. One of the earlier research papers appeared in 1994 and covers topics such as Spontaneous Disconnects, Low Bandwidth, Heterogeneous Networks, Security Risks, Location Dependent Information, Low Power, Small User Interfaces and Small Storage
Capacity [[forman and zahorjan, 1994]]. Most of these topics are briefly covered in the section 'The Mobile World'. The previous illustrations are indicating, that the challenges in the field of mobile computing had been well-known for a long time.
Within the last couple of years, mobile network carriers and cell phone vendors as well as PDA vendors, had been undertaking several infrastructure and technology investments. As a result communication protocols such as GSM and technologies such as SMS had been introduced. Additionally Sun® Microsystems, Inc. increased its efforts to provide a Java™ VM for small sized devices.
At the time, the mobile market segment is defined by a tremendous amount of different technologies and devices, resulting in a demand of highly skilled experts. Additionally recent market analysis are indicating, that the mobile market growth did not reach its climax. Forrester predicts, that in 2006 companies are having a readiness to invest about $6.2 billion into mobile applications [[golvin and li, 2002]] and 21% of europeans will buy a GPRS[1]enabled cell phone within the coming years [[jackson, favier and stagia, 2002]]. Finally Gartner predicts a rapid growth of 'so-called WLAN hot-spots within the
next three years', a technology that could be seen as a low cost and complementary communication infrastructure compared to cell phone networks [[clark, 2002]].
Although having demonstrated the potentials that are lurking within the vast field of mobile computing, it is absolutely necessary to distinguish the current challenges and problems that come along especially with developing of applications for mobile devices. In general all assumptions that are naturally made within usual computing environments, are supposed to be invalid withing the field of mobile computing. According to Forrester, 'only 1.7% of all households are using a browser-enabled phone and are using wireless data services'. That means the adoption rate of new technology still remains at a very low level. Additionally according to Forrester, people are deterred about mobility, because there are 'multiple product and pricing plans which
are very confusing' [golvin and li, 2002]. Finally bluetooth and Java™ 2 Micro Edition, also know as J2ME, are still lacking interoperability among different vendor implementations. Even current 2.5G technologies[2]are still lacking convenience and Gartner tops that statement by saying that '3G technology turned into 3D nightmares - dept, delays and doubt' [[basso, 2002]].
Not just the consumer market, but also the enterprise market for mobility experiences major challenges while adopting mobile devices and applications. Because this diploma thesis almost focuses at the enterprise sector, it is also important to be aware of the specific condition and concerns found in enterprises. Generally according to Forrester 'about 43% of IT executives don't think that mobile data matters today', that means general executive and decision-maker acceptance ist still an issue that has to be addressed. Another pressing issue is security, which was always a subject within enterprise environments. So it isn't a remarkable fact that almost half of execs say that security impedes mobile data adoption, according to Forrester. [[golvin, cooperstein, schaeffer and Scaffidi, 2002]]
The iChilli™ mobile J2EE platform leverage the nearly boundless possibilities of mobility and aims to provide a Java™ middleware that addresses the challenges mentioned in the previous paragraph. iChilli™ will increase the Time-To-Market factor by reducing the development time needed to create a mobile application. Security issues will be covered by using recent additions made to the MIDP 2.0 profile, such as a X.509 certificate infrastructure. Using X.509 certificates allowes mobile users to trust applications that were signed by a third party and finally prevents execution of malicious code. Finally iChilli™ addresses many mobile devices, because iChilli™ provides several different runtime
environments that are optimized for the needs of many mobile devices. Later on it will be described how the iChilli system is designed to accomplish this task.
sLAB oHG was founded in 1994 and is located in Boeblingen, Germany. sLAB currently has 24 employees. sLAB has a long term experience as a mobile solutions provider. While developing several mobile solutions for various customers, sLAB has realized that there is a real need for standards within that domain. As a result sLAB is in the process to release an initial version of a Java™ middleware, called dtF/AF, that will ease the development and usage of mobile applications. Because iChilli™ and dtF/AF are convergent in several aspects, sLAB expressed its commitment
to support this diploma thesis.
This diploma thesis was written in english in its entirety, because it will also server as project documentation for other people interested in getting started with the iChilli™ project. Although this diploma thesis contains most parts that could be found in traditional organized diploma theses.
This diploma thesis almost conforms to international standards in the field of Software Engineering. The standards applied are indicated int the following figure, which shows the documents that are part of this thesis.
Table 1. Intended Audiences for the Various Documents
Document |
Audience |
Project Management Plan
|
Project Managers, Supervisors & Examiners
|
Software Requirement Specification
|
Customers[a], Project Managers, Supervisors & Examiners
|
Software Design Description
|
Software Engineers, Supervisors & Examiners
|
The CD-ROM that accompanies the print version of this diploma thesis contains a number of useful resources.
Please read the readme.txt file in the root directory of the CD-ROM. It describes any last-minute changes or additions that were made to the CD-ROM after this chapter was written.
-
/docs/javadocs/ contains the Java™ documentation of each iChilli™ software component.
-
/docs/papers/ contains various papers about topics such as Mobile Computing, Linda/Lime, some Marketing Analysis and some papers that are giving a short overview about Grid Computing and its relevance to Mobile Computing.
-
/docs/specifications/ contains J2EE, J2SE, J2ME and Web Service specifications.
-
/docs/thesis/ contains the electronic version of this diploma thesis.
-
/docs/website/ contains the iChilli™ website.
-
/software/ contains various SDKs[3] and some document viewers that might be needed to read the electronical version of this diploma thesis.
-
/sources/ contains the sourcefiles that were created while working on this diploma thesis. This folder contains Java™ source files and the sources of the documentation.
Straight after having started the venture of writing a diploma thesis I decided to make every single result available to the public by putting every single piece of software and documentation under an open source license. The resulting project name is iChilli™ and can be found as an open source project at sourceForge.net.
During the diploma thesis it was possible to establish several contacts to other people and open source projects. For example the people at the Washington University helped me while digging into the Lime distributed Java™ middleware and finally told me that in january 2003 there will be a new version of Lime available, that handles spontaneous disconnects much better. Additionally a LimeLight version will be available soon, which might even run on MIDP devices.
Additionally I met a person who created a parser-generator that is able to transform the Apache Cocoon XML publishing framework into a version that runs on PersonalJava. Actually that person was very exited about the iChilli™ idea, which makes me thinking that we might be able to share some basic knowledge or ideas.
Finally I am looking forward to push the iChilli™ project onto a next level.
The next major step in moving the iChilli™ mobile J2EE platform into a future direction, would be to finish the already existing jdk 1.1.8 EJB container port. A first prototype of a jdk 1.1.8 EJB container will be available in Q1 2003. This version of a so-called mobile EJB container will run on handhelds that are shipping with a PersonalJava compliant Java™ VM implementation. This first prototype will be a standalone version of a mobile EJB container which doesn't include a Lime based distributed persistence layer.
After finishing the mobile EJB container, it will be necessary to complete the J2EE server part of the iChilli™ infrastructure. Without reaching this milestone it wouldn't be possible to implement a distributed persistence layer, that enables both - the server and the mobile client - to share data of Java™ objects. A first prototype of a complete J2EE runtime environment is expected to be available in Q3/Q4 2003.
Finally after having finished the J2EE runtime environment, it will be necessary to drop the traditional persistence layer of both, the server and the mobile client, in favour of a distributed persistence layer that is based on the Lime implementation of a Linda associative cache. That distributed persistence layer will provide an interaction facility which enables the mobile client to replicate data, from and to the J2EE server. The Lime based distributed persistence layer is expected to be available as a prototype in Q1/Q2 2004.
As outlined in the abstract of this preface this diploma thesis was separated int three different phases:
-
A research phase
-
A system design phase
-
A implementation phase
The research phase was real fun because of getting to know all the various technologies. Additionally working with mobile devices has always been very pleasant to me. During this phase I was able to improve my experience in the domain of Java™ Enterprise and mobile to a greater level. Basically I was able to demonstrate that other companies are already providing some kind of an enterprise API for mobile devices, which in turn confirmed my assumption that it would be possible to port an already existing EJB container to a mobile device. Softwired Inc. for example is providing a JMS API for the Palm Pilot.
Another important part of the research phase was to find projects and technologies that would help to develope a mobile EJB container. Lime was such a technology which provides a distributed Java™ middleware meant for mobile devices.
During the design phase it was important to eliminate any unnecessary system component from the already existing OpenEJB container to make him fit onto a mobile device. Additionally it was possible to concretize the iChilli™ system architecture. Additionally while working towards a system design that fulfills the dtF/AF requirements, it was possible to finish an overall dtF/AF system architecture, including an EJB container.
The actual implementation phase turned out to be quite challenging, because the OpenEJB container uses a Java™ API for its configuration and persistence layer which isn't situable for mobile devices. Thus a complete new implementation of a CMP & BMP container would have been required because both are relying on that specific Java™ API.
While facing those challenges it was finally clear that the mobile EJB container couldn't be finished in time. This finally lead to the decision that enough knowledge should be collected to finally finish the container system at a later time.
Although it is my very understanding that the basic idea of porting an existing EJB container did not fail, because during my research efforts it did not turn out that a J2ME environment isn't able to run a EJB container system - it rather turned out that completely programming many part of a system from scratch because they are insufficient, couldn't be accomplished within a limited timeframe of six month.
Having made those experiences banters my commitment to continue to try to finally port OpenEJB to the J2ME platform. Finally it must be said that although not having reach the desired results, doesn't mean this research effort wasn't a success. The result of this diploma thesis are in indeed a tremendous amount of insights into the challenging world of mobile computing.
Those insights and the resulting knowledge could be hopefully used by the company sLAB oHG.
At this point i would like to say thanks to all the people who supported me and my diploma thesis. This includes the following persons:
-
Prof. Dr. Fritz Laux - FH Reutlingen (Supervisor)
-
Dipl. Inf. Peter Rudolph - sLAB oHG (Supervisor)
-
Andreas Ulmer
-
Sylvain Wallez - Anyware Technologies
-
Radu Handorean - Washington University in St. Louis
-
Chien-Liang Fok - Washington University in St. Louis