Distribution Patterns for Mobile Internet Applications
Roland Wagner (Johannes Kepler University Linz, Austria), Franz Gruber (RISC Software GmbH, Austria) and Werner Hartmann (FAW Software Engineering GmbH, Austria)
Copyright: © 2009
After the enormous success of the internet and mobile networks, the next upcoming boost for information technology will be the combination of both. But developing applications for this domain is challenging, because first, most mobile devices provide only small memory and processor footprints, prohibiting resource intensive code at client side and second, mobile networks offer only limited bandwidth, and the probability to connection losses is relatively high compared to wired networks. Selecting the appropriate software architecture in terms of distributing the functionality of the system between server and client device is crucial. Application distribution patterns, known from conventional system development, are analysed for their applicability for the mobile environment. After the more abstract analysis of the patterns, the IP multimedia subsystem (IMS) which is part of the current specification of 3G mobile networks is introduced and its support for different application distribution patterns is examined.
This section describes possible distribution levels for every kind of client/server applications. The design of the client/server applications must provide functionality on the server. The client’s functionality is mainly to display data (“thin client architecture”). This architectural design should ease distribution of new client versions. According to these needs, the design patterns “distributed presentation,” “remote user interface” and “distributed application kernel” (taken from Renzel & Keller, 1997) are studied in more detail than “remote database” and “distributed database” pattern.
These patterns (see Figure 1) are interesting separating the representation from the business logic.
Distribution levels (Renzel & Keller, 1997)
The remaining two design patterns “remote database” and “distributed database” in Figure 1 are applicable for realizing Web-based clients. A realization of these design patterns results in a “fat client” architecture, respectively the whole functionality of an application is located in the client.
Key Terms in this Chapter
MIDP: Mobile information device profile (MIDP) is part of the J2ME framework and stands for mobile information device profile. It is specified by Sun Microsystems for the use of Java on embedded devices like cell phones or PDAs.
3GPP: The 3rd Generation Partnership Project (3GPP) is a collaboration agreement that was established between European, Japanese, and North American telecommunication standardization organizations to create a globally applicable third generation (3G) mobile phone system specification.
SIP: Session initiation protocol (SIP) is a protocol developed by the IETF MMUSIC Working Group and proposed standard for setting up sessions between one or more clients. SIP is similar to HTTP and shares some of its design principles: it is human readable, very simple, and request-response.
OMA: The Open Mobile Alliance (OMA) is an initiative of major manufacturers of end user equipment and infrastructure for mobile telecommunication networks. It aims to create interoperable services enablers to work across countries, operators, and mobile terminals. The OMA is driven by market requirements.
Three Tier Architecture: Three-tier is a client-server architecture in which the user interface, functional process logic (“business rules”), data storage, and data access are developed and maintained as independent modules, most often on separate platforms.
PoC: Push to talk over cellular (PoC) is a service that enables half duplex one to many communication over cellular networks.
IMS: The IP multimedia subsystem (IMS) is an open, standardized multimedia architecture for mobile and fixed services. It is based on a 3GPP variant of SIP and runs over the standard Internet protocol (IP). It enables telecom operators to offer network controlled multimedia services.
Complete Chapter List
Elhadi Shakshuki, Xinyu Xing, Haroon Malik
Reinhard Kronsteiner, Bettina Thurnher
Goran Gvozden, Mislav Grgic, Sonja Grgic, Miran Gosta
Mamun I. Abu-Tair
Abdulhussain E. Mahdi
Wanji Mai, Chris Tweed, Peter Hung, Seán McLoone, Ronan Farrell
Eduardo Antonio Viruete Navarro
Paolo Barsocchi, Alan A. Bertossi, M. Cristina Pinotti, Francesco Potortì
Do van Thanh, Ivar Jørstad
Yoshio Nakajima, Alireza Goudarzi Nemati, Tomoya Enokido, Makoto Takizawa
Ben Abdallah Abderazek, Arquimedes Canedo, Kenichi Kuroda
Wieland Schwinger, Christoph Grün, Birgit Pröll, Werner Retschitzegger
Daniel C. Doolan, Sabin Tabirca, Laurence T. Yang
Daniel C. Doolan, Sabin Tabirca, Laurence T. Yang
Daniel C. Doolan, Kevin Duggan, Sabin Tabirca, Laurence T. Yang
Christos K. Georgiadis
Hongbo Ni, Xingshe Zhou, Zhiwen Yu, Daqing Zhang
Pavol Podhradský, Eugen Mikóczy, Matejka Juraj, Ondrej Lábaj, Róbert Tomek
Robert Schmohl, Uwe Baumgarten, Lars Köthner
Roman Y. Shtykh, Qun Jin, Shunichi Nakadate, Norihiro Kandou, Takeshi Hayata, Jianhua Ma
Stephan Reiff-Marganiec, Yi Hong, Hong Qing Yu, Schahram Dustdar, Christoph Dorn, Daniel Schall
Baud Haryo Prananto
Diego Moreira Alves
Dietmar G. Wiedemann
Mahieddine Djoudi, Saad Harous
Patrícia Dockhorn Costa, Luís Ferreira Pires, Marten van Sinderen
Frédéric Lassabe, Philippe Canalda, Damien Charlet, Pascal Chatonnay, François Spies
Anastasis A. Sofokleous, Marios C. Angelides, Christos N. Schizas
Wee Hyong Tok, Stéphane Bressan, Panagiotis Kalnis, Baihua Zheng
Ioannis Priggouris, Evangelos Zervas, Stathes Hadjiefthymiades
Ghita Kouadri Mostéfaoui
Do Van Thanh, Ivar Jørstad, Schahram Dustdar
Mohamed Ali Feki
Damien Charlet, Frédéric Lassabe, Philippe Canalda, Pascal Chatonnay, François Spies
Roland Wagner, Franz Gruber, Werner Hartmann