Upload
amanda-cecily-daniels
View
215
Download
0
Tags:
Embed Size (px)
Citation preview
1Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany
A Generic Database Web Service for the Venice Service Grid
A Generic Database Web Service for the Venice Service Grid
Michael Koch, Markus Hillenbrand, and Paul Müller
AINA 2009May 26-29, 2009 - Bradford, UK
Dr. Markus Hillenbrand
University of Kaiserslautern, GermanyIntegrated Communication Systems Lab, ICSY
e-mail: [email protected]
2Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany
A Generic Database Web Service for the Venice Service Grid
Outline
• Database Virtualisation• What is the Venice Service Grid?
– Overview– Top Level View– Architecture
• The Venice Generic Database Web service– Interface and strong data typing– Rights management– SOAP-JDBC Bridge– Splitting of result sets– Evaluation
• Conclusion and Outlook
3Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany
A Generic Database Web Service for the Venice Service Grid
Database Virtualisation
• Diverse data sources in Grid environments– Heterogeneous data schemas– Located in different domains– Varying security policies and firewalls
• Client applications in Grid environments need– Fast and easy-to-use data access within
the service federation– Transparency: location, security, schema,
implementation• Solution: Virtualisation
– Layer between data source and client– Uniform, standardised access methods– Reduces overhead and complexity on the
client side
Service federation
Data Source
Data Source
Virtualisation
Client A Client B
4Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany
A Generic Database Web Service for the Venice Service Grid
Outline
• Database Virtualisation• What is the Venice Service Grid?
– Overview– Top Level View– Architecture
• The Venice Generic Database Web service– Interface and strong data typing– Rights management– SOAP-JDBC Bridge– Splitting of result sets– Evaluation
• Conclusion and Outlook
5Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany
A Generic Database Web Service for the Venice Service Grid
What is the Venice Service Grid?
• A software infrastructure:– Based on a service-oriented architecture (SOA) – With focus on openness, dependability and security– Service deployment on the Internet
• A set of services:– Service management at runtime– Service information and access– Service collaboration and communication– Services for building applications upon
• A runtime environment:– For service development and deployment– For client development and service access
6Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany
A Generic Database Web Service for the Venice Service Grid
Top Level View of Venice
• Service providers are– Independent– Autonomous
• Service requestors– Have a home domain– Can use services of other
domains
• Venice is responsible for– Mutual authentication– Distributed authorization– Service brokering– Service access
7Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany
A Generic Database Web Service for the Venice Service Grid
Architectural Overview
8Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany
A Generic Database Web Service for the Venice Service Grid
Web Service Technology
• Off-the-shelf products– Tomcat 5 and 6
(Service container)– Axis 1
(SOAP engine)– WSDL4Java– Additional tools as needed
• Tasks– WSDL handling– Data type conversion– HTTPS / certificates– Service deployment
9Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany
A Generic Database Web Service for the Venice Service Grid
Abstraction Layer
• Hides Web service technology• Solely uses URIs for
– Identifying and– Accessing
Web services• Dynamic invocation (no stubs)• Provides the Venice Service
Compiler• Functionality addressed
– Security– URI to WSDL handling– Data collection– Service access
10Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany
A Generic Database Web Service for the Venice Service Grid
Service Infrastructure
• Three service categories– Management services– Information services– Common application services
• Most important services:– Single Sign-on (SSO)– Domain Information– Information Broker– Notification Framework– Presence Framework– Communication Services– Data Management Services
→ Database Service
11Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany
A Generic Database Web Service for the Venice Service Grid
Application Domains
• Use underlying services• Add specific functionality
• Voice over IP– Telephone services– SIP and H.323– Supplementary services
• E-Science– Call for Papers– GraphViz– TimeKeeper
12Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany
A Generic Database Web Service for the Venice Service Grid
Outline
• Database Virtualisation• What is the Venice Service Grid?
– Overview– Top Level View– Architecture
• The Venice Generic Database Web service– Interface and strong data typing– Rights management– SOAP-JDBC Bridge– Splitting of result sets– Evaluation
• Conclusion and Outlook
13Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany
A Generic Database Web Service for the Venice Service Grid
The Venice Generic Database Service
• Database virtualisation as a new service within Venice– Several services need database
support (like Single Sign-on, Information Broker, File System)
– Uniform and standardised access to heterogeneous DBMS
• Features– Accurately defined interface with
strong data typing (XML schema)– Rights management with Venice SSO– Intuitive JDBC-like API– Splitting of result sets and
parallel transmission
14Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany
A Generic Database Web Service for the Venice Service Grid
Interface and Strong Data Typing
• Result sets are – Not predictable in advance– Disperse concerning data types, data amount and their combination
• Comparable tools (e.g. OGSA-DAI) use canonical XML documents– Storage of almost every data output– No type coercion and restrictions possible: large security hole– Client application has to analyse the document structure– The interface cannot describe how to handle these documents
• Strong data typing– Interface and SOAP messages accurately defined by XML schema– Every data type is specified– Message includes metadata of the query and its result set– Transparent and secure usage
15Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany
A Generic Database Web Service for the Venice Service Grid
Rights Management
Connects Venice users to the Generic Database Service (GDS)
16Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany
A Generic Database Web Service for the Venice Service Grid
SOAP-JDBC Bridge
• Plain usage of the Database Service– Accurately defined interface is
programming language independent– Well-defined data types are beneficial
over canonical XML documents– Handling of multi-array XML structures
and advanced features is still complex
• Client-side wrapper system– JDBC-like API for access control and
query optimisation– Enables intuitive and transparent usage
of the Database Service
17Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany
A Generic Database Web Service for the Venice Service Grid
Splitting of Result Sets
• Result set can be too large for the transfer in one message→ high latency, server restrictions, slow processing
• Size of the SOAP document is pre-calculated and split into several messages
• The SOAP-JDBC-Bridge is able to transfer these in parallel while processing received documents simultaneously→ low latency (while still using the same technology)
GDS
query
nextResult
PreparedStatement
SOAP-JDBC-Bridge
ResultSet
Thread
SOAP messages
18Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany
A Generic Database Web Service for the Venice Service Grid
Evaluation
• 14 different data types per row, result set contains 100 rows• While 5000 cycles are measured, 80% of the queries only need
350 ms
Execution time of a select statement
19Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany
A Generic Database Web Service for the Venice Service Grid
Summary and Outlook
• The Venice Service Grid– Abstracts from Web services– Service infrastructure and runtime environment
• The Venice Generic Database Web Service– Database virtualisation as a service– Accurately defined interface for interoperability, precision, security– Connection of SSO and database security within service federation– SOAP-JDBC Bridge provides an intuitive wrapper system– Splitting results sets enabled efficient data transfer with low latency
• Outlook– High-performance database access for small queries within Venice– Advanced features like asynchronous query functions and bulk imports
20Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany
A Generic Database Web Service for the Venice Service Grid
Thank you.
Questions?
http://www.v-grid.info(still under construction)