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.