Developer's Guide: Introduction

From Gcube Wiki
Revision as of 16:45, 10 December 2007 by Vangelis (Talk | contribs)

Jump to: navigation, search

Overview

Welcome to the gCube's Developers Guide. The purpose of this document is to provide instructions for developers wishing to exploit a gCube based grid infrastructure. gCube is a versatile, rich featured grid platform that has been developed in the context of the DILIGENT European IST research project [1].

The platform follows the Service Oriented paradigm and exploits and extends various existing grid middlewares and collaborative tools like the Globus Toolkit 4 [2], gLite [3], the GridSphere Portal Framework [4], etc. gCube offers a feature full platform for distributed hosting, management and retrieval of data and information, and a framework for extending state-of-the-art indexing, selection, fusion, extraction, description, annotation, transformation, and presentation of content.

gCube Architecture

gCube enables scientists to declaratively and dynamically build transient Virtual Research Environments (VREs) by aggregating and deploying on-demand content resources, application services, and computing resources. It also monitors the shared resources during the VREs lifetime guaranteeing their optimal allocation and exploitation. Finally, it provides mechanisms to easily create VREs dedicated web portals through which scientists can access their content and services. The gCube system is realised as a service oriented framework composed of a set of interacting services providing:

  • support for the creation and operation of on-demand, transient virtual research environments;
  • features necessary for handling shared content and application resources;
  • access to information sources and applications provided by third-parties;
  • a set of typical DL functions, like search, annotation, personalisation, document visualisation.

These services are designed to exploit the gLite middleware and are capable to consume the high computational and storage capabilities of the Grid infrastructure released by the EGEE [5] project. Thus gCube services support complex and time consuming functionalities, while focusing on optimizing resource usage and satisfying QoS contracts


gCube Architecture

Figure 1 - gCube Architecture


From the logical point of view, the gCube system is organised according the following layers:

Collective Layer

The Collective Layer enhances existing Grid collective services with the functionalities able to support the complex services interactions required by the Digital Library Layer. The Collective Layer contains services that are not associated with any one specific resource but rather are global in nature and manage interactions across collections of resources.

Digital Library Layer

The Digital Library Layer selects, integrates and enhances a set of reliable and dependable production-quality services, developed in digital library projects and applications, in order to cover the fundamental functionalities required for any virtual research environment in the e-knowledge area. The services of this layer provide submission, indexing and discovery of mixed-media objects (documents, videos, images, environmental data, etc.), and the management and processing of these objects through annotation, composition, cooperative editing, etc. It also supports the dynamic creation and access to transient virtual research environments.

Application Specific Layer

The Application-Specific Layer contains application specific services. Third party providers are enabled to migrate their data or functional components to the gCube framework. Specifications are being produced that facilitate the plug-in of legacy components needed to support user-specific scenarios and enable the re-use of existing content and applications.

Intended Readership

The document targets two classes of programmers:

  • Those who want to reuse the code – Programmers who will use gCube’s libraries to build their own services and middleware components, without need to access the source code.
  • Those who want to modify/extend the source code – Programmers who will use the platforms source code to enhance it, correct it, adapt it to different environments and applications domains.

Related Documents

Apart from this Developers Guide, DILIGENT has also made available two additional support documents:

  • the User's Guide, which provides usage information and guidelines for the end-user of the two user communities that currently exploit the platform, namely ImpECt and ARTE.
  • the Administrator's Guide, which provides information and guidelines for the installation, configuration and daily administration of a gCube based computational grid infrastructure.

Additional material that will help potential gCube developers is the

  • gLite 3.0 Manuals Series User Guide [6]
  • Globus Toolkit 4.0 Developer's Guide [7]

Regarding the architecture and inner details of gCube, the interested reader can visit the official gCube platform web site [8].

Lexical Abbreviations

The following abbreviations are used extensively throughout the document:

Abbreviation Meaning
API Application Programming Interface
BDII Berkely Database Information Index
BMM Broker and MatchMaker
CA Certification Authority
DHN DILIGENT Hosting Node
DIS DILIGENT Information Service
DIS-IC DIS Information Collector
DIS-IP DIS Information Provider
DL Digital Library
DVOS Dynamic Virtual Organization Support
EGEE Enabling Grids for E-sciencE
GAS Grid Access Service
HNM Hosting Node Manager
NAL Node Access Library
PKI Public Key Infrastructure
PR Package Repository
VO Virtual Organization
VOMS Virtual Organization Management System
VRE Virtual Research Environment
WMS Workload Management System
WMProxy Workload Management Proxy
WSDL Web Services Definition Language
WSRF Web Services Resource Framework
XSLT Extensible Stylesheet Language Transformations


Problem Reporting

For problem reporting or any other enquiries regarding this document please contact Vangelis Floros (florosAt symbol.gifdi.uoa.gr).