Title: The GRIMOIRES Service Registry
1The GRIMOIRES Service Registry
- Weijian Fang and Luc Moreau
- School of Electronics and Computer Science
- University of Southampton
2The Grimoires Registry
- Grid RegIstry with Metadata Oriented Interface
Robustness, Efficiency, Security
- A Grimoire is a magician's manual for invoking
demons (Oxford English Dictionary)
- Pronunciation grimwar / grimwars
- The Grimoires registry hosts descriptions of
services and workflows, which a scientist can use
for forming complex experiments, for discovering
and for invoking them. - Originally developed for the myGrid Project
(www.mygrid.org.uk)
- Currently, a managed programme project of Open
Middleware Infrastructure Institute
(www.omii.ac.uk)
3UDDI
- Service-Oriented Architecture
- Universal Description, Discovery and Integration
- The service publication and discovery
specification adopted by WS community
- The latest version is v3 (v2 is still widely
used)
- The UDDI standard defines
- The data model to describe services
- The API to publish/discover services
4UDDI Data Model
5What UDDI lacks
- Rigid data model with limited extensibility
- Prevents customised service description
- WS technical interface is expressed as an
outgoing link (through tModel).
- Prevents discovery based on technical interface
detail
- Burden is on clients to parse multiple external
documents and reason over them
- No metadata support published by third parties
- No Lifetime management
6 ldefinitions targetNamespace"http//www.ebi.ac.u
k/alignmentblastn_ncbiderived"
xmlns"http//schemas.xmlsoap.org/wsdl/"
xmlnswsdl"http//schemas.xmlsoap.org/wsdl/"
1" / " 0 in1" name"runRequest1" / implrunResponse1" name"runResponse1" /
name"SoaplabException"/ /wsdlportType
Inputs Details
No information about the meaning of these strings!
Nor about the meaning of the operation!
7Metadata Annotation
- Metadata annotation helps service discovery
- Customized service description
- Service consumers can share experience in service
discovery and invocation
- Metadata examples
- (Service, UseResource, aDatabase)
- (InputMessage, SemanticType, NucleotideSequence)
8Grimoires Functionality
- UDDI interface
- UDDIv2 compliant
- WSDL interface
- Publish and inquire for the WSDL descriptions,
for instance,
- Publish a WSDL by its URL
- Find the input message of an operation.
- Given an operation, find out which WSDL
description it belongs to
9Grimoires Functionality (contd.)
- Metadata interface
- Attach a piece of metadata to UDDI entities
(business and service), WSDL entities (operation
and message part), metadata
- The metadata can be a String, a URI (representing
an ontology concept), or RDF triples (arbitrary
graphs).
- Publication by provider, consumer or third
parties
- Retrieve metadata attached to an entity
- Discover entity by metadata
- All information is uniformly represented in RDF
10(No Transcript)
11Grimoires Implementation
- Deployment environments
- OMII 2.0 distribution, GT4, and standard
Tomcat/Axis
- Use RDF triple store as back end
- Supported triple stores Jena and Sesame
- The Sesame support is through a
Jena-Sesame-Model
- Lifetime management
- Security (WS-Security) and access control
- WSRF
12Grimoires Architecture
UDDIv2 WS API
Metadata WS API
WSDL WS API
Lifetime Management
Access Control
Notification
RDF Serializer
RDF Deserializer
RDF Querier
Jena RDF API
Jena-Sesame-Model
Jena DB Store
Jena File-backed In-memory Store
Sesame DB Repo.
Sesame File-backed In-memory Repo.
Sesame Native Repo.
13Lifetime Management
- Each published entity can have a lifetime.
- When lifetime expires, some termination actions
can be taken.
- Deletion
- Deprecation
14Authentication and access control
- Uses signature creation and verification facility
of OMII 2.1.0
- Client-side SOAP message signed server side
verifies and extracts X509DN
- X509DN used as input to an access control engine
implemented using XACML
- X509DN and UDDI request formatted into XACML
request
- Request is evaluated against existing XACML
policy in registry
- Can be mapped into role-based context
- Ongoing work on allowing XACML statements to be
provided by registry clients as metadata
attachments.
15WSRF
- Expose the registry as a WS-Resource
- Registry contents exposed as XML Document
- Each registry entry can also be seen as a
WS-Resource
- Metadata WS-Resource properties
- Universal WSRF setters and getters
- Work in progress, making use of GT4 container
16Benchmarking Methodology
- Two fundamental operations in a service registry
service publication and discovery.
- We want to investigate to what extent the
publication and discovery overheads are affected
by the registry data size.
17Grimoires vs. jUDDI Publication
jUDDI 226.3 ms to publish one service when there
are 2000s in the registry.
Grimoires 37.8 ms to publish one service when
there are 2000s in the registry.
18Grimoires vs. jUDDI Inquiry
Grimoires 56.9 ms to discover one service when
there are 2000s in the registry.
jUDDI 38 ms to discover one service when there
are 2000s in the registry.
19Persistent Stores Publication
PostgreSQL 37066 ms to publish one service when
there are 2000s in the registry.
File-backed in-memory 62.4 ms to publish one
service when there are 2000s in the registry.
20Persistent Stores Inquiry
PostgreSQL 2173 ms to discover one service when
there are 2000s in the registry.
File-backed in-memory 42.7 ms to discover one
service when there are 2000s in the registry.
21WS-Security Publication
Signed 1532 ms to publish one service when there
are 2000s in the registry.
Not signed 88 ms to publish one service when
there are 2000s in the registry.
22WS-Security Inquiry
Signed 987 ms to discover one service when there
are 2000s in the registry.
Not signed 98.9 ms to discover one service when
there are 2000s in the registry.
23Metadata Publication
Attach metadata
Publish service
24Discovery by metadata
Inquiry-by-name 56.9 ms to discover one service
when there are 2000s in the registry.
Inquiry-by-metadata 80.5 ms to discover one
service when there are 2000s in the registry.
SELECT ?key WHERE (?service, , sinessService) (?service0, , ?name
Bag) (?nameBag, ?v, a good service") (?service0
, , ?key)
SELECT ?key WHERE (?service, , sinessService) (?service0, , ?
metadataBag) (?metadataBag, ?v, ?metadata) (?met
adata, , )
(?metadata, , blastn dat
abase) (?service0, , ?key)
25Summary
- Grimoires is a UDDIv2 compliant service registry
- Grimoires provides metadata annotation/discovery
and WSDL registration/discovery functions that
are not supported by UDDI
- Grimoires offers lifetime management
- Grimoires is efficient
- In Progress and future work
- WSRF view of registry
- Notifications
26Download Grimoires
- Grimoires homepage
- www.grimoires.org
- Grimoires release
- http//twiki.grimoires.org/bin/view/Grimoires/Soft
wareReleases
- The latest version is 1.1.0
27(No Transcript)