LDDI: Microformats for SOA Registries
Thomas Warne and Phillip J. Windley
Department of Computer Science
Brigham Young University
Abstract: Service Oriented Architectures (SOA) use service registries for advertising and discovering available services, increasing service reuse, and inventorying available services. The present standard for registries is Universal Description, Discovery and Integration (UDDI), but UDDI-based servers are complex to operate and expensive to purchase and maintain. This presentation describes a registry service, called Lightweight Description, Discovery, and Integration, or LDDI, that is based on HTTP and microformats. We demonstrate how services can be published and discovered using LDDI and how services so discovered can be used in the traditional manner.
Introduction
Registries are a mandatory part of a functional service oriented architecture (SOA). A registry provides three critical functions:
- A "system-of-record" for the enterprise's Web services. Thus the registry becomes the central reference for otherwise distributed and difficult to find services.
- A place where services can be advertised by providers and discovered by consumers.
- A point of control for governing the availability of services, managing versioning, and ensuring compliance to enterprise and external requirements.
The most popular standard for providing registry services is UDDI [CHvRR04]. UDDI, however, is complex and expensive to operate and maintain. Commercial implementations of UDDI-based registries costs hundreds of thousands of dollars. This puts them beyond the reach of small organizations. Other organizations simply eschew the complexity. The only other option is to list services in HTML-based documents that describe the API in natural language.
While human readable documentation works well for people browsing the Web site looking for information about a Web service, it's unusable by machines because of the lack of a standard format. What's more, search engines cannot easily categorize the services according to meta data properties like publisher, version, and so on.
Lightweight Description, Discovery, and Integration
We propose a new solution to the registry problem called LDDI for Lightweight Description, Discovery, and Integration. LDDI combines microformats and HTTP to form a simple, inexpensive directory service that is friendly to search engines, browsable by developers, and readable by machines.
Microformats are XHTML-formatted Web pages that are "designed for humans first and machines second." [CMM05b] Microformats are typically based on existing formats. The primary idea is that they can be embedded in human readable Web pages in such a way that machines can easily parse the relevant data. The key advantage is that the machine and human readable data is maintained in a single document that is available via HTTP to any applications.
In keeping with the microformat philosophy of using existing standards, we created microformatted versions of the WSDL [CMRW05] and WSIL [Bal01] specifications. WSDL, the Web Services Description Language, is the most popular standard for describing what a particular Web service does. WSIL, the Web Services Inspection Language, is a way of advertising where descriptions of Web services can be found. The microformatted versions of the specifications are called mWSDL and mWSIL respectively. mWSDL and mWSIL make use of the hCard microformat for contact data and names.
We also developed a prototype Web crawler and search engine capable of crawling Web sites, recognizing mWSIL documents and indexing the services advertised in them. Indexing these services involves retrieving the mWSDL document and indexing the service according to the various properties contained in the description.
Demonstrating LDDI
The following figure shows the various interactions with the LDDI registry by service providers, service indexers, service developers, and service consumers.
The interactions in this diagram are described below:
- Service provider publishes service location and description to the LDDI registry. These can be in WSDL, WSIL, mWSDL, or mWSIL or any combination. The LDDI registry automatically converts between formats.
- Service indexer crawls Web sites
- When the indexer finds mWSIL documents, it retrieves them and the associated mWSDL documents to create and index.
- Service developer searches for services,
- Service developer retrieves the URL of interesting services.
- The URL is used to retrieve service descriptions, as Web pages containing embedded mWSDL.
- The URL is given to the service consumer.
- Service consumer send the URL for the mWSDL or mWSIL files to the LDDI registry.
- The LDDI registry returns a WSDL document correctly formatted for use by the service consumer.
- The consumer uses the WSDL document to create appropriate calls to the service.
Conclusion
This presentation has shown how microformats can be used with a standard HTTP server to create a simple, inexpensive, and powerful registry for Web services. We have also demonstrated how standard search engines, modified to recognize and parse mWSDL and mWSIL documents could index them in a way that is useful for service developers. We have also shown how mWSDL and mWSIL documents can be used within a traditional SOA development environment (such as .Net or Java) to bind to an advertised service.
Future directions for this work include the incorporation of additional microformats, including tags for categorization and ratings. Standards are being proposed for service metadata. Obviously, those could be incorporated in the same way that WSDL and WSIL were.
This work has been aimed at SOAP-based services (as described by WSDL), but there's no reason that it wouldn't apply to services built on plain HTTP and XML if appropriate description standards were developed and available.
LDDI provides a simple, inexpensive, and easy to use replacement for UDDI that is based on HTTP and microformats.
Bibliography
[Bal01] Ballinger, K, et al. 2001. Web Services Inspection Language (WS- Inspection) 1.0. IBM DeveloperWorks. http://www-128.ibm.com/developerworks/library/specification/ws-wsilspec/. Accessed on 1 September 2005.
[CHvRR04] Clement, L., Hately, A., von Riegen, C., and Rogers, T. 2004. UDDI Version 3.0.2. OASIS Open.
[CMRW05] Chinnici, R., Moreau, J., Ryman, A., and Weerawarana, S. 2005. Web Services Description Language (WSDL) Version 2.0 Part 1: Core Language. W3C . http://www.w3.org/TR/2005/WD-wsdl20-20050803/. Accessed on 13 September 2005.
[CMM05b] Celik, T., Meyer, E. A., and Mullenweg, M. 2005b. XHTML Meta Data Profiles. WWW '05: Special Interest Tracks and Posters of the 14th International Conference on World Wide Web (Chiba, Japan). ACM Press, New York, 994-995.
Last Modified: Wednesday, 19-Apr-2006 01:57:47 UTC