
Write Once, Run Anywhere – A Survey of Mobile Runtime Environments Soren¨ Blom, Matthias Book, Volker Gruhn, Ruslan Hrushchak, AndreK´ ohler¨ Applied Telematics/e-Business Group, Dept. of Computer Science, University of Leipzig Klostergasse 3, 04109 Leipzig, Germany {blom, book, gruhn, hrushchak, koehler}@ebus.informatik.uni-leipzig.de Abstract ing radically. Especially e-commerce applications on mo- bile devices will become increasingly important. But mo- The hype surrounding Web 2.0 and technologies such as bility causes some major concerns for application develop- AJAX shows: The future of distributed application devel- ers: a wide variety of devices to support, unstable network opment lies in Rich Internet Applications (RIAs), which are connections, limited bandwidth, high latency, security is- based on highly distributed components and characterized sues and many more challenges need to be considered. by the intensive use of communication networks, complex Thus, manufacturers and resellers of mobile devices interaction patterns and advanced GUI capabilities. As ser- must decide how strongly the application developer should vice providers begin to tap into the mobile market by ex- be supported or constrained by the software pre-installed on tending the reach of their established e-commerce systems the devices. They must define which operating system and to mobile devices, a core challenge is the choice of a run- additional runtime environment components should be pro- time environment and middleware that adapts well to the vided, and how much influence the application developer existing architecture, yet is a safe investment for the years should have on this configuration. On the other hand, ap- to come. This paper surveys the current state and the fu- plication developers must choose a suitable technology for ture of runtime environments suitable for developing RIAs implementing their application that is compatible with tar- for mobile clients. get devices, highly flexible, and supports the development of state-of-the-art GUIs. Considering this, an interesting question is which run- 1. Introduction time environments will be available in the future for run- ning mobile software clients, supporting the “write once, run anywhere” paradigm, providing state-of-the-art GUIs “Write once, run anywhere” – this slogan was introduced and interaction capabilities, as well as solving or masking with the Java programming language ten years ago, the idea known mobility problems (distribution, connectivity, per- being to implement an application only once and then be formance, reliability, and many more). In order to support able to run it on any platform, independently of its oper- this decision process, this paper provides an overview of ating system. From today’s perspective, Java was a great current and future technologies positioned to address these success. However, application infrastructures and runtime issues. In the following section, we identify different dis- environments have changed significantly since then. tribution patterns supported by different runtime environ- Current developments as well as recent experiences with ments, and then discuss various runtime environment tech- mobile applications lead us to the assumption that the fu- nologies in detail (Sect. 2). After summing up our findings, ture of application development lies in Rich Internet Appli- we discuss middleware addressing typical challenges found cations (RIA). The term “Internet application” emphasizes in the development of mobile applications (Sect. 3). We the fact that future applications will be based on highly dis- conclude with an evaluation of the presented technologies, tributed components and are characterized by the intensive and an outlook on their future use (Sect. 4). use of communication networks. Software will be mashed up with third-party components and services at runtime, creating completely new applications ad hoc. The term 2. Mobile Runtime Environment Classification “rich” refers to the fact that applications will support com- plex interaction patterns and advanced graphical user inter- For the purpose of the following discussion, we define face (GUI) capabilities. a runtime environment as the set of components that need Furthermore, application usage scenarios are also chang- to be present on a client in order to run applications im- Traditional Fat Client Applications Web Apps Rich Internet Applications .NET Adobe Open Native Java ME AJAX Silverlight Compact Flex Laszlo GUI XHTML XHTML MXML LZX XAML Definition GUI Java Java Java LZX .NET Logic Script Script Script Client .NET AJAX/ Runtime Java ME HTML XmlHttp Flash Silverlight Compact Flash/ Environment Runtime Pages Request Plug-in Plug-in Runtime Silverlight Browser Operating OS / System APIs comm. comm. synchr. synchr. asynchr. Back-End CGI/PHP/ CGI/PHP/ CGI/PHP/ Java EE Java EE Services .NET/Java .NET/Java .NET/Java Server Figure 1. Mobile Runtime Environment Classification plemented using a certain technology. Figure 1 presents a technologies that provide (at least simulated) asynchronous classification of the major players in the field of mobile run- client/server communication, improved usability and porta- time environments. As the figure shows, we can distinguish bility. They are characterized by the following aspects [1]: several classes of applications by the kind of runtime envi- ronment they require. We will give a short overview of these 1. RIAs are executed within a particular runtime environ- classes here, and then present the individual technologies in ment, i.e. a software infrastructure required for the ex- the subsequent sections. ecution of the application that may offer base services Fat client applications are applications that are first such as GUI rendering, security, data and communica- downloaded and installed on the client device. The appli- tions management. Typically, the runtime environment cation then runs locally on the device. The client (i.e. the must be installed as a browser plug-in on the client. mobile device) is capable of some processing and poten- 2. The layout of user interfaces in RIAs is described us- tially even limited persistent storage (caching). Installed ing declarative languages, while the functionality of applications may be implemented directly on the device’s the interface (i.e. the interaction with the user) is im- operating system as native applications, or on a generic run- plemented in a scripting language. time environment such as Java ME or .NET Compact. From a technical point of view, they are bound to a certain tech- 3. The RIA’s business logic and back-end services are nology and put a fixed memory footprint on the client, but typically implemented remotely on a central server. do not need a permanent network connection. This way, clients only need to handle immediate user In contrast, web-based applications do not require any interaction, but can refer to the server for all heavy- (or only lightweight) downloads, but can be accessed just weight processing and data management. like a web site. They form a special class of web applica- tions insofar as they need to take into account the limitations In the following subsections, we will discuss the most that are unique to mobile devices, such as small screen size. prevalent technologies in more detail. Traditional web applications communicate with the server using the familiar request-response interaction 2.1. Native Applications paradigm of the hypertext transfer protocol (HTTP) and the display features supported by the hypertext markup lan- Technically, the most straightforward way of developing guage (HTML). Recently, these technologies have been a mobile application is by implementing it directly on the adapted with the aim to provide a richer, more responsive basis of the device’s operating system (OS). Major products user experience that is similar to desktop-based applica- in this area are PalmOS, which still has a significant market tions. These Rich Internet Applications (RIAs) are based on share in the PDA market; Windows CE, which is targeted to a number of embedded device classes as diverse as PDAs, skills, its portability is characterized by the challenge of automotive terminals and smart phones; and Symbian OS, striking a balance between catering to the lowest common which has had a strong focus on telephony features from its denominator of all mobile devices, or tapping the potential conception and comes in different “series” targeting differ- of different device classes’ features. This is not necessarily ent handset classes. The LiMo Foundation, a consortium of a fault of the VM, but a consequence of the diverse range of device manufacturers and network operators, has recently capabilities (such as display resolutions) offered by devices. begun efforts to deploy Linux-based operating systems on As such, developers may find it difficult to realize the “write mobile phones [7]. Similar plans are being pursued since once, run anywhere” ideal in practice [17]. quite some time by the Mobile Linux Initiative (MLI) of the On the desktop and server platforms, Java has been noto- Linux Foundation (formerly a working group of the OSDL rious for comparably slow execution speed. On mobile plat- consortium) [12]. forms, where a highly responsive user interface is especially Native applications are executable without the need for a important, there are ongoing attempts to boost performance particular runtime environment, and potentially run faster by compiling Java bytecode for
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages6 Page
-
File Size-