Identify business requirements that are specific to a mobilized application architecture. An architecture designed for mobile applications incorporates the use of portable computing devices and wireless networks into a computing environment in which a user must be able to keep working productively, regardless of the status of the network connection.
The needs analysis of the solution architecture for a mobilized application must accommodate the following aspects of the mobile computing environment:
- The device physical location and configuration may change unpredictably as the device is connected to or disconnected from the network or as the device moves between network connection points.
- Battery-powered devices, by their very nature, can operate for only a limited time without recharging or replacing batteries.
- Wireless networks using Wi-Fi technology are susceptible to external interference and attenuation, potentially affecting reliability, decreasing effective bandwidth, and presenting challenges to effective security.
- Mobile users may elect to work online or offline, and they often roam from one wireless connection point to another.
Incorporate the following business needs into the software development life cycle:
- Consistent operation online or offline
- Seamless connectivity
- Multi-platform support for clients
- Optimized power use and performance
Detail about each of those requirements is as follows:
Consistent operation online or offline: In many application architectures, data is stored on a shared network-accessible system in the form of documents, data records, or binary files, with coordinated user access to a single copy of the data. An application designed for mobility should enable users to access data, whether they are online or offline. When working offline, the user still perceives that the shared data is available for reading and writing. When network connectivity is restored, local data changes are integrated into the network copy of the data and vice-versa.
Seamless connectivity: An application designed for mobility should work with an agent or proxy service to handle changes in connectivity transparently. Connectivity should not be required for functionality, and unexpected, intermittent breaks in connection to a network should be handled gracefully. In addition to online and offline transitions, the agent or proxy service should be able to select an optimal network type from those available, such as an 802.11x wireless local area network or a General Packet Radio Services (GPRS) communication service, and it should also handle communication tasks such as security authentication or authorization and logical addressing.
Multi-platform support for clients: An application designed for mobility should, at a minimum, tailor its interaction and behavior to the characteristics of the current device, such as input or output type, resources available, and performance level.
Optimized power use and performance: An application designed for mobility should closely manage its use of the limited power of a portable device when operating under battery power. For example, constant synchronization from a hard disk will quickly drain a battery, while synchronization from memory is much more power efficient. Maintaining an active radio search for the next hot spot can also drain power excessively.
Intel® Mobile Applications Architecture Guide