Generally speaking, Web services are still defined as Web applications that use open standards to interact with one another dynamically across heterogeneous systems. But the manner in which organizations approach and prioritize them is changing.
Users fall into two camps. One group advocates using Web services to build complex internal systems known as enterprise service-oriented architectures (SOAs). The other seeks to use emerging Web technologies in tandem with Web services to create flexible external applications. Their divergent approaches each require different organizational skill sets.
The split began in 2003, when companies such as BEA Systems, IBM, Microsoft, and Sun Microsystems questioned whether mission-critical systems were possible with Web services as originally defined. Over the next two years, the Web took on new significance as Google's use of advanced techniques and Web services began to get widespread notice.
When it comes to building SOAs, I can't get over how much effort is wasted trying to force Web services to deliver enterprise-level capabilities they were never intended to handle. For example, managers at a well-known airline once asked me how to make their Web services provide an enterprise-level distributed-transaction environment, given the shortcomings of the Web services standards. "Did you consider using a real distributed transaction environment instead of Web services?" I asked. The looks on their faces indicated they hadn't.
Increasingly, standards developers are working to make Web services more reliable and available. Their efforts are helpful, but only in a limited way. First, only 20% of all enterprise systems built today require the kind of robustness that standards-based Web services provide. Additionally, fewer than 30% of IT groups have the resources to implement all the standards that truly enterprise-capable Web services will require. Worse, most of the standards are nowhere near ready to be used consistently by mainstream IT. So why develop them? Because a push to develop enterprise-level SOAs is a priority.
Providing automated programs in actionable, bite-sized services is a necessary step for SOA implementations. Initially, enterprise users have done this to distinguish themselves from rivals. But they'll find that their clients' portals already use Simple Object Access Protocol (SOAP) to help move informationlike shipment status, enterprise-specific pricing, or promotionsfrom one partner's systems to another with low barriers to integration. These business processes will require that Web services be as robust as any enterprise application.
Evolving Web-services standards will allow security and performance to improve as well, and SOA-focused Web-services proponents will leverage these standards for greater scalability.