210 likes | 376 Views
A Generic Database Web Service for the Venice Service Grid. Michael Koch, Markus Hillenbrand, and Paul Müller. Dr. Markus Hillenbrand University of Kaiserslautern, Germany Integrated Communication Systems Lab, ICSY e-mail: hillenbr@informatik.uni-kl.de. AINA 2009
E N D
A Generic Database Web Service for the Venice Service Grid Michael Koch, Markus Hillenbrand, and Paul Müller Dr. Markus Hillenbrand University of Kaiserslautern, GermanyIntegrated Communication Systems Lab, ICSY e-mail: hillenbr@informatik.uni-kl.de AINA 2009 May 26-29, 2009 - Bradford, UK
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
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 theclient side Client A Client B Virtualisation Data Source Data Source Service federation
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
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
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
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
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
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
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
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
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
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
Rights Management Connects Venice users to the Generic Database Service (GDS)
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
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) SOAP-JDBC-Bridge GDS query PreparedStatement SOAP messages ResultSet nextResult Thread
Evaluation • Execution time of a select statement • 14 different data types per row, result set contains 100 rows • While 5000 cycles are measured, 80% of the queries only need 350 ms
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
Thank you. Questions? http://www.v-grid.info (still under construction)