UKOLN AHDS Service Registries And UDDI



What are Service Registries?

There are a wealth of services available on the Web. The high-profile examples are Amazon and Google APIs, which cover services as diverse as ISBN lookups, book cover image retrieval, Web search, spell-checking and geographical mapping, but many other services are available, performing all sorts of task from library access to instant price quotes and reviews for shopping sites. Some services perform a large and complex task, others perform a single task, and all speak different 'languages', from SOAP (Simple Object Access Protocol) to REST (Representational State Transfer).

For any given Web-based problem, there is an excellent possibility that a service is available that offers useful functionality. Unfortunately, finding these services is not always easy, but the process is greatly facilitated by using a service registry, designed to allow developers to register their services and for anybody, developer or end-user, to locate useful services. A service registry is an important part of any service-oriented architecture.

Types of Service Registry

Various service registries already exist. The first major standard to appear was UDDI (Universal Description, Discovery and Integration), which was designed mostly with SOAP-based Web services in mind. UDDI was originally designed with the idea that there would be very few service registries needed - like the Yellow Pages, there would be one central source of information, which would be available from a number of places, but each one would offer the same content. Several other types of service registry exist, such as the JISC's IESR (Information Environment Service Registry) project [1], which focuses on improving resource discovery mechanisms for electronic resources, that is, to make it easier to find materials to support teaching, learning and research. This briefing paper focuses on UDDI, although it is important to realise that the original UDDI standard has now been replaced by UDDI v3 [2] and is no longer generally used as part of a centralised approach. Instead, many organisations use corporate UDDI servers that are not publicly accessible.

Why Use Service Registries?

Service registries can be accessed in a number of ways. Most can be accessed via a Web interface, so if one is looking for a service or type of service, one can use a service registry like a typical search engine, entering keywords and reading textual descriptions of each service. However, many registries are designed to permit a second mode of use, where services are described in a machine-readable way. This means that, should one service become unavailable, the systems that were using that service can search the service registry for a second, compatible service that could be used in its place.

Using a UDDI Service Registry

UDDI can be used in two ways, because it is both a service registry and a business registry. One can look up businesses or organisations in the business registry, or search for services by description or keyword - UDDI also supports a formal taxonomy system that can be used for formally classifying services. It is sometimes more effective to begin searching for a service by looking at known providers. When an appropriate service has been found, it can be used at once; the UDDI server provides not only the name and description of services, but also information about where the Web service can be found, what protocol should be used to communicate with it, and details of the functionality that it can provide. Adding new services to a UDDI service registry may be done either using a Web interface designed for administrative access, or through an API (application program interface). Each different type of service registry supports its own method or methods - for example, the IESR service registry provides a Web form through which services can be added, or an XML -based service submission function.

Quality Issues

When adding data to any sort of service registry, it is important to ensure that the data is provided in the form recommended by the registry. Malformed entries will not be searchable, and may confuse other users. Equally, once you have listed a service in a service registry, remember that if the service is moved, shut down or altered, it will also be necessary to update the listing in the registry.

Conclusions

Service registries are an important part of the service-oriented Internet, automating and simplifying resource discovery. However, there is no single standard for service registries; as of today, each group has its own resource discovery strategy. Taking part in a service registry will generally lead to additional exposure for the listed services and resources, but does convey the additional responsibility of ensuring that listings remain up-to-date.

References

  1. JISC Information Environment Service Registry,
    <http://iesr.ac.uk/>
  2. UDDI V3 Specification, Oasis,
    <http://uddi.org/pubs/uddi-v3.00-published-20020719.htm>