20
1 Dr. 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 2009 May 26-29, 2009 - Bradford, UK Dr. Markus Hillenbrand University of Kaiserslautern, Germany Integrated Communication Systems Lab, ICSY e-mail: [email protected] kl.de

1 Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany A Generic Database Web Service for the Venice Service Grid Michael Koch, Markus

Embed Size (px)

Citation preview

Page 1: 1 Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany A Generic Database Web Service for the Venice Service Grid Michael Koch, Markus

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]

Page 2: 1 Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany A Generic Database Web Service for the Venice Service Grid Michael Koch, Markus

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

Page 3: 1 Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany A Generic Database Web Service for the Venice Service Grid Michael Koch, Markus

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

Page 4: 1 Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany A Generic Database Web Service for the Venice Service Grid Michael Koch, Markus

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

Page 5: 1 Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany A Generic Database Web Service for the Venice Service Grid Michael Koch, Markus

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

Page 6: 1 Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany A Generic Database Web Service for the Venice Service Grid Michael Koch, Markus

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

Page 7: 1 Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany A Generic Database Web Service for the Venice Service Grid Michael Koch, Markus

7Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany

A Generic Database Web Service for the Venice Service Grid

Architectural Overview

Page 8: 1 Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany A Generic Database Web Service for the Venice Service Grid Michael Koch, Markus

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

Page 9: 1 Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany A Generic Database Web Service for the Venice Service Grid Michael Koch, Markus

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

Page 10: 1 Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany A Generic Database Web Service for the Venice Service Grid Michael Koch, Markus

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

Page 11: 1 Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany A Generic Database Web Service for the Venice Service Grid Michael Koch, Markus

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

Page 12: 1 Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany A Generic Database Web Service for the Venice Service Grid Michael Koch, Markus

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

Page 13: 1 Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany A Generic Database Web Service for the Venice Service Grid Michael Koch, Markus

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

Page 14: 1 Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany A Generic Database Web Service for the Venice Service Grid Michael Koch, Markus

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

Page 15: 1 Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany A Generic Database Web Service for the Venice Service Grid Michael Koch, Markus

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)

Page 16: 1 Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany A Generic Database Web Service for the Venice Service Grid Michael Koch, Markus

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

Page 17: 1 Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany A Generic Database Web Service for the Venice Service Grid Michael Koch, Markus

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

Page 18: 1 Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany A Generic Database Web Service for the Venice Service Grid Michael Koch, Markus

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

Page 19: 1 Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany A Generic Database Web Service for the Venice Service Grid Michael Koch, Markus

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

Page 20: 1 Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany A Generic Database Web Service for the Venice Service Grid Michael Koch, Markus

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)