Difference between revisions of "GCube Development"

From Gcube Wiki
Jump to: navigation, search
(Download)
m (Development Status)
Line 32: Line 32:
 
In addition to that further technology (e.g. add-ons, data source importers, tool drivers) has been developed to satisfy specific needs arising in the context of the D4Sciecne user communities.
 
In addition to that further technology (e.g. add-ons, data source importers, tool drivers) has been developed to satisfy specific needs arising in the context of the D4Sciecne user communities.
  
The [[GCube EMC Development Status Report|Environmental Monitoring (EM) Community Development Status Report]] presents more information on the current status of the components developed to capture the EM Community requirements.
+
The [[Environmental Monitoring Community Development Status Report|Environmental Monitoring (EM) Community Development Status Report]] presents more information on the current status of the components developed to capture the EM Community requirements.
  
 
The [[GCube FARM Community Development Status Report|Fishery and Aquaculture Resources Management (FARM) Community Development Status Report]] presents more information on the current status of the components developed to capture the FARM Community requirements.
 
The [[GCube FARM Community Development Status Report|Fishery and Aquaculture Resources Management (FARM) Community Development Status Report]] presents more information on the current status of the components developed to capture the FARM Community requirements.

Revision as of 19:43, 30 October 2008


gCube is a Software System whose development activity is ongoing and performed according to the Agile software development methodology. This implies that software components are developed in relatively short subsequent iterations, each containing the tasks needed to release new functionality - planning, requirement analysis, detailed design, implementation, integration, testing and documentation. This leads to a very flexible and dynamic development activity that needs to be proper documented.

This page documents the current status of the gCube system by presenting a series of statistics and metrics of its evolution including progression of source code over time, developers activity, and automatic build results.

Such a technology is intrinsically complex because of the amount of standards, specifications, technologies, patterns and approaches put in place to guarantee a high quality (reliable, secure, autonomic, fault resilient, etc.) software system. This risk to overwhelm developers and distract them from the specific application logic of the services they are willing to develop.

To prevent the above risk the gCore Application Framework (gCF) has been conceived and implemented. It provides an application framework that allows gCube services to abstract over functionality lower in the web services stack (WSRF, WS Notification, WS Addressing, etc.) and to build on top of advanced features for the management of state, scope, events, security, configuration, fault, lifecycle, publication and discovery.

Thus the gCube technology consists of two systems - gCube and gCore - each evolving by its own. The rest of this Wiki documents both these systems separately.


Development Status

gCube has been designed by following the principles of Component-based software engineering, thus it consists of various software components interacting each other to implement the expected functionality. Further information is in the gCube architecture section of this Wiki that describes the resulting Reference Architecture, the main sub-systems (i.e. logical group of components), their constituents and their relationships.

The system has been implemented according to the Service Oriented Architecture principles and related standards while the Presentation-oriented components are based on portlets. It currently consists of:

  • 50 Web Services;
  • 11 Software Libraries;
  • 19 Portlets.

The gCube Development Status Report presents detailed information about the current status of each component.

The status of gCore is captured by its latest release.

In addition to that further technology (e.g. add-ons, data source importers, tool drivers) has been developed to satisfy specific needs arising in the context of the D4Sciecne user communities.

The Environmental Monitoring (EM) Community Development Status Report presents more information on the current status of the components developed to capture the EM Community requirements.

The Fishery and Aquaculture Resources Management (FARM) Community Development Status Report presents more information on the current status of the components developed to capture the FARM Community requirements.

Code Statistics

D4Science uses StatSVN to retrieve information from the project source code repository and to generate various tables and charts describing the project development. In particular, the following reports are available.

gCube gCore
Timeline for the Lines of Code (LOC) Timeline for the Lines of Code (LOC)
Lines of Code per Developer Lines of Code per Developer
LOC Evolution and Changes per Day LOC Evolution and Changes per Day
Software Repository Hierarchical View Software Repository Hierarchical View

Automated Builds

D4Science relies on the ETICS system to automate the way its software (gCube and gCore) is built and tested. In particular, the project has put in place mechanisms to perform daily builds with the latest version of the code committed in the project software repository. This activity leads to the production of (i) a report of the build activity and (ii) a set of software artifacts including the software package, the source code and the documentation. These are available below.

gCube gCore
Build Report Build Report
Development Version Development Version

Download

The release of the software is regulated by the project Integration, Testing and Distribution activity that aims at building a deployable, reliable and documented software distribution.

The final result of this activity is a set of gCube and gCore releases which are made available through the gCube and gCore Distribution Site (http://software.d4science.research-infrastructures.eu/index.jsp).