In-Depth
At the Core of Web Services: Standards
The whole concept of Web services—interoperability among applications distributed across the Web—rests on standards. After all, for companies to access the business-to-business services of other companies without regard for platform considerations, everyone needs to agree on some standards. Without industry agreement on languages and data exchange protocols and methods, Web services can’t happen. Key standards include:
J2EE: Java 2 Enterprise Edition is a standard set by Sun Microsystems Inc. for developing server-side applications in Java. The broad adoption of J2EE application servers has allowed J2EE to become a de facto industry standard. J2EE operates on a number of platforms and operating systems, so developers know what to expect from an application server, despite the different environment. J2EE applications run on Java Application Servers, which offer standard objects for the functionality often needed in enterprise applications. The plug-in functionality allows developers to write the logic of an application without the need to rewrite basic services.
SOAP: Simple Object Access Protocol is one of the base technologies in Web services. It uses XML syntax to send commands across the Internet, and share data through the HTTP protocol. One application can initiate a SOAP command, asking for data from another application. SOAP is still in draft version, but a final protocol is expected before the end of the year.
UDDI: Universal Discovery, Description and Integration. UDDI registries are XML-based directories of what Web services different enterprises offer. Applications can query the UDDI registry to discover new services, ensure services are still up, and see if a company offers the same or compatible services.
Microsoft, IBM and HP all offer UDDI registries, which are replicated reciprocally.
WSDL: Web Services Description Language is a protocol that describes what capabilities a Web service offers. For example, an inventory application may offer another business to order inventory using machine-to-machine messaging, or only offer the ability to check inventory and prices online, leaving the customer to talk to a rep over the phone. WSDL would be used to describe this capability. Microsoft, Ariba and IBM have submitted version 1.1 of WSDL to the World Wide Web Consortium (W3C), which is considering ratification of the standard.
Although the body has not endorsed the standard, the three companies have the pull in the industry to make it happen—whether or not the W3C agrees.
Peer-to-Peer: Although Web services will operate primarily on servers, it has one similarity with file sharing services such as Gnutella and Freenet—transactions are conducted machine-to-machine, with no central server mitigating transactions. Unlike older standards such as EDI, which often required third parties to operate services, Web services are conducted between machines treating each other as equals.
.NET: Although opinions differ about what Microsoft’s initiative really means, it’s clear that XML and Web services comprise a large chunk of the .NET enterprise strategy. Microsoft already offers an XML-based machine-to-machine product with BizTalk Server, which was released in the fall of last year, but Redmond has been aggressive in both pushing and adopting published standards for its next generation of integration products. In addition, its C# language—designed to rival Java—has been submitted to the ECMA standards body and has some Web services functionality built into its libraries.
XML: eXtensible Markup Language. Like HTML, XML uses a tag structure to designate how data is used. Unlike HTML, which uses a circumscribed set of predefined tags, users can define any number of tags or schema for marking up data. The tags can be used for a variety of purposes – from page rendering duties to denoting fields in a database. In the Web services paradigm, XML schema are used to show what data goes where, plugging text data into database fields.
About the Author
Chris McConnell is Product and Technology Editor for Enterprise Systems.