RODS-GDBC
Purpose
To build a Globus-based service using Introduce that will connect-to a rods database and send back a simple array of time series or spatial series. It will be compared to RODSA-DAI and should be a bit simpler to install and execute, and it should still be secure since it is going into the globus container.
Basic Structure:
- RODS-GDBC's main part will be a .gar package to be deployed on globus nodes that can access RODS Databases via JDBC.
- contains a properties file to contain connection info
- will probably be built on site due to need for different JDBC drivers based on database being used
- ultimately packaged as a globus .gar and deployed to globus container.
- RODS-GDBC client to be accessed by RODS or other display applications with interface very similar to RODSAdai.
Concerns being addressed
OGSA-DAI is rather cool, but it is a bit of an ordeal to set up and install and test, and using it for a simple "expose this data to the secure globus network" is a bit overkill. This seems like it would be an easier "fill out this .properties file, run mvn install, and you're good to go" for exposing a RODS Database. It may not be as simple as mvn install, (It might be more like "fill out this .properties file, put a file in this directory, run ant, run gar-deploy on the resulting gar, and you're good to go). But it will have a simpler install and might even be able to eliminate a two-ended install (OGSA-DAI on one end and RODSAdai on the other).
New Concerns generated
- Is it easy for RODS and other applications to access the Globus toolkit?
- RODS could not be directly integrated with RODSADai because the OGSA-DAI client components used by RODSAdai used a special version of the AXIS web-service libraries that conflicted with the AXIS libraries RODS used. It appears that the If RODS tries to access RODS-GDBC directly, will it need that special version of Globus' AXIS?
- Is this the place to use JarJarLinks to reformat the axis used by the client?
- Security.
- Username and Password probably in a properties file.
- Will have to make sure that the Globus user that accesses RODS-GDBC are not authorized to access any sort of file transfer services
- Introduce generated code bundleability.
- Can the massive pile of introduce goodness be easily adapted to mvn build scripts
- How many plug ins are needed.
- Need for multiple JDBCs or an extra step to include appropriate JDBC in lib section.
- Can the massive pile of introduce goodness be easily adapted to mvn build scripts
Use Case:
- Environment preparation (Complete)
- Install Introduce in a local node with Globus
- Generate a demo project (Stock quote?)
- Deploy sample GAR and use client generated by introduce to confirm output.
- Generate and test service
- Make a JDBC client for RODS data resource (allow flexibility between mysql and postgresql)
- Design the interface for a RODS-GDBC service and use Introduce to build the skeleton
- Incorporate client into RODS-GDBC skeleton generated for introduce
- Package .gar file and deploy to globus
- Run Introduce-generated client to pull back data
- Demo Project
- Make RODS-GDBC-web in the image of RODSAdai-web, deploy and compare.
- Repackage project
- See about creating or discovering mvn plugins for introduce project for easy installation and deployment.