Difference between revisions of "Data Access and Storage APIs"

From Gcube Wiki
Jump to: navigation, search
(Tree Manager Plugin API)
(Streams API)
Line 96: Line 96:
  
 
==Streams API==
 
==Streams API==
 +
 
* '''Description''': Conversion, transformation, and publication of data streams.
 
* '''Description''': Conversion, transformation, and publication of data streams.
 
* '''Type''': Java
 
* '''Type''': Java
Line 101: Line 102:
 
* [[The_Streams_Library|'''Documentation''']]
 
* [[The_Streams_Library|'''Documentation''']]
 
* '''Key Features'''
 
* '''Key Features'''
:*''TODO''
+
:* ''High-level stream model based on <code>Iterator</code>-style interfaces''
:*''TODO''
+
:* ''predefined implementations over standard <code>Iterator</code>s and <code>gRS2</code> resultsets''
 +
:* ''piping, folding, and unfolding stream operations''
 +
:* ''configurable error handling policies''
 +
:* ''stream lifecycle event notifications''
 +
:* ''publication as <code>gRS2</code> resultset''
 +
:* ''fluent API for all stream operations''
  
 
==gDoc API==
 
==gDoc API==

Revision as of 14:06, 1 July 2012

Data Access and Storage APIs support client access and back-end access to a range of structured and unstructured data sources available in the Data e-Infrastructure. APIs include remote Web Service APIs, local client APIs, data model implementations, auxiliary APIs, and development frameworks for service plugins.

This document lists all the available APIs in this areas along with their key features, pointing to external documentation for details on their design and usage.

API Overview

Name Description Type Protocol Framework
Tree Manager Tree-based CRUD operations over pluggable sources of structured data WS SOAP gCore
Tree Manager Client Client proxies for Tree Manager endpoints Java Local CL
Tree Manager Plugin Development framework for Tree Manager plugins Java Local none
Trees Tree and tree pattern model implementations Java Local none
Streams Conversion, transformation, and publication of data streams Java Local none
gDoc gDoc model implementation Java Local none
gDoc Client gDoc-based client proxies for Tree Manager endpoints Java Local CL
View Manager Views over data sources accessible via Tree Manager endpoints WS SOAP gCore
View Manager Client Client proxies for View Manager endpoints Java Java CL
Storage Manager TODO Java Java CL
Species Products Discovery (SPD) Read access to pluggable sources of biodiversity data WS SOAP gCore
SPD Plugin Development framework for SPD plugins Java Local CL
SPD Client Client proxies for SPD endpoints Java Local CL

Tree Manager API

  • Description: Tree-based CRUD operations over pluggable sources of structured data.
  • Type: Web Service
  • Protocol: SOAP
  • Framework: gCore
  • Documentation
  • Key Features
  • lookup of whole trees as well as individual nodes
  • tree pattern matching on lookups and queries
  • in-place updates
  • streaming on all operations
  • native storage based on graph database technology

Tree Manager Client API

  • high-level proxy API
  • transparent endpoint discovery and caching
  • transparent fault tolerance over endpoint replicas
  • polling and notifications for asynchronous bindings
  • fluent proxy configuration API

Tree Manager Plugin API

  • support for a wide range of plugins: source-specific, source-generic, type-specific, type-generic, multi-type, etc
  • interface-based POJO framework, with no dependency on service implementation
  • transparent property publication and state persistence"
  • callback-based and event-based interaction with service"
  • full lifecycle support
  • partial interface implementations
  • derived implementation of node-based and streamed operations

Trees API

  • Description: Tree and tree pattern model implementations.
  • Type: Java
  • Protocol: Local
  • Documentation
  • Key Features
  • untyped tree model with attributed nodes, labelled edges, and string-valued leaves
  • pattern language for characterisation of tree topology and leaf values
  • tree matching and pruning operations based on pattern language
  • tree difference and in-place update operations
  • fluent API for tree construction, tree navigation, and tree pattern construction
  • predefined XML bindings for trees and patterns
  • synthetic tree generation facilities for load testing

Streams API

  • Description: Conversion, transformation, and publication of data streams.
  • Type: Java
  • Protocol: Local
  • Documentation
  • Key Features
  • High-level stream model based on Iterator-style interfaces
  • predefined implementations over standard Iterators and gRS2 resultsets
  • piping, folding, and unfolding stream operations
  • configurable error handling policies
  • stream lifecycle event notifications
  • publication as gRS2 resultset
  • fluent API for all stream operations

gDoc API

  • Description: gDoc model implementation.
  • Type: Java
  • Protocol: Local
  • Documentation
  • Key Features
  • TODO
  • TODO

gDoc Client API

  • TODO
  • TODO

View Manager API

  • Description: Views over data sources accessible via Tree Manager endpoints.
  • Type: Web Service
  • Protocol: SOAP
  • Framework: gCore
  • Documentation
  • Key Features
  • TODO
  • TODO

View Manager Client API

  • TODO
  • TODO

Storage Manager API

  • Description: TODO
  • Type: Java
  • Protocol: Local
  • Documentation
  • Key Features
  • TODO
  • TODO

SPD API

  • Description: Read access to pluggable sources of biodiversity data.
  • Type: Web Service
  • Protocol: SOAP
  • Framework: gCore
  • Documentation
  • Key Features
  • TODO
  • TODO

SPD Plugin API

  • Description: Development framework for SPD plugins.
  • Type: Java
  • Protocol: Local
  • Documentation
  • Key Features
TODO
TODO

SPD Client API

  • Description: Client proxies for SPD endpoints.
  • Type: Java
  • Protocol: Local
  • Framework: CL
  • Documentation
  • Key Features
TODO
TODO