Title: XMLView: Discover Domain Specific Service Description in a UDDI Compliant Registry
1XMLView Discover Domain Specific Service
Description in a UDDI Compliant Registry
- Weijian Fang
- OMII-UK
- University of Southampton
2Outline
- Motivation
- UDDI vs. domain-specific service description
models - Solution
- XMLView support domain-specific service
description models - Implementation
- Issues with mapping between different models and
transparency of the UDDI model - Performance
3Motivation
- Grid computing has adopted web services
architecture - GT4 use WSRF and WSN to implement OGSA
- OMII-UK development kit
- UNICORE 6
- Web services architecture
- WSDL interface definition
- SOAP communication protocol
- UDDI service description, publication and discove
ry
4UDDI
- Universal Description, Discovery, and Integration
- Service registry
- APIs
- data model
- But UDDI is not as popular as WSDL and SOAP in
web services systems!
5Domain-specific service description models
- GLUE
- Describes grid resources and services
- Defines Site, Cluster, Computing Element, Storage
Element, and Service - FETA
- Describes services available in the myGrid
workbench Taverna - Defines service, organization, operation,
parameter, and semantic information - BioMOBY
- Defines a service as an atomic process that takes
inputs and produces outputs
6Questions
- Why define domain-specific service description
models instead of using UDDI? - Though lack of understanding, interoperability,
tool support - Flexibility of addressing domain-specific issues
- Semantic information as first-class member of the
service element - Why not migrate to UDDI?
- UDDIs incapability in grid computing and
e-Science - No inclusion of WSDL documents
- No support for complicated metadata
- Programmers dont want to refactor legacy code
- The dilemma is that both UDDI and domain-specific
models are not good enough - How can we improve this situation?
7Solution Part 1 Grimoires Improves over UDDI
- OMII-UK service registry UDDI compliant and with
extensions - Grimoires model UDDI WSDL Metadata
- Supports finding service by interface signature
- Supports metadata annotation and finding service
by metadata - Metadata is a type/value pair
- Type semantics of this annotation
- Value string, URI (ontology concept), RDF, XML
- Supports service lifecycle management based on
WSRF grid2006
8Grimoires Model UDDI Compliant
9Solution Part II XMLView Supports DSMs
- Both UDDI and domain-specific models (DSMs) have
their advantages and disadvantages - UDDI promotes interoperability
- Domain-specific models address domain-specific
issues better - UDDI and domain-specific models should complement
rather than replace each other - XMLView
- Supports domain-specific models in a
UDDI-compliant service registry - Implemented in the Grimoires registry
10XMLView Design
- Domain users should be able to publish
domain-specific service descriptions directly
into Grimoires - Domain users should be able to query for
domain-specific service descriptions directly in
Grimoires - The Grimoires model becomes transparent to domain
users - Grimoires behaves like a native registry
- Grimoires should be able to present in a standard
UDDI view published domain-specific service
descriptions - Bring interoperability to domain-specific models
11XMLView Design Refined
- Translate between domain-specific models and the
Grimoires model - XML and XSLT
- Query expressiveness
- XPath
- Configurability and extensibility
- Prefer a declarative way to a programmatic way
- Support multiple domain-specific models
simultaneously
12XMLView Architecture
13Translation - between FETA and Grimoires
FETA to Grimoires
Grimoires to FETA
WSDL Message Part Metadata
Feta Parameter
mount
XSLT
merge
WSDL Operation Metadata
Feta Operation
Service Metadata
Feta Service
WSDL
Feta Operations
UDDI Business
Feta Organization
UDDI Service
Feta Service
Feta Service
14XMLView configuration - FETA
- lttranslators elementNamespaceURI"http//www.mygri
d.org.uk/feta/"gt - ltn2gTranslator elementLocalname"serviceDescripti
on" - validate"true"gt
- ltn2gAction type"saveBusiness"
- xsl"feta/toUDDIBusiness.xsl"/gt
- ltn2gAction type"saveService"
- xsl"feta/toUDDIService.xsl"/gt
- ltn2gAction type"saveWSDL"
- xsl"feta/toWSDL.xsl"/gt
- ltn2gAction type"saveMetadata"
- xsl"feta/toServiceMetadata.xsl"/gt
- ......
- lt/n2gTranslatorgt
15XMLView configuration - FETA
- ltg2nTranslator grimoiresElementID"service"gt
- ltg2nAction type"loadService"
- xsl"feta/fromUDDIService.xsl"/gt
- ltg2nAction type"loadBusiness"
- xsl"feta/fromUDDIBusiness.xsl"
- mountPoint"/"/gt
- ltg2nAction type"loadServiceMetadata"
- xsl"feta/fromServiceMetadata.xsl"
- mergePoint"/"/gt
- ltg2nAction type"loadMessagePartMetadata"
- xsl"feta/fromMsgPartMetadata.xsl"
- mergePoint"//local-name()parameter
- filter"parameterName"/gt
- lt/g2nTranslatorgt
- lt/translatorsgt
16Query in domain-specific model
- XPath is non-trivial for ordinary users
- Service descriptions in Grimoires and thus the
virtual DOM, follow the Grimoires (XML) schema - XPath has to be in the Grimoires (XML) schema
- How to query in domain-specific model?
- A must in order to make the Grimoires model fully
transparent towards domain users. - Solution template-based query
17Template-based Query - FETA Example
ltfetaserviceDescription xmlnsfeta"..."gt
ltfetaserviceNamegt SHound3DbWhat
lt/fetaserviceNamegt lt/fetaserviceDescriptiongt
Query Template in the FETA model (may be invalid)
Translate as usual
ltuddibusinessService xmlnsuddi"..."gt
ltuddinamegt SHound3DbWhat
lt/uddinamegt lt/uddibusinessServicegt
//uddibusinessService uddiname SHound3DbWhat
Query Template in the Grimoires model
XPath in the Grimoires model
18Grimoires Browser Eclipse Plug-in
- Visualise/browse registry content
- Support Grimoires and XMLView functions
- Template-based query made easy
- Available as Eclipse plug-in or RCP
19Performance Evaluation
- Based on FETA and GLUE
- Focus on the service discovery performance
- For the GLUE experiment, use EGEE GLUE
descriptions as workload - Downloaded all GLUE descriptions from EGEE LDAP
information server - 267 Site descriptions on 12 Oct 2007
- Transform from LDAP to XML
- In average, each Site description contains 90KB
and 456 XML tags - Publish to Grimoires via XMLView
20Service discovery performance - FETA
21Service discovery performance - GLUE
22Throughput
- Use EGEE GLUE descriptions as workload
- Use the Iridis cluster (over 1k processor-cores)
as the test environment - One cluster node is dedicated to the Grimoires
registry - 16 nodes are brought up one by one as client
- 8 client threads on each client node
- 128 clients in total finally
- Measure the queries served per minute
- Expected a stable performance curve without
degrading over time
23Throughput
24Who are using Grimoires
- As a general public registry
- UK NGS (www.grid-support.ac.uk)
- As a registry in a development environment
- OMII-UK development kit (www.omii.ac.uk)
- CROWN (www.crown.org.cn/en/)
- As an information service in a deployment
environment - CARMEN/DynaSOA (www.carmen.org.uk)
- GridBS (www.oerc.ox.ac.uk/research/reliable-high-p
erformance-jsdl-enabled-brokering) - Use XMLView for GLUE descriptions!
- RAVE (www.wesc.ac.uk/projectsite/rave/)
- And more
25Conclusion
- XMLView supports domain-specific service
descriptions in Grimoires, a UDDI-compliant
service registry - Makes the Grimoires model transparent to domain
users - Presents domain-specific service descriptions in
a standard way - Domain users can have the best of two worlds!
- A stable performance under stress test
26For more information
- Grimoires www.omii.ac.uk/wiki/Grimoires
- OMII-UK www.omii.ac.uk
- Software Solutions for e-Research
- Other OMII-UK software www.omii.ac.uk/wiki/Softwa
reOverview - The Development Kit
- The Campus Grid Toolkit
- GridSAM
- Taverna Workbench
- OGSA-DAI
- And much more
27Questions?