PLA TechNotes

From Library Success: A Best Practices Wiki
Jump to: navigation, search

Web Services

By Richard W. Boss

The term "Web services" describes a standardized way of integrating Web-based applications—including databases, spread sheets, word processing, and communications— using the XML, SOAP, WSDL, and UDDI open standards over the Internet.

XML is used to tag the data, SOAP is used to transfer it, UDDI is used for listing what services are available, and WSDL is used to describe the services that are available. Unlike the client/server models that are now widely used, such as a Web server/Web page system, Web services do not provide the users with a graphical user interface (GUI). Instead, Web services share information through a programmable interface. In other words, the applications interface, not the users. Developers can then add the Web services to a graphical users interface to offer specific functionality to users. The user interface can be tailored to the application. Web services do not require the use of HTML.

The Value of Web Services

Web services are the least expensive approach yet to interfacing heterogeneous systems and applications. The virtues of the Web are simplicity of access and ubiquity. Using the standards described it this TechNote, it is possible to interface systems without using custom coding or other proprietary solutions, without modifications to the applications that need to be interfaced, and without the need for users to acquire new skills.

Web services have great potential value for libraries. For example, Web services can be used to interface the acquisitions module of an automated library system and the system of a book jobber with minimum programming and minimum operator intervention at the library or book jobber. For example, the Web services-based VIP (Vendor Integration Protocol) implementation between Dynix’s Horizon and Baker & Taylor, Book Wholesalers, Ingram, and United Library Services requires only that the operator in the library enter and transmit an ISBN. The receiving system automatically transfers bibliographic and pricing information to an acquisitions purchase order line record in Horizon. This approach is superior to the more labor-intensive BISAC and EDI-based interfaces that have been in use for the past few years.

Web services may also facilitate access to electronic databases. Endeavor Information Systems and Elsevier Engineering Information have developed an XML gateway from the former’s ENCompass for Resource Access federated search system to the contents hosted on the latter’s Engineering Village 2. This is particularly important when much of the information in a database is not in the MARC format. Anticipating the potential success of Web services for access to electronic databases, EBSCO has introduces a Web services interface to EBSCOhost.

Web services may also play a role in facilitating access to digital libraries. Several development efforts are underway at academic institutions and state libraries.

Web services may at some point in the future displace Z39.50, the standard used to link patron access catalogs, because Web services is easier to implement, broader in scope, and less expensive. However, that probably will not occur until the Web services technology matures somewhat.

The Roles of the Web Services Components

XML (Extensible Markup Language) was original developed as a language for defining new document formats for the Web. It was derived from SGML (Standard Generalized Markup Language). As early as 1983, the library at the University of California/Berkeley started developing a method for encoding archival materials in XML. The work led to the development of the Encoded Archival Description (EAD) standard.

The California Digital Library not only uses XML to store books in a standardized format, but it also uses it to allow users to define their own displays.

Oregon State University has been using XML since 1998 to automatically search interlibrary loan requests and print request forms sorted by location and call number, complete with availability information, scannable Ariel addresses, shipping labels (if needed), and billing data customized to the borrowing institution.

The Library of Congress announced MARC.XML in 2002, a specification for representing MARC data in an XML environment. That will facilitate the combining of search results from sources that use MARC with sources that do not.

Recently, the use of XML has gone beyond documents to structured data, including databases, spreadsheets, program configuration files, and network protocols. It is preferred to earlier formats because it can represent both tabular data such as data from a database or spreadsheet and semi-structured data such as a Web page or business document. XML is independent of hardware platforms, operating systems, and programming languages. It is superior to HTML in that it does not have predefined elements and attributes that must be used in all applications. Instead, it is possible to create an XML vocabulary that is specific to an application.

XML can be used without SOAP, UDDI, and WDDL, but when used with these standards the result is Web services.

SOAP (Simple Object Access protocol) is an XML-based protocol specification that defines a uniform way of passing XML-encoded data, whether a request or a response. SOAP messages are independent of any operating system or protocol and may be transported using SMTP, MIME, or HTTP. When SOAP uses HTTP as the transport mechanism, it is not blocked by most firewalls unless system administrators have configured the firewall to selectively block out SOAP requests using SOAP-specific HTTP headers. Without SOAP, it is necessary to use platform-specific solutions.

UDDI (Universal Description, Discovery, and Integration Service) provides a mechanism for clients to find other Web services. It can be thought of as a DNS service. A ULDDI registry has two kinds of clients: organizations that want to publish a service and its usage interfaces, and clients who want to obtain services of a certain kind.

WSDL (Web Services Definition Language) provides a way for service provides to describe the basic format of Web services requests. It describes what a Web service can do, where it resides, and how to invoke it.

The State of Web Services

As of the third quarter of 2004, Web services consisted of a series of in-development technologies and standards. There were still multiple approaches to the same problem. The World Wide Web Consortium (W3C), an international consortium with approximately 400 member organizations, moves slowly in the enhancements of the standards because it has to reconcile the positions of companies that compete with one another.

Sources of Information:

A useful primer on Web services is available at [1]. Click on "What are Web Services?"

The leading source of technical information is W3C ([2]). Its site maintains nearly 700,000 Web pages about its activities and the standards that deal with the Web, including Web services. The home page features a section entitled "Where do I find what I need?"

The Web sites of vendors of automated library systems also contain information about Web services. However, the information tends to be buried in product descriptions, rather than searchable by that term.

Prepared by Richard W. Boss, August 25, 2004

Personal tools