Difference between revisions of "GCube Development"

From Gcube Wiki
Jump to: navigation, search
Line 1: Line 1:
 
'''[http://www.gcube-system.org/ gCube]''' is a Software System whose development activity is ongoing and performed according to the [http://en.wikipedia.org/wiki/Agile_software_development 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.  
 
'''[http://www.gcube-system.org/ gCube]''' is a Software System whose development activity is ongoing and performed according to the [http://en.wikipedia.org/wiki/Agile_software_development 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 as well as presents a series of ''statistics and metrics on its evolution'' including progression of source code over time, the developers activity and the results of the automatic build.
+
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.
  
 
Moreover, because of the distinguishing characteristics of '''[https://wiki.gcore.research-infrastructures.eu/ gCore]''', a gCube constituent that is a system by its own, in the rest of this wiki the data of both these systems are separately presented.
 
Moreover, because of the distinguishing characteristics of '''[https://wiki.gcore.research-infrastructures.eu/ gCore]''', a gCube constituent that is a system by its own, in the rest of this wiki the data of both these systems are separately presented.
 +
  
 
=== Development Status ===
 
=== Development Status ===
Line 16: Line 17:
 
* 19 Portlets.
 
* 19 Portlets.
  
The [[gCube Development Status Report]] details on the current status each of them.
+
The [[gCube Development Status Report]] presents detailed information about the current status of each component.
  
The [[GCube EMC Development Status Report]] presents details on the current status of component development for capturing Environmental Monitoring Community requirements in gCube.
+
The [[GCube EMC Development Status Report]] presents more information on the current status of the components developed to capture the Environmental Monitoring Community requirements.
  
 
The status of gCore is captured by its latest [https://wiki.gcore.research-infrastructures.eu/gCube/index.php/Downloads release].
 
The status of gCore is captured by its latest [https://wiki.gcore.research-infrastructures.eu/gCube/index.php/Downloads release].
 +
  
 
=== Code Statistics ===
 
=== Code Statistics ===
Line 37: Line 39:
 
| align="center"| [https://issue.d4science.research-infrastructures.eu/chrome/site/statsvn/repomap.html Software Repository Hierarchical View] || align="center"| [https://issue.gcore.research-infrastructures.eu/chrome/site/statsvn/repomap.html Software Repository Hierarchical View]
 
| align="center"| [https://issue.d4science.research-infrastructures.eu/chrome/site/statsvn/repomap.html Software Repository Hierarchical View] || align="center"| [https://issue.gcore.research-infrastructures.eu/chrome/site/statsvn/repomap.html Software Repository Hierarchical View]
 
|}
 
|}
 +
  
 
=== Automated Builds ===
 
=== Automated Builds ===
  
D4Science relies on the results of the [http://etics.web.cern.ch/etics/ ETICS] - an EC funded project - to automate the way its software (gCube and gCore) is built and tested. In particular, the project has put in place mechanisms to perform a daily build 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.
+
D4Science relies on the [http://etics.web.cern.ch/etics 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.
  
 
{| align="center" width="50%"  
 
{| align="center" width="50%"  
Line 49: Line 52:
 
| align="center"|[http://software.d4science.research-infrastructures.eu/PackagesServlet?version=org.gcube.HEAD&title=development Development Version] || align="center"|[http://software.d4science.research-infrastructures.eu/GCoreServlet?version=org.gcore.HEAD&title=development Development Version]
 
| align="center"|[http://software.d4science.research-infrastructures.eu/PackagesServlet?version=org.gcube.HEAD&title=development Development Version] || align="center"|[http://software.d4science.research-infrastructures.eu/GCoreServlet?version=org.gcore.HEAD&title=development Development Version]
 
|}
 
|}
 +
  
 
=== Download ===
 
=== Download ===
  
The release of the software is regulated by a [https://integration.wiki.d4science.research-infrastructures.eu/integration/index.php/Main_Page Integration, Testing and Distribution] procedure that aim at building a deployable, reliable and documented software distribution.
+
The release of the software is regulated by the project [https://integration.wiki.d4science.research-infrastructures.eu/integration/index.php/Main_Page Integration, Testing and Distribution] activity that aims at building a deployable, reliable and documented software distribution.
  
The final result of this activity materializes in a set of ''gCube'' and ''gCore distributions'' made available through the [http://software.d4science.research-infrastructures.eu/index.jsp gCube Distribution Site].
+
The final result of this activity is a set of ''gCube'' and ''gCore'' releases which are made available through the [http://software.d4science.research-infrastructures.eu/index.jsp gCube Distribution Site].

Revision as of 14:08, 22 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.

Moreover, because of the distinguishing characteristics of gCore, a gCube constituent that is a system by its own, in the rest of this wiki the data of both these systems are separately presented.


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.

The GCube Architecture section 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 GCube EMC Development Status Report presents more information on the current status of the components developed to capture the Environmental Monitoring Community requirements.

The status of gCore is captured by its latest release.


Code Statistics

D4Science uses StatSVN to retrieve information from the project software 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 Distribution Site.