In order to host applications, smart devices require characteristics that include being small and portable, having a decent battery life, displaying information with richness and quality, having memory to hold plenty of information and applications, and the ability to access remote data. This chapter will explore issues associated with the last item in that list. The previous chapter looked at the first essential architectural concept of mobile applications, which is working with data locally. Although this is important, the idea of using mobile applications for business would not exist without the ability to access data that exists on other systems or devices.
Everyone has opened up his or her first PDA like it was Christmas morning. It was easy to enjoy the coolness of being able to carry around a device that contained a considerable amount of information and to use an application that would access it (which demonstrates the first essential concept). But visiting the cradle periodically was required for the device to have the ultimate value of using current information. Accessing remote data in order to provide it to mobile applications is the second essential concept (the other two essential concepts are covered in this scenario as well, but these will be explored in the following chapters) and mirrors the way individuals and organizations have grown in their use of smart devices.
In today's business world, successful companies must become increasingly more agile. This includes being sensitive to changing market factors and understanding changing customer needs. The companies that change more quickly usually live longer and grow wealthier. Therefore, all sorts of information have to be available and accessible anytime and anywhere. Consequently, it is not just a stand-alone PDA environment anymore. The trend is for corporate applications to migrate to mobile devices, and so, it is no surprise that those devices absolutely require the ability to communicate to enterprise back ends.
The integration of mobile devices, the Internet, and wireless connectivity provides a way for companies to extend their reach to employees, partners, and clients. The potential impact of this convergence is unlimited. Possible results include improved productivity, reduced operational costs, and increased satisfaction for all involved. Because of the geographic expansion of wireless connectivity, as discussed in Chapter 1, devices can retrieve information from anywhere in the world.
When looking at potential mobile applications, many factors must be considered. These factors affect not only the cost of operating the application, but also the architecture. It's easy to look at the cost of the device as an expense. But what about other factors? To answer this, factors related to accessing data remotely are explored in the first part of this chapter. After this review, you will have a better idea of the different issues in distributed mobile applications and the types of connectivity provided by today's smart services.
It turns out that the Compact Framework provides a plethora of assistance in accessing data remotely. A Compact Framework?based application can work at different levels of the network stack. This includes TCP/IP, sockets and infrared, streams, HTTP, and XML Web Services. And so, the majority of the chapter will be focused on this support.