What Is Web Services?

Team-Fly    

 
XML, Web Services, and the Data Revolution
By Frank  P.  Coyle
Table of Contents
Chapter 5.   Web Services


Web services builds on SOAP and HTTP.

Web services is at once a technology, a process, and a phenomenon. As a technology it is a set of protocols that builds on the global connectivity made possible by SOAP and the synergies of XML and HTTP. As a process, it is an approach to software discovery and connection over the Web. As a phenomenon , it's an industry-wide realization that the decentralized, loosely coupled , synergistic Web can't be ignored.

As Figure 5.1 shows, Web services builds on SOAP's capability for distributed, decentralized network communication by adding new protocols and conventions that expose business functions to interested parties over the Internet from any Web-connected device. As we discussed in Chapter 1, we're moving into a new computing paradigm based on the assembly of constituent parts . SOAP, for example, is not a stand-alone technology, but the result of synergies between XML and HTTP. This phenomenon of emergence has not been lost on the major industry players, who are actively working to update their existing infrastructures to keep pace with the changes wrought by SOAP-based messaging for the global Web.

Figure 5.1. Web services provides a framework for communication across the Web. It is both a set of protocols and a process for discovery and connection.

graphics/05fig01.jpg

Web services is a technology and process for discovery and connection.

Web services represents an industry-wide response to the need for a flexible and efficient business collaboration environment. Technically, it is a way to link loosely coupled systems using technology that doesn't bind them to a particular programming language, component model, or platform. Practically, it represents a discrete business process with supporting protocols that functions by describing and exposing itself to users of the Web, being invoked by a remote user , and returning a response. It includes:

  • Describing: Web services describes its functionality and attributes so that other applications can figure out how to use it.

  • Exposing: Web services register with a repository that contains a white pages holding basic service-provider information, a yellow pages listing services by category, and a green pages describing how to connect and use the services.

  • Being invoked: When a Web service has been located, a remote application can invoke the service.

  • Returning a response: When a service has been invoked, results are returned to the requesting application.

The driving force behind Web services is the desire to allow businesses to use the Internet to publish, discover, and aggregate other Web services using the global underpinning of SOAP. The fact that the delivery of Web services requires only the Internet means that legacy code and data as well as object systems can plug into the Web services framework. This capability is expected to result in new products, business processes, and value chains with global scope, deliverable over wired or wireless networks. How these will emerge is anyone 's guess. But the track record of the Web, XML, and now SOAP indicates that new technologies will rapidly emerge.

What Qualifies as Web Services?

A Web service is anything that can define itself via an interface.

Any software components or application can be exposed as Web services so that it can be discovered and used by another component or application. Web services may be as simple as a movie review or weather forecast or as complex as a complete travel package that includes hotel and airline bookings and restaurant reservations . What Web services brings to the table is a technical infrastructure that ensures that services, even from different vendors , will inter operate . While this idea of component assembly has long been the dream of object technology, Web services takes the object vision to the next level by adding capabilities that don't require advance knowledge of how services fit together.

Opportunity and Risk

Web services offers new opportunities for profit and efficiencies.

Web services represents a new model of software distribution and interconnection based on the notion of services globally available over the Web rather than object-to-object connections over limited networks. Because of the global scope of Web-based services, the potential financial upside is extremely attractive. Financial incentives include new revenue opportunities through creation of private trading networks, increased revenue through expanded distribution channels, and reduced inventory and transaction costs.

Web services also promises improved collaboration with customers, partners , and suppliers. It provides opportunities for reducing integration time and expense compared to existing enterprise application integration and business-to-business (B2B) solutions. There is also opportunity for improved supply-chain efficiencies, quick response to changing market conditions and customer preferences by utilizing loosely coupled modular services, and improved customer service by allowing customers and trading partners access to core systems.

Early adopters run the risk of any new technology.

However, the Web services vision is still new and not without risk. Despite the significant potential, it remains to be seen how Web services will play out on a large scale. It's expected that Web services will begin to play a role in the delivery of simple services but, until the technology matures, complex trading partner interactions will still require an up-front human element to solidify agreements. As we look into the details of the Web services protocols UDDI and WSDL, we will revisit the issue of risks.

