Wireless Web services are becoming a reality, if they have not already. The unique characteristics of the mobile devices and wireless communication medium, such as limited computing power, limited network bandwidth, limited battery life, unpredictable online time, mobility, and so forth,, imply that the infrastructure for wireless Web services will be very different from its wired counterpart. This chapter discusses the challenges and the stateof- the-art solutions to ensure highly performable wireless Web services. In particular, this chapter’s focus is on three technical issues: optimization of the wireless Web services messaging protocol, caching, and fault tolerance. Finally, limitations of the current approaches and an outline of future research directions on wireless Web services are also discussed.
With the evolution of the Internet technology, e-commerce, e-healthcare, and e-government services have become ubiquitous over the wired computer networks. There are obvious advantages in extending such services to mobile device users that connect to the Internet wirelessly. The possibility of conducting transactions reliably over wireless links also opens the door for business owners to offer additional services catering to mobiles customers specifically. Furthermore, the Web services technology, due to its strength in loose-coupling, extensibility, and interoperability, has also been gaining momentum to become the dominating enabling technology for the next generation of e-services, including those offered wirelessly to mobile devices (Ellis & Young, 2003). Thus, a case can be made for the merging and extending Web services with mobile technologies.
The Web services technology essentially transforms the Web from a publishing medium to a programmable platform. This transformation greatly improves the degree of automation of Web-based transactions, and makes it easy to compose value-added services by integrating existing services. However, great care is needed to extend the Web services technology, which was primarily designed to run on powerful stationary computers over wired networks, to mobile devices over wireless networks. This is so because of the aforementioned limitations of the operating environment, such as limited computing power, limited network bandwidth, limited battery life of mobile devices, unpredictable mobile user online time, and mobility. In this chapter, I introduce the background, challenges, and state-of-the-art solutions to enable the offering and consuming of Web services from mobile devices over wireless networks. I focus particularly on how to improve the performability of the wireless Web services. (Performability is an umbrella term referring to the runtime performance, availability, reliability and security of a service.) Business owners should strive to offer highly performable wireless Web services to succeed in this domain.
Key Terms in this Chapter
Performability: It is an umbrella term referring to the runtime performance, availability, reliability and security of a service.
Caching: It has been a classical technique to increase distributed systems performance. A cache (proxy) server is often positioned at or adjacent to the client and is used to cache the responses to the requests issued by the client. If a future request asking for the same object that has already been cached, the cached object will be returned immediately to the client without the need to send the request to the origin server. One of the main concerns of caching is cache consistency.
UDDI: UDDI stands for Universal Description, Discovery and Integration. UDDI provides the standard way for Web services providers to describe their services, and the consumers to search and discover the available services.
Web Services: Electronic services enabled by the Web services technology. The Web services technology refers to the set of standards that enable automated machine-to-machine interactions over the Web. The core standards include XML, HTTP, SOAP, WSDL and UDDI.
XML: XML stands for eXtensible Markup Lanuage. It is designed to facilitate self-contained, structured data representation and transfer over the Internet. It is extensible because it allows users to define their own tags.
WS-ReliableMessaging: It is short for the Web Services Reliable Messaging Specification. The specification describes a reliable messaging (RM) protocol between two endpoints, termed as RM source (RMS) and RM destination (RMD). The core concept introduced in WS-ReliableMessaging is sequence. A sequence is a unidirectional reliable channel between the RMS and the RMD. At the beginning of a reliable conversation between the two endpoints, a unique sequence must first be created. The sequence is terminated when the conversation is over. Each message in a sequence is assigned a message number. The message number starts at 1 and is incremented by 1 for each subsequent message. The reliability of the messaging is achieved by the retransmission and positive acknowledgement mechanisms.
Consensus Algorithm: A consensus algorithm ensures a group of entities to decide on the same value. In the context of replication, the safety property of a consensus algorithm ensures that if some correct replicas agree on the ordering of messaging, all correct replicas eventually agree on the same ordering. The liveness property refers to the capability that the group of replicas can make progress towards the consensus in a reasonable amount of time. Synchrony is needed for any system to achieve liveness.
Group Communication: A group communication system guarantees all the replicas in the same process group to receive the same set of messages in the same total order within the virtual synchrony model. The group communication system depends on the use of an unreliable failure detector.
WSDL: WSDL stands for Web Services Description Language. It is an XML-based language used to describe Web services. For each Web service, the corresponding WSDL document specifies the available operations, the messages involved with the operations, and a set of endpoints to reach the Web service. Due to the use of XML, WSDL is also extensible. In particular, it allows the binding of multiple different communication protocols and message formats.
SOAP: SOAP stands for Simple Object Access Protocol. It was originally designed to conduct remote procedure calls over the Web. It has evolved to become the main communication protocol to exchange XML documents. A SOAP message contains a SOAP Envelop and a SOAP Body. A SOAP message often contains an optional SOAP Header element, and a Fault element if an error is encountered by the sender of the SOAP message.