Package org.astrogrid.store

The store package defines the representations and delegates used to describe and access data on store points.

See:
          Description

Class Summary
Agfi AstroGrid File Identifier.
Agsl AstroGrid Storepoint Locator.
Msrl MySpace Resource Locator.
VoSpaceClient This delegate provides methods for operating on files in VoSpace - that is, files that are on store points (accessible through StoreClient implementations) that are Registered in IVO Registries and/or Communities.
 

Package org.astrogrid.store Description

The store package defines the representations and delegates used to describe and access data on store points.

Store-Space

Store-Space is the set of store points that we assume Astrogrid components must be able to reach to read from and write to. This includes local disk space, MySpace, FTP servers (for read access at least), Grid FTP servers and Http servers (for read access at least).

This package defines a consistent way of accessing all these store points, so that the user (whether human or automatic) can specify where inputs are to be read from and outputs are to be sent in a consistent way, and the software that is expected to use these references can also just call methods on classes in this package and expect everything to Just Work.

VO-Space

VO-Space is a subset of Store-Space, describing all the store points that are 'Registered' with VO Registries and/or Astrogrid Community Registries. Store points such as local file systems, intranet FTP servers, etc will probably not be part of VO-Space.

Naming things in VO-Space

The IVO have created a resource 'identifier' with the scheme ivo: . Strictly speaking this is a resource 'name' as they are intended as Registry lookup keys and cannot be used as locators. In this package they are referred to as IVORNs (International Virtual Observatory Resource Names) and are represented by the class Ivorn in this package but in the common CVS directory.

Locating things in Store-Space

A location in Store-Space might refer to a file on an FTP server, or a file on a local disk, or a file in myspace. To represent this we have an AstroGrid Storepoint Locator (AGSL) that returns a location to this file, which is represented in turn by the Agsl class.

Resolving Names to Locations

IVORNs that identify store points or files on store points can be resolved to locators using the VoSpaceResolver. The Resolver looks up the IVORN in the Registry and Community services to find the relevent Store point, and returns a location in the form of an AGSL. The Resolver also has convenience routines for opening input and output streams directly to the file named by the IVORN.

[The Resolver is a static 'helper' class; I think it is likely that it's functions might be incorporated into VoSpaceClient (see below) but this is TBD. - MCH]

Setting Results Targets

Defining where results are to be sent is slightly broader again than VOSpace (eg might include email), and is TBD. [The TargetIndicator in the datacenter project is the prototype for this - MCH]

Levels of delegates

Lower level delegates are those such as soap binding delegates, FTP client software, etc.

A middle level delegate is a StoreClient implementation that users of this package can use to manipulate files on a single Store point using paths and AGSLs.

The top level delegate VoSpaceClient is similar to a StoreClient but manipulates files in general VO-Space, using IVORNs.

Store Clients

The StoreClient interface defines the operations that we can reasonably expect any store point must implement; operations such as move, copy, create folder, list files, upload, download, etc.

A StoreClient implementation is a 'delegate', and it handles all the communication required to carry out these operations with a specific store site. This is a 'middle level' delegate. (There is an abstract class StoreDelegate which implements some of the methods in a 'naive' way for convenience).

The core methods that store delegates must implement are providing input and output streams to files, and listing files on the store point.

However users of this package do not need to care about implementations - if you want to access a store point, you give your AGSL to the StoreClientFactory and get back a StoreClient that you can operate.

VoSpace Clients

The VoSpaceClient is a class that allows operations 'in general' in VO-Space using IVORNs. This makes it a more abstract layer, and allows us to pass IVORNs around our components and store them long term. If a storepoint moves web address and the Registry is updated, an IVORN should remain valid.

However VoSpaceClient operations are limited to those storepoints that are Registered (ie, those in VoSpace).



Copyright © 2002-2005 AstroGrid. All Rights Reserved.