A Sacrifice to the Acronym God

http://www.devx.com/javaSR/articles/glossary/glossary-1.asp

More than just a simple, handy reference to Web services and its underlying technologies, our Web Services Glossary of terms and technologies is a detangler for all those consortiums, emerging standards, and industry groups that have your head slightly spinning.

by Kyle Gabhart and Chris Preimesberger

  Web Service (web sur' vis) n. A way to execute remote code and receive the results.

Piece of proverbial cake, right?

Not so fast. Maybe this isn't quite that simple. After all, Web services can mean different things to different people. For some, a Web service is simply a Web application that performs a service. To others, a Web service must involve a monetary transaction. Neither of these definitions fit what is meant by the term "Web service." So, what is a Web service? Here's a shot at a more specific definition:

Web Service (web sur' vis) n. an application that accepts XML-formatted requests from other systems across a network (Internet or intranet) via lightweight, vendor-neutral communications protocols.

Got that? Didn't think so. Okay, let's break this down into more bite-sized pieces.
    A Web service is an application that accepts XML-formatted requests...
    This means that whether a remote function call is being made on a Web service, or a message is being sent to it, that request must be encapsulated in XML tags.

    ...from other systems across a network (Internet or Intranet)...
    Web services are similar to other distributed computing technologies, enabling remote, distributed, enterprise applications. We'll compare Web services with DCOM, RMI, and CORBA later in this chapter.

    ...via lightweight, vendor-neutral communications protocols.
    The technologies and protocols that Web services rely upon are designed to be relatively lightweight, leaving many of the more complicated features such as security, session-handling, and transaction management to be handled by the underlying transport mechanism. Additionally, these technologies and protocols have been defined within vendor-neutral standards organizations, such as OASIS and the W3C. By using these standardized protocols, any network-enabled, XML-aware application can invoke a Web service, regardless of the programming language or operating system involved.
Index of Terms
Four Key Building Blocks   Other Must-Know Groups, Standards, and Terms
SOAP
XML-RPC
WSDL
UDDI
ebXML.org
Digital Signatures
JAXP
JAXR
JAXM
JAX-RPC
HTTPS
Liberty Alliance
OASIS
Passport
PIPs
RosettaNet
SAML
SunONE
UN/CEFACT
W3C
WebMethod
WSFL
WS-I
XKMS
XACML
XAML
XSLT


The Four Key Building Blocks
With an understanding of what Web services are all about, we can examine the core technologies that make Web services work. Those technologies are SOAP, XML-RPC, WSDL, and UDDI.

SOAP—The Simple Object Access Protocol is, according the 1.1 specification, "a lightweight protocol for exchange of information in a decentralized, distributed environment." The protocol is entirely based upon XML, is vendor-neutral, and is one of the cornerstone technologies in Web services. It represents the invocation mechanism within a Web service architecture.

SOAP is a specialized XML format that facilitates the exchange of messages in an asynchronous, platform-neutral manner. This communication can be a one-way asynchronous message, or a two-way RPC-style invocation. SOAP boasts a robust data-typing mechanism based on the XML Schema specification, XML Namespace support, as well as enterprise extensibility via SOAP headers. Although SOAP is based on XML and it is considered lightweight, it is actually quite heavyweight in terms of its resource demands, especially when compared to XML-RPC. If, however, bandwidth and processing power are not an issue (and they are become less significant every day), then SOAP offers a more robust and flexible Web services communication protocol.

XML-RPC—XML-RPC is a Remote Procedure Calling protocol that invokes remote procedures over the Internet by sending XML-formatted messages. XML-RPC is an extremely lightweight mechanism that can be used as the message format for the invocation layer of a Web service architecture. It is a lightweight alternative to SOAP that is especially useful when security and transaction support are less important than speed and simplicity.

The key to a Web service architecture is the utilization of XML as a language-agnostic, vendor- and platform-neutral medium for accessing Internet or intranet services. XML-RPC provides the minimum functionality necessary to specify data types, pass parameters, and invoke remote procedures in a neutral way.

WSDL—The Web Services Description Language (WSDL) is an XML-formatted interface for a Web service that describes what a Web service is capable of and how a client can locate and invoke that service. A service description can be published as a WSDL document, and therefore WSDL operates in the publishing layer of a Web service architecture. Graham Glass, founder and CEO of the Mind Electric, compares Web services and the role of WSDL to the human labor market:
    "Job sites and recruiting companies provide a matchmaker service between workers and employers, utilizing résumés and job descriptions to facilitate the matching process. If a good match is found, the interested parties attempt to negotiate acceptable terms. If an agreement is reached, the worker either moves to the employer's location or takes advantage of the Internet and telecommutes instead. The Web Services Description Language is the XML equivalent of a résumé—it describes what a Web service can do, where it resides, and how to invoke it. In a nutshell, WSDL is the IDL of Web services."
UDDI—Universal Description Discovery and Integration (UDDI) specification. There are two ways of finding a Web site on the Internet: directly typing in the URL, and using a search engine to locate a site that meets the criteria you provide. Because Web services operate over the Internet or a corporate intranet, locating them is done in the exact same way: you must either know the network address for the service, or use the Web services equivalent of a search engine.

If you already know the address of the Web service you want to invoke, or the address of its interface (WSDL, some flavor of XML, standard Java interface, etc.), then you can contact that service directly. This typically occurs in a corporate intranet, or a B2B extranet in which you might share the addresses of important services with your business partners. However, if you do not already know the address of the service, or its interface, then you must search for the service by querying a Web service registry. The UDDI spec defines a standard mechanism for publishing and locating the existence of businesses and the services they provide.

Putting the Blocks Together
To pull it all together, a simple Web service exchange involves the sending of a SOAP request (most likely via HTTP) to a SOAP service. This service would then parse the SOAP message, process the contents (perhaps extracting parameters and a specific service call), and optionally send a response SOAP message back to the client. If SOAP's asynchrony and flexibility are not necessary, however, this same exchange could be accomplished via XML-RPC. A more involved Web service exchange involves the querying of a UDDI registry in search of a compatible service, the retrieval of a WSDL document describing the service, the construction of a client to access the service, and then finally the invocation of that service.

Other Must-Know Groups, Standards, and Terms
ebXML.org: A non-profit confab of about 200 corporations founded in February 2000 and dedicated to promoting XML as the cornerstone for business conducted via the Internet. ebXML.org is a joint initiative of the United Nations (UN/CEFACT) and OASIS. Corporate participants include Sun Microsystems, IBM, and Cisco Systems. Drafts of key specifications in the ebXML standard are now available for review on the group's Web site.

Digital Signatures: A cryptographic piece of data that is attached to a piece of code. The piece of code could be program code, a Web Service, or XML messages. The Digital Signature is meant to provide assurance to the receiving user (end user) that what it is they are working with is unaltered or has its original integrity.

JAXB: Java Architecture for XML Binding - provides a mapping between XML document elements and Java classes, allowing XML documents to be treated as native Java objects

JAXP: Java API for XML Parsing - enables applications to parse and transform XML documents using whichever type of XML processor (DOM, SAX, or XSLT) is preferred.

JAXR: Java API for XML Registries - offers a uniform mechanism for accessing business registries through Java

JAXM: Java API for XML Messaging - facilitates XML-based messaging via the Java programming language

JAX-RPC: Java API for XML-based RPC - facilitates XML-based RPC over the Internet, allowing XML-formatted parameters to be passed to remote services, and XML-formatted values returned

HTTPS: The "secure" version of the Hypertext Transfer Protocol. It is based on Secure Sockets Layer (SSL).

Liberty Alliance: Sun's answer to Microsoft's Passport; a single sign-on user identification system. Major supporters include Visa, Bank of America, United Airlines, and dozens of other Fortune 500 companies.

OASIS (Organization for the Advancement of Structured Information Standards): A non-profit consortium of dozens of high-tech companies with the goal of developing standards based on XML and SGML languages. Cisco Systems, Sun Microsystems, Microsoft, and IBM are all active in this initiative.

Passport: Microsoft's propriety single-sign-on user-identification apparatus.

PIPs: Partner Interface Processes (see RosettaNet)

RosettaNet: defines a standard set of protocols and message formats for supply chain integration, called Partner Interface Processes (PIPs). The RosettaNet PIPs have been registered as service types in UDDI, and businesses can associate their services with these RosettaNet service types. Users can search the UDDI registry for businesses that support these PIPs. Other industry organizations can also register their service types in UDDI.

SAML: Security Assertion Markup Language, which allows multiple systems to share security and authentication information.

SunONE: Sun's Open Net Environment: Sun's "preferred" overall framework for its Web services and enterprise Web application-building products. Includes the iPlanet application server, the NetBeans and Forte developers' tools, and integration support services.

UN/CEFACT: The United Nations Centre for Trade Facilitation and Electronic Business. The United Nations, no less, is a key player and international advocate in the electronic-business XML picture.

W3C: World Wide Web Consortium. The international governing agency for Internet standards.

WebMethod: A derivative of Microsoft's original Web form in the Visual Studio 7 IDE; it is the declaration for turning a piece of code into a Web service automatically in the .NET environment.

WSFL: Web Services Flow Language; the newest Web services technology. Defines workflows composed of Web services, and composes Web services from lower-level workflows.

WS-I: A new (announced Feb. 6) cross-industry initiative designed to accelerate the development and deployment of interoperable Web services across a variety of platforms, applications, and programming languages. Founders include Accenture, BEA Systems, Fujitsu Ltd., Hewlett-Packard, IBM, Intel, Microsoft, Oracle, and SAP AG. The mission of WS-I will be to provide implementation guidance to support customers deploying Web services, promote consistent and reliable interoperability among Web services, and articulate a common industry vision for Web services.

XKMS: XML Key Management System, a system for managing public keys that incorporates key registration and distribution.

XACML: Extensible Access Control Markup Language provides an XML solution to issues of authorization using Digital Rights Management (DRM) and other access control policies.

XAML: Transaction Authority Markup Language (XAML) is a vendor-neutral standard that enables the coordination and processing of online transactions.

XSLT: Extensible Stylesheet Language Transformations help display data in various formats and for different platforms. Because Web services ultimately exchange XML-formatted messages, it is often necessary to transform that XML into a format that can be understood by a particular client device, such as a cell phone—or even human-readable display.

Author Note: ebXML.org offers its own detailed glossary for ebXML terminology. It is available for download in document form.


Sponsored Links







Advertising Info  |   Member Services  |   Contact Us  |   Help  |   Feedback  |   Site Map
Jupiterweb networks

internet.comearthweb.comDevx.comClickZ

Search Jupiterweb:

Jupitermedia Corporation has four divisions:
JupiterWeb, JupiterResearch, JupiterEvents, and JupiterImages

Copyright 2004 Jupitermedia Corporation All Rights Reserved.
Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.

Jupitermedia Corporate Info | Newsletters | Tech Jobs | E-mail Offers