260 likes | 385 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
E N D
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
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
myGrid Service Profile Metadata attachment
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 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.
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 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.
Persistent 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.
Persistent 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.
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 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/SoftwareReleases • The latest version is 1.1.0