by Jim Geier
Take a closer look at standards and implementation options for creating a successful and effective corporate mobile application.
Mobile software enables enterprise users to work more efficiently when they are away from their desks. But, when designing mobile software applications, developers need to consider whether it’s worthwhile to have continuous online connections for users.
With an offline application, mobile software stores data on the client device, a configuration that doesn’t permit the movement of information between the client device and a server while the user is moving around a facility. A person making use of an asset management application, for example, scans item bar codes that the application software stores on the memory card within the user device. At some point, the user connects the mobile device to a PC and uploads the corresponding data to a server. Of course this process doesn’t involve wireless connectivity, except for the possibility of using a short-range wireless Bluetooth* or Infra-Red (IrDA) connection when synchronizing the data.
An online wireless network solution automatically transmits data over a wireless network to the server, which eliminates the need to perform the manual data synchronization step. This enables the storing of data centrally on the server instead of on the handheld, making the data readily available to the application software and other users.
Offline solutions are effective for many applications, but think about how your application works and then decide whether it’s sensible to go wireless. For example, consider the tolerance of time delays when moving data back and forth between the user devices and the server. In some cases, such as web browsing, wireless may be an easy choice because users need the ability to continuously surf from site to site. Most control applications, such as sending guidance information to roving robots in a hospital, also require immediate updates sent over a wireless network. If the movement of data is needed quickly, then wireless is probably the way to go.
Wireless Network Standards
The most common wireless network technology for supporting online applications in enterprises is IEEE 802.11, also known as Wi-Fi. A typical Wi-Fi wireless LAN consists of multiple access points throughout a facility that creates an interwoven collection of radio cells. Each access point provides wireless communications to users within its cell area and connects via a cable to a wired switch infrastructure. Each mobile user device has a radio interface card that associates with the nearest access point and is able to communicate wirelessly to any other wireless device or other resources connected to the wired infrastructure, such as the Internet.
There are several different standards for wireless LANs. 802.11b, for instance, provides up to 11Mbps data rates in the 2.4GHz frequency band using direct sequence spread spectrum (DSSS). The relatively new 802.11g extends 802.11b’s data rates up to 54Mbps in the 2.4GHz band using orthogonal frequency division multiplexing (OFDM) instead of DSSS. In addition to higher performance, 802.11g is backward compatible with 802.11b devices.
802.11a is another wireless LAN standard; however, it is not as common as 802.11b and 802.11g. 802.11a delivers up to 54Mbps data rates, but it operates in the 5GHz frequency. One problem is that 802.11a doesn’t interoperate with either 802.11b or 802.11g. The advantage of 802.11a, however, is that it is relatively free from sources of interference, such as microwave ovens, cordless phones, and neighboring wireless LANs, which can impact the performance of 802.11b and 802.11g networks.
Wireless Implementation Tips
Software developers generally don’t have much control over the wireless network design, so optimizing the network for a technology that’s best for mobile software communications may not be an option. Therefore, mobile software developers often must incorporate solutions to counter the potential wireless issues, such as spotty coverage, decreased battery life, security issues, and potential radio frequency interference.
When installing a wireless LAN, most companies will perform a radio frequency (RF) site survey to find the optimal locations to install access points and determine whether there are any significant sources of RF interference present in the facility. The trouble is that changes made to the facility, such as adding walls and moving furniture, will alter the access point coverage areas. As a result, coverage holes may occur in some parts of the facility. This can cause client software on the mobile devices to periodically lose connections with the centralized server or database.
Vulnerable applications to coverage holes tend to be the ones that have handshaking or multiple transactions between the mobile device and the server. If the connection is lost in the middle of the handshaking process or transaction, then the application can become confused and cause errors. In fact, I’ve seen this situation incur database errors in wireless inventory applications. Also, the loss of wireless connections with applications originally designed for offline operation requires users to keep logging back in to the system.
In order to counter coverage holes, consider what will happen if the wireless connection is lost during any point of the operation of the mobile application. You can write error recovery mechanisms into the code or take advantage of wireless middleware solutions-which reside between the client and server-that manage the connections. If connections are lost, the middleware keeps the session alive with the server application and re-establishes operation when the mobile client re-gains connectivity.
When going wireless, the radio card in the client device will consume a significant amount of power, which drains the battery faster than when operating without wireless connectivity. In general, the radio card will decrease battery life by roughly 20 percent, depending on the type of client device. However, if 802.11 power management is enabled on the client device, it can re-gain much of the loss in battery life, assuming that utilization of the wireless network is relatively low. As utilization increases, the mobile device’s radio card must be awake for longer periods of time, which consumes greater battery power.
In order to maximize battery conservation, focus on minimizing the use of the wireless connection. Invoke compression when possible to decrease the size of the data packets, and find ways to streamline the flow of overhead packets needed to manage the application. By k eeping the wireless network relatively quiet, 802.11 power management functions will operate more efficiently.
To strengthen security on a wireless network, be certain to incorporate encryption and authentication.
Encryption scrambles the transmitted data bits, making it difficult and even impossible for a hacker to decipher the data. Stay away from using the older 802.11 Wired Equivalent Privacy (WEP) since there are freely available tools that enable hackers to crack through the security code. Instead, focus on using the stronger Wi-Fi Protected Access (WPA) and recently ratified 802.11i standards.
Authentication verifies the identity of a particular network element, such as the user, mobile device, access point and server. IEEE 802.1x provides a solid framework for implementing authentication, along with a specific authentication type. Extensible Authentication Protocol-Transport Level Security (EAP-TLS), for example, is an authentication type based on digital certificates that offers mutual authentication over the wireless connection between the mobile device and the access point. This not only ensures that an authorized client device is connecting with the network-it guarantees that the client device is connecting to an authorized network.
Microwave ovens, cordless phones, and neighboring wireless LANs are sources of RF interference that may lower the performance of the radio links between the mobile device and the access points. In some cases, interference can completely disrupt operation. Microwave ovens can be very damaging to wireless mobile applications. For example, I have trouble browsing the web from a wireless laptop whenever I’m within 20 feet of the microwave oven in our office break room. If someone’s cooking a bag of popcorn, then I’m out of luck for a few minutes!
Wireless LAN protocols are good at recovering from interference, though. If a radio card or an access point don’t receive an acknowledgement for a particular data frame, they will retransmit the frame several times. If the interference is present for a few seconds or longer, then higher-level protocols (or your application software) must recover. As a result, be sure to consider the temporary loss of connection due to interference in a similar manner as coverage holes. Always have a mechanism that mends itself from the periodic inability to send data.
Whether you’re starting from scratch with a wireless mobile application development project or converting an offline application to operate in the wireless world, keep the following points in mind:
- Always consider what will happen if wireless connectivity is lost, and have appropriate recovery mechanisms in place.
- Look at your application from the viewpoint of a hacker, and design security elements, such as encryption and authentication, that significantly reduce or eliminate the security threat.
- Minimize the transmission of data and overhead packets in order to increase battery longevity.
If you remember these tips, you’ll end up with a much more effective and successful mobile application.
About the Author
Jim Geier is the principal of Wireless-Nets, Ltd. (www.wireless-nets.com*), a consulting firm assisting companies with the implementation of wireless mobile solutions.