GRIMOIRES: Grid RegIstry with Metadata ... - Open Grid Forum

righteousgaggleData Management

Jan 31, 2013 (4 years and 8 months ago)

115 views

The GRIMOIRES Service Registry

Weijian Fang and Luc Moreau

School of Electronics and Computer Science

University of Southampton

The 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
)

UDDI


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

UDDI Data Model

What 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



Metadata 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)

Grimoires 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

Grimoires 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

Metadata

attachment

myGrid

Service

Profile

@prefix rdf: <http://www.w3.org/1999/02/22
-
rdf
-
syntax
-
ns#> .

@prefix uddi: <http://www.mygrid.ecs.soton.ac.uk/uddi.rdf#> .

@prefix mygrid: <http://www.mygrid.ecs.soton.ac.uk/mygrid.rdf#> .

@prefix mygrid2: <http://www.mygrid.org.uk/ontolology#>
.

@prefix : <#> .



mygrid:Pe577955b
-
d271
-
4a5b
-
8099
-
001abc1da633

mygrid:uses_resources

mygrid2:
nucleotide_sequence_database
> ;

mygrid:uses_method

mygrid2:
mygrid_bioinformatics_primitive_service_operation
> ;


mygrid:performs_task

mygrid2:
pairwise_local_aligning
> ;

mygrid:is_function_of

mygrid2:
blastn
.



_:b1 uddi:hasServiceKey

"e577955b
-
d271
-
4a5b
-
8099
-
001abc1da633" ;

a uddi:BusinessService ;

uddi:hasNa
me

[ rdf:_1

"testService" ;

a uddi:NameBag ] ;

uddi:hasMetadata

[ a mygrid:Profile ;

uddi:hasDate

"Wed Apr 23 15:06:23 BST 2003" ;

rdf:v
alue


mygrid:Pe577955b
-
d271
-
4a5b
-
8099
-
001abc1da633
;

uddi:hasAuthor

"Weijian Fang" ] .

Grimoires 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

Grimoires Architecture

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.

RDF Serializer

RDF Deserializer

RDF Querier

Lifetime Management

Access Control

Notification

UDDIv2 WS API

Metadata WS API

WSDL WS API

Lifetime Management


Each published entity can have a lifetime.


When lifetime expires, some termination
actions can be taken.


Deletion


Deprecation

Authentication 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.

WSRF


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


Benchmarking 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.

Grimoires 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.

Grimoires vs. jUDDI: Inquiry

jUDDI: 38 ms to
discover one service
when there are 2000s
in the registry.

Grimoires: 56.9 ms to
discover one service
when there are 2000s
in the registry.

Persistent Stores: Publication

File
-
backed in
-
memory:
62.4 ms to publish one
service when there are
2000s in the registry.

PostgreSQL: 37066 ms
to publish one service
when there are 2000s
in the registry.

Persistent Stores: Inquiry

File
-
backed in
-
memory:
42.7 ms to discover
one service when there
are 2000s in the
registry.

PostgreSQL: 2173 ms
to discover one service
when there are 2000s
in the registry.

WS
-
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.

WS
-
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.

Metadata Publication

Semantically Publishing 100 Services Against Registry Data Size
0
10
20
30
40
50
60
0
5000
10000
15000
20000
25000
Number of services
Time (second)
Delete metadata
Update metadata
Attach metadata
Publish service
Publish WSDL
Attach
metadata

Publish
service

Discovery 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, <rdf:type>, <uddi:BusinessService>)

(?service0, <uddi:hasName>, ?nameBag)

(?nameBag, ?v, “a good service")

(?service0, <uddi:hasServiceKey>, ?key)

SELECT ?key WHERE

(?service, <rdf:type>, <uddi:BusinessService>)

(?service0, <meta:hasMetadata>, ?metadataBag)

(?metadataBag, ?v, ?metadata)

(?metadata, <meta:hasMetadataType>, <meta:useResource>)

(?metadata, <meta:hasMetadataValue>, “blastn database”)

(?service0, <uddi:hasServiceKey>, ?key)

Summary


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

Download Grimoires


Grimoires homepage


www.grimoires.org


Grimoires release


http://twiki.grimoires.org/bin/view/Grimoires/S
oftwareReleases


The latest version is 1.1.0