Web Services: A ZwiftBooks Perspective

ZwiftBooks uses a Web services repository to list its offerings.

To understand how companies might take advantage of Web services, let's look at how ZwiftBooks, the must-have , instant book delivery service, might take the plunge.

There are several decisions ZwiftBooks must make as a provider to take advantage of Web services technology. It must

  1. Decide on the service it wants to provide

  2. Pick a registry (or registries) for uploading its information

  3. Decide how to list its service at the registry

  4. Define explicitly how users can connect to its service

Let's explore each a little further.

Deciding on a Service

The first step is to decide what aspects of the business ZwiftBooks wants to expose to potential clients . Remember, Web services is about services, and ZwiftBooks could very easily begin by publishing its telephone service instead of its newly developed SOAP-based service. Let's assume, though, that ZwiftBooks has its server act together and is ready to accept SOAP requests , so it decides to go with the automated book query service.

Picking a Registry

There are currently several registries implemented by various software vendors. ZwiftBooks selects SuperReg, a registry run by a major Web services company that is known to get lots of traffic.

Deciding How to List

An important issue for ZwiftBooks is how is get discovered on the registry. Table 5.1 outlines the options for storing information in a UDDI repository. Web services registries support white, yellow, and green pages. Of course, ZwiftBooks will be in the white pages under "Z," but that's probably not going to bring thousands of book lovers to its SOAP server. What ZwiftBooks needs is to list itself by category, just like in the conventional yellow pages. A logical place would probably be "Books." But is that enough?

Individuals and software agents will search repositories.

Remember, Web services is intended for computer-to-computer interactions. Now while there may be a human on the other end of the computer trying to find a book service, ZwiftBooks needs to think about how to make itself attractive to computer-based agents trolling the Web for business partners. These computer systems will be more concerned with whether ZwiftBooks can plug into their B2B framework. Is ZwiftBooks prepared to deliver book information based on industry standards? If so, then maybe ZwiftBooks is worth a further look; if not, it's time for the robot to move on.

Web services yellow pages will list companies according to conformant standards.

This brings us to a new way of thinking about yellow pages. What will be important in attracting software agents that represent potential customers and partners in the freewheeling world of Web services is whether a company is prepared to participate in data interchange using standard processes and procedures. Thus, instead of listing itself just under "Books" in the yellow pages, ZwiftBooks may also want to list itself as conformant to the International Book Exchange Consortium or whatever standards it is prepared to abide by. If it does so, potential customers and partners can at least know in advance that it is possible to do business with ZwiftBooks according to their own processes and procedures.

Table 5.1. The Organization of UDDI
Directory Operation Information

White pages: Name , address, telephone number, and other contact information of a given business

Publish: How the provider of Web services registers itself

Business information: A businessEntity object contains information about services, categories, contacts, URLs, and other things necessary to interact with a given business.

Yellow pages: Categories of businesses based on existing (nonelectronic) standards

Find: How an application finds a particular Web service

Service information: Describes a group of Web services. These are contained in a businessService object.

Green pages: Technical information about the Web services provided by a given business

Bind: How an application connects to and interacts with Web services after it's been found

Binding information: The technical details necessary to invoke Web services. This includes URLs, information about method names , argument types, and so on. The bindingTemplate object represents this data.

   

Service specification detail: This is metadata about the various specifications implemented by a given Web service. These are called tModel s in the UDDI specification.

Defining How to Connect

The final step for ZwiftBooks is to place an entry into the green pages that describes how to connect to and query the ZwiftBooks server. To do this ZwiftBooks prepares a WSDL document using WSDL's XML syntax.


Team-Fly    
Top


XML, Web Services, and the Data Revolution
XML, Web Services, and the Data Revolution
ISBN: 0201776413
EAN: 2147483647
Year: 2002
Pages: 106
Authors: Frank Coyle

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net