page1
Optimized Access to Distributed Relational Database System
(using widely available JDBC components)
Source DB
Target DB
Schema
Schema
Octopus
Generator
Conversion
Configuration
OLI Schema Dump
XML Job Setup
SQL Replication Scripts
Octopus
Loader
SQL Mapping Rules
SQL Mapping Rules
SQL Mapping Rules
to be run
when Schema changes
to be run
when Data changes
generates
creates tables,
replicates data
extracts
customizes
extracts
steers
JDBC
AIDA
SQLTuple / ColMan
Web Service
JAS Plugins
MultiLanguage Interfaces
Sequoia
Octopus
JAS
FreeHEP
JPype
JACE
J.Hrivnac, LAL/Orsay
CHEP'06/Mumbai, Feb'06
ColMan Event Selector is available via XML-RPC service. The service is generaly deployed as /ColMan/EventSelector Web Service application and can be accessed via ColMan Web Service Client.
JSP (Java Server Pages) GUI for ColMan tools has been deploeyd as /ColMan-GUI Web Service application and and can be accessed directly from the standard Web Browsers.
Both SQLTuple and ColMan are available as JAS plugins.
All functionality is available via standard JAS GUI.
Specific functionality (like SQL queries) is added to the JAS GUI.
Interoparability with other JAS plugins is assured.
SQLTuple extends FreeHEP implementation of ITuple AIDA interface so that ITuples can be stored in an SQL database.
It supports any relational DB backend via JDBC standard interface.
All AIDA operations (projections, filters, evaluators,... ) are supported in a standard way.
Some new functions have been included on top of standard AIDA Interface.
SQLTuple can be used in any AIDA-complient tool.
SQLTuple understands LCG Pool AttributeList data.
ColMan provides higher level utilities for managing (Event) Collections.
Selected SQLTuple/ColMan functionality is available to legacy C++ applications via proxies created by JACE.
All SQLTuple/ColMan functionality is available to Python applications using Jython or Jpype (when access to C++ is needed too).
Access from other languages (Ruby, Groovy,...) is directly possible.
SQL tables can be spread over several database Servers, some tables may be replicated. User wants a single front-end.
Sequoia acts as a (Proxy) Virtual SQL Server forwarding all requests to appropriate databases (real or another virtual). Replicated and/or complementary tables are supported (even on heterogeneous Servers), similar do RAID disks.
Sequoia is used via its JDBC driver, so any application using JDBC API can directly use Sequoia. No application modification is required to use Sequoia.
Sequoia directly handles any SQL query. No pre-knowledge is needed. No specialized interface is required.
Sequoia handles both query (read access) and update (write access).
JDBC interface can be transparently accessed from other languages (Python, Ruby, Groovy, C++,...).
Octopus is a Java-based Extraction, Transformation, and Loading tool. It may connect to any JDBC data sources and perform transformations defined in an XML file.
Octopus has been customised to support non-standard SQL features used in LCG and to overcome LCG-specific bugs.
Octopus is routinely used to replicate Atlas Detector Description database. It has been successfully tested with other Atlas databases.
Enhydra