Chapter 11

Platform Development

Every major hardware vendor hopes for some new technology that will motivate all customers to abandon their legacy systems and exclusively buy its hardware offerings. Every operating system and software vendor hopes for the same. Even developers must admit that their lives would be easier if they didn't have to design for different hardware platforms and operating systems, each with its own differences in language support, development environment, bandwidth, and display constraints.

The truth is that there will always be a variety of hardware platforms, operating systems, development environments, and operating constraints. Even in new application deployment, issues around integration of legacy systems always spring up. These varieties will continue to motivate designers to develop solutions that work with the set of hardware platforms and operating systems that exist in the developer's organization.

Some application development technologies present severe hardware or operating system constraints. Not so with Web Services. The entire Web Services concept is built around existing open standards like HTTP and XML. All a device needs to participate as a Web Service client is the ability to create an XML document programmatically and the ability to issue an HTTP POST and GET. This capability exists in any device that can run an HTML 3.2-aware Web browser and is relatively easy to implement in other devices (such as wireless hand-held computing devices, even with limited displays and no support for modern Web browsers).

The bar is higher for participating as a Web Services server, though not by much. A Web Services server must accept an HTTP POST or GET method, parse the XML document, marshal the data appropriately, perform the Web Service function, marshal the data back into a result XML document, and return the result document to the client via HTTP. Implementing Web Service servers on the majority of computing devices in existence today is definitely possible.

This chapter provides significant details about the issues faced by Web Service developers in building cross-platform applications. We discuss legacy mechanisms for building cross-platform applications, and then introduce the Web Services approach. The good news is that Web Services provide one of the easiest, most reliable means yet created to build full-featured, robust, cross-platform applications for business, consumer, and industrial applications.