OMII-UK Home

Grimoires

Summary

The Grimoires registry hosts descriptions of services and workflows which a scientist can use to form complex scientific experiments. Since service and workflow interfaces are sometimes underspecified, the Grimoires registry augments the interfaces with metadata, which makes the interfaces easier to use, especially if the interface is to be automated.

Download

Download Grimoires.

Status

Version 2.0.0 is currently available for download.

System Requirements

Grimoires is a Java application. It will run on most operating systems with a Java platform. It also requires a servlet container in which to operate.

Further information

Developers

Grimoires was developed by the Grimoires team at the University of Southampton, and is now a software component supported by OMII-UK.

Tutorials

Grimoires Service Tutorial

  • Describes how to interact with Grimoires web services by sending and receiving SOAP messages.

Grimoires Client Side Java API Tutorial

  • Demonstrates how to write a Grimoires client program using Grimoires Java API.

GShell Client Tutorial

  • Describes three ways to use GShell: an interactive mode, a batch mode, and sending soap message directly.

GShell Secure Client Tutorial

  • Demonstrates how GShell would interact with a secure Grimoires deployment

Client Side UDDI4J Java API Tutorial

  • UDDI4J is an open source UDDI client API that can be used to interact with Grimoires' UDDIv2 interface. UDDI4J's library and documentation are released with Grimoires. UDDI Browser relies on UDDI4J.

What can it do?

The Grimoires service registry provides the following features:

  • UDDIv2-compliant service publication and discovery APIs.
  • Support publication of WSDL that defines the technical interface of a service.
  • Support service discovery, based on the signature of the service technical interface, i.e. the WSDL elements. Grimoires supports, for example, the discovery of a service that can process a particular message or implements a certain operation.
  • Metadata annotation of registered service descriptions. (Metadata are pieces of data giving extra information about existing entities in the registry.)
    • The metadata is of a type/value pair. The metadata type indicates the semantics of the annotation. The metadata value can be of the form of a simple string, URI (for some pre-defined ontology concept) or an RDF graph and XML snippet (for complicated and structured information). Metadata can be attached to UDDI data models, WSDL elements, or more metadata. A piece of metadata also includes provenance information, such as author and publication date, which can be used, among other things, to determine whether the metadata can be trusted.
  • Support service discovery, based on the metadata attached to the service description.
  • Available only in 1.6.0+: support for a domain-specific service description model, such as FETA and GLUE. Grimoires allows publication of domain-specific service descriptions, which are automatically translated to the Grimoires UDDI/WSDL/Metadata model. Querying, based on a domain-specific model, is also supported.

How does it work?

Grimoires is a Web Service that acts as a registry for UDDIv2-compliant Web Services. Clients interact with Grimoires by sending and receiving SOAP messages. In addition to the UDDIv2 interface, other interfaces are provided, such as a metadata interface and a WSDL interface.

An access-control layer within Grimoires can enforce fine-grained access control for each published entity, which could be a UDDI service, a piece of metadata or a WSDL description. The data published through the different interfaces are internally represented as RDF triples, which can be queried and reasoned over in a uniform way. The published data, i.e. the RDF triples, can reside in a database, a file, or simply in memory, to allow deployers to balance persistence with performance.

Features of Grimoires

Registration of semantic descriptions

Grimoires can publish and inquire over metadata. Currently, entities to which metadata can be attached are UDDI BusinessEntity, BusinessService, tModel, BindingTemplate, and WSDL operation and message part.

Metadata is stored as an RDF triple: the subject is the entity to be annotated, the predicate is the type of the relationship, and the object is the value. The metadata value can be a string, a URI, or structured data in RDF. For example, to describe the quality of a service, the pair (mygrid:NumericRating, 8.5) can be used for the relationship and value of metadata attachment, which assigns a rating of 8.5 to the service.

A unique key is assigned to every piece of metadata published. Therefore, metadata attachments can be updated without republishing the service. This is an efficient way of capturing ephemeral information about services that change often, such as the current load of a service.

Multiple metadata attachments

There is no limit to the number of attachments each entity can have. Since each piece of metadata has its own unique key, it can be updated without republishing other metadata attached to the same entity.

Third-party annotations

The ability to publish metadata is available to both service providers and third parties. This provides the flexibility of allowing users with expert knowledge to enrich service descriptions in ways that might not be conceivable to the original publishers. For example, users can provide their personal ratings on services.

Inquiry with metadata

Multiple search patterns are supported in Grimoires. An entity can be found according to metadata expressed as either a sequence of (type, value) pairs or an RDQL statement. The operation returns a list of entities annotated by metadata matching the query.

Signature-based authentication

UDDIv2 and v3 specifications rely primarily on the use of authentication tokens to authenticate users for publisher API calls. In implementations such as jUDDI, this is generally achieved through a username/password credential scheme. However, this authentication method does not scale well for most Grid environments, which typically use certificate-based authentication schemes. The OMII-UK framework provides an implementation of SOAP message signing and verification in accordance with WS-Security standards. When deployed within the OMII-UK Development Kit, Grimoires can extract the Distinguished Name (DN) from the submitted X.509 client certificate for authentication purposes. Incorporating signature usage in this way makes it easier to integrate Grimoires into existing Grid security infrastructures, as well as providing an important building block for single sign-on capabilities - an important requirement for many Grid applications.

Access control

Access control is made on the basis of authenticated identity, and is applied on the granularity of each registered data entry, e.g. a service, a WSDL file or a piece of metadata. The access control assertions are represented as metadata and are attached to the corresponding data entries.

Add new attachment

Only authorized users are allowed to upload new attachments.
« This page (revision-31) was last changed on 21-Apr-2010 15:37 by SimonHettrick [RSS]

© The University of Southampton on behalf of OMII-UK. All Rights Reserved. | Terms of Use | Privacy Policy | PageRank Checker