Skip to topic | Skip to bottom

Start of topic | Skip to actions

Grimoires History

This line of work started as part of the myGrid project, a project targeted at developing open source high-level middleware to support personalised in silico experiments in biology on a Grid.

In this context, we needed a registry that contained service and workflow descriptions, so that they could be discovered by scientists composing new experiments. Additionally, we wanted to be able to provide metadata about such descriptions, which would characterise their functionality or the database they used. Vijay Dialani was the first in the project to prototype these ideas in UDDI-M (a Modified version of UDDI, the de facto standard for registring Web Services), which extended UDDI with some capability to register metadata. Vijay built UDDI-M, the first generation of the Grimoires software, as a system that tunnelled requests to a UDDI registry and stored all metadata attachments in a local database. In UDDI-M, metadata took the form of key-value pairs. Details of this work was later described in [4] for which we carried out some performance evaluation [3].

With Simon Miles and Juri Papay, the UDDI-M ideas were extended in several major ways. First, it was felft that the registry should no longer tunnel requests to another UDDI registry but that service descriptions had to be kept locally with metadata. Second, metadata, service descriptions and other relevant information had to be stored locally, and represented using a single information model. Third, we decided to make use of RDF as the lingua franca to express service descriptions and related information: this offered a uniform way of systematically representing metadata, but also a uniform way of querying it, using the RDQL Query Language. Finally, it was decided that different users may want to have their own set of metadata, and therefore we supported the idea of third-party metadata attachment, i.e. metadata that was produced by other users that service providers. The functionality of the service has been described in some publications [2]. This led to the View Service, the second generation of Grimoires, implemented by Simon Miles and Juri Papay. Michael Luck, Terry Payne and Keith Decker, then on sabbatical in Southampton, contributed ideas to the View Service. Interaction with the myGrid project, and the use of the View Service in some demonstrators help improve the metadata attachment interface. Indeed, with Carole Goble, Chris Wroe and Phil Lord, the View Service was use to register semantic descriptions of services [1].

The third generation of Grimoires was developed by Simon Miles, who refactored the service to make it more modular and efficient. The overall design of the system can be found in this DesignDocument.

Finally, we are now about to start the fourth Generation of the software, with help from Sylvia Wong, Victor Tan and Weijian Fang, in order to make it more robust and efficient, more secure, and better capable of supporting multiple service description models.

-- LucMoreau - 02 Nov 2004

Progress Made During 2005 - 2006

Performance Evaluation

Grimoires was benchmarked by measuring the service publication and discovery overhead against the amount of information published in Grimoires. More specifically, the following experiments have been conducted: (1) Grimoires’ performance using various persistent stores; (2) the memory usage of Grimoires; (3) Grimoires’ performance under the security framework specified by WS-Security and related specifications; (4) the performance comparison between Grimoires and jUDDI, an open source standard UDDI registry, to study the overhead of representing published information in the RDF format; (5) the performance of metadata annotation and metadata-based discovery; and finally (6) Grimoires’ throughput under simultaneous requests. The results are positive, showing Grimoires is an efficient service registry approach.

Jena Sesame Model

Grimoires was originally built on Jena RDF API. A Jena-Sesame-Model has been implemented to allow Grimoires (using Jena API) to access Sesame RDF store as backend. This gives Grimoires flexibility to choose between Jena and Sesame, the two most popular RDF triple store implementations in Java, whatever is more suitable.

Authentication and Access Control

An authentication mechanism is implemented based on SOAP message signing and verification in accordance with WS-Security standards. When deployed within an environment supporting such a feature, such as the OMII container, Grimoires can extract the Distinguished Name (DN) from the submitted X509 client certificate for authentication purposes. Incorporating signature usage in this way makes it easier to integrate Grimoires into existing Grid security infrastructure, as well as providing an important building block for single sign-on capabilities, an important requirement for many Grid applications.

Access control is implemented on the basis of authenticated identity, and is applied at the granularity of each registered entity, e.g., a service, a WSDL file, or a piece of metadata. The access control engine needs to decide which user can perform which operation on which entity. The access control assertions are represented as metadata and are attached to the corresponding data entries.

Lifetime Management

Lifetime management has been supported. In Grimoires, each entity that has a known limited lifetime can be attached with a special metadata denoting its scheduled termination time. Proper actions will be taken by the registry to entities whose scheduled termination time arrives. Equipped with lifetime management, Grimoires is made more suitable for the Grid environment, where transient services may be used extensively.

Exposing Registry Entities as WS-Resources

When deployed in an environment supporting Web Service Resource Framework (WSRF), such as GT4, Grimoires is able to expose registry entities, such as businesses and services, together with their attached metadata, as WS-Resources. By doing so, standard operations defined in the WSRF specifications can be used to operate on registry entities. For instance, registry entities can be queried over using XPath, which is specified in WS-ResourceProperties; registry entities can be subscribed for notifications when they are updated or deleted, as in WS-Notification; the lifetime of registry entities are managed according to WS-ResourceLifetime.


This work is supported in part by EPSRC (Grant GR/R67743/01) and OMII (EPSRC Grant GR/S90843/01).


  1. Chris Wroe, Carole Goble, Mark Greenwood, Phillip Lord, Simon Miles, Juri Papay, Terry Payne, and Luc Moreau. Automating Experiments Using Semantic Data on a Bioinformatics Grid. IEEE Intelligent Systems, pp 48--55, 2004.
  2. Simon Miles, Juri Papay, Terry Payne, Keith Decker, and Luc Moreau. Towards a Protocol for the Attachment of Semantic Descriptions to Grid Services. In The Second European across Grids Conference, Nicosia, Cyprus, pages 10, January 2004.
  3. Simon Miles, Juri Papay, Vijay Dialani, Michael Luck, Keith Decker, Terry Payne, and Luc Moreau. Personalised Grid Service Discovery. IEE Proceedings Software: Special Issue on Performance Engineering, 150(4):252--256, August 2003.
  4. Simon Miles, Juri Papay, Vijay Dialani, Michael Luck, Keith Decker, Terry Payne, and Luc Moreau. Personalised Grid Service Discovery. In Stephen A. Jarvis, editor, Nineteenth Annual UK Performance Engineering Workshop (UKPEW'03), University of Warwick, Coventry, England, pages 131--140, July 2003.

to top

You are here: Grimoires > GrimoiresHistory

to top

Copyright © 2004 by the University of Southampton