Difference between revisions of "GCube Development"

From Gcube Wiki
Jump to: navigation, search
(Development Status: Table Completion: IR)
(Undo revision 25294 by Massimiliano.assante (talk))
 
(103 intermediate revisions by 7 users not shown)
Line 1: Line 1:
'''NOTE''': ''THIS PAGE IS '''WORK IN PROGRESS'''''
+
'''gCube''' (http://www.gcube-system.org) 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 need to be proper documented.  
+
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 risks to overwhelm developers and distract them from the specific application logic of the services they are willing to develop.
  
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 software system has been implemented with the support of the European Commission in the context of a series of projects including [[#D4Science-II_Development|D4Science-II]], [[#iMarine_Development|iMarine]], [[#EUBrazilOpenBio_Development|EUBrazilOpenBio]], [[#ENVRI_Development|ENVRI]].
  
=== Development Status ===
+
== D4Science-II Development ==
 +
In the context of the D4Science-II project, the gCube technology has been developed with two synergistic lines of activity:
 +
* '''''Knowledge Ecosystem Implementation''''' whose objectives are (i) to develop a number of technology realising common practices, standards and solutions promoting interoperability with other systems and infrastructures ([https://networking.wiki.d4science-ii.research-infrastructures.eu/networking/index.php/Interoperability_Solutions Interoperability Solutions]) and (ii) to enhance and consolidate the gCube system to match the needs of the ecosystem approach. This activity is documented via a '''''[[DJRA1.1 Report on Knowledge Ecosystem Supporting Technology Development|dedicated report]]''''';
 +
* '''''Scenario Specific Implementation''''' whose objective was to cover the design and implementation of case-specific needs for each particular interoperable infrastructure. Each case is analyzed and the system to implement it, on the side of the interoperating infrastructure, is designed in detail. Following the initial design, each case implements the specific components required so that it can exploit the facilities offered by the evolving ecosystem core and it can export the identified interoperable features to the rest of the ecosystem cases. This activity is documented  via a '''''[[DJRA2.1 Report on Scenario Specific Technology Development|dedicated report]]''''';
  
gCube has been designed by following the principles of [http://en.wikipedia.org/wiki/Software_componentry Component-based software engineering], thus it consists of various software components interacting each other to implement the expected functionality.
+
== iMarine Development ==
  
The [[GCube Architecture]] section describes in detail the resulting ''Reference Architecture'', the main sub-systems (i.e. logical group of components), their constituents and their relationships.
+
This activity is ongoing. It is documented via a number of tickets in the [https://issue.imarine.research-infrastructures.eu/ iMarine TRAC].
  
The system has been implemented according to the [http://en.wikipedia.org/wiki/Service-oriented_architecture Service Oriented Architecture] principles and related standards while the ''Presentation-oriented'' components are based on [http://en.wikipedia.org/wiki/Portlet portlets]. It currently consists of:
+
== EUBrazilOpenBio Development ==
* xxx Web Services;
+
* xxx Software Libraries;
+
* xxx Portlets.
+
Such components are logically organized in xxx logical areas.
+
  
{| align="center" width="100%" border="1" cellpadding="4" cellspacing="0"
+
This activity was active during the period 2011-2013. It was documented via a number of tickets in the [https://issue.eubrazilopenbio.research-infrastructures.eu/ EUBrazilOpenBio TRAC].
! width="150"|Sub-system !! width="120"|Component !!  width="50"|Type !! width="300"|Status
+
|-
+
<!-- ********************** -->
+
<!-- ENABLING SERVICES AREA -->
+
<!-- ********************** -->
+
! colspan="4" bgcolor="yellow"| '''gCube Infrastructure Enabling Services'''
+
|-
+
<!-- INFORMATION SYSTEM AREA -->
+
| rowspan="7" align="center" | '''[[Information System]]''' || [[IS-Registry]] || Service||
+
|-
+
| [[IS-gLiteBridge]] || Service ||
+
|-
+
| [[IS-Publisher]] || SW Library ||
+
|-
+
| [[IS-IC]] || Service ||
+
|-
+
| [[IS-Client]] || SW Library ||
+
|-
+
| [[IS-Notifier]] || Service ||
+
|-
+
| [[IS-Manager]] || Service ||
+
|-
+
<!-- VIRTUAL ORGANISATION MANAGEMENT AREA -->
+
| rowspan="3" align="center" | '''[[Virtual Organisation Management]]''' || [[VO-Management Authorization]] || Service ||
+
|-
+
| [[VO-Management Delegation]] || Service ||
+
|-
+
| [[VO-Management CredentialsRenewal]] || Service ||
+
|-
+
<!-- VRE MANAGEMENT AREA -->
+
| rowspan="5" align="center" | '''[[VRE Management]]''' || [[VRE Modeler]] ||  Service ||
+
|-
+
| [[VRE Manager]] || Service ||
+
|-
+
| [[gHN Manager]] || Service ||
+
|-
+
| [[Deployer]] || Service ||
+
|-
+
| [[Software Repository]] || Service ||
+
|-
+
<!-- BROKER AND MATCHMAKER AREA -->
+
| rowspan="3" align="center" | '''[[Broker and Matchmaker]]''' ||  [[BM-Service]] ||  Service ||
+
|-
+
| [[BM-API]] || SW Library ||
+
|-
+
| [[BM-Connector]] || SW Library ||
+
|-
+
<!-- PROCESS MANAGEMENT AREA -->
+
| rowspan="4" align="center" | '''[[Process Management]]''' ||  [[CSValidator]] ||  Service ||
+
|-
+
| [[CSEngine]] || Service ||
+
|-
+
| [[CSResourceManager]] || Service ||
+
|-
+
| [[GLiteJobWrapper]] || Service ||
+
|-
+
<!-- PROCESS OPTIMISATION AREA -->
+
| rowspan="3" align="center" | '''[[Process Optimisation]]''' ||  [[Process Optimisation#Planner|Planner]] ||  Service ||
+
|-
+
| [[Process Optimisation#Rewriter|Rewriter]] || Service || 
+
|-
+
| [[Process Optimisation|POSLib]] || SW Library ||
+
|-
+
<!-- ************************************** -->
+
<!-- INFORMATION ORGANISATION SERVICES AREA -->
+
<!-- ************************************** -->
+
! colspan="4" bgcolor="yellow"| '''Information Organisation Services'''
+
|-
+
<!-- STORAGE MANAGEMENT AREA -->
+
| rowspan="1" align="center" | '''[[Storage Management]]''' || [[Storage Management]] || Service ||
+
|-
+
<!-- CONTENT MANAGEMENT AREA -->
+
| rowspan="3" align="center" | '''[[Content Management]]''' || [[Content Management]] || Service ||
+
|-
+
| [[Collection Management]] || Service ||
+
|-
+
| [[Archive Import Service]] || Service ||
+
|-
+
<!-- METADATA MANAGEMENT AREA -->
+
| rowspan="2" align="center" | '''[[Metadata Management]]''' || [[Metadata Manager]] || Service ||
+
|-
+
| [[XML Indexer]] || Service ||
+
|-
+
<!-- ANNOTATION MANAGEMENT AREA -->
+
| rowspan="2" align="center" | '''[[Annotation Management]]''' || [[Annotation Management#Architecture|ABEService]] || Service ||
+
|-
+
| [[Annotation Management#The ABE Library|ABELib]] || SW Library ||
+
|-
+
<!-- DATA TRANSFORMATION AREA -->
+
| rowspan="1" align="center" | '''[[Data Transformation]]''' || [[Data Transformation|Metadata Broker]] || Service ||
+
|-
+
<!-- *********************************** -->
+
<!-- INFORMATION RETRIEVAL SERVICES AREA -->
+
<!-- *********************************** -->
+
! colspan="4" bgcolor="yellow"| '''Information Retrieval Services'''
+
|-
+
<!-- RESULT SET AREA -->
+
| rowspan="1" align="center" | '''[[gCube ResultSet (gRS)]]''' || [[gCube ResultSet (gRS)]] || Service ||
+
|-
+
<!-- SEARCH FRAMEWORK AREA -->
+
| rowspan="16" align="center" | '''[[Search Framework]]''' || [[Search Framework#Search Orchestrator (Search Master Service)|SearchMasterService]] || Service ||
+
|-
+
| [[Search Framework#Query Processing (Search Library)|SearchLibrary]] || SW Library ||
+
|-
+
| [[Search Framework#KeepTopOperator|KeepTopService]] || Service ||
+
|-
+
| [[Search Framework#BooleanOperator|BooleanCompareService]] || Service ||
+
|-
+
| [[Search Framework#FilterByXPathOperator|FilterXPathService]] || Service ||
+
|-
+
| [[Search Framework#SortOperator|SortService]] || Service ||
+
|-
+
| [[Search Framework#MergeOperator|MergeService]] || Service ||
+
|-
+
| [[Search Framework#JoinInnerOperator|JoinService]] || Service ||
+
|-
+
| [[Search Framework#GoogleOperator|GoogleService]] || Service ||
+
|-
+
| [[Search Framework#TransformByXSLTOperator|TransformByXSLTOperator]] || Service ||
+
|-
+
| [[IndexLookup]] || Service ||
+
|-
+
| [[GeospatialSearch]] || Service ||
+
|-
+
| [[FullTextSearch]] || Service ||
+
|-
+
| [[FeatureExtraction]] || Service ||
+
|-
+
| [[FeatureSearch]] || Service ||
+
|-
+
| [[DataFusion]] || Service ||
+
|-
+
<!-- INDEX MANAGEMENT FRAMEWORK AREA -->
+
| rowspan="5" align="center" | '''[[Index Management Framework]]''' ||  [[Index Generator]] || Service ||
+
|-
+
| [[Index Update]] || Service ||
+
|-
+
| [[Index Lookup]] || Service ||
+
|-
+
| [[Index Common Library]] || SW Library ||
+
|-
+
| [[Index Storage  Handling Layer]] || SW Library ||
+
|-
+
<!-- PERSONALISATION AREA -->
+
| rowspan="2" align="center" | '''[[Personalisation]]''' || [[Personalisation#UserProfileAccess Service|UserProfileAccess]] || Service ||
+
|-
+
| [[Personalisation#ProfileAdministration Service|ProfileAdministration]] || Service ||
+
|-
+
<!-- DIR SUPPORT FRAMEWORK AREA -->
+
| rowspan="1" align="center" | '''[[Distributed Information Retrieval Support Framework]]''' || [[DIR Master]] || Service ||
+
|-
+
<!-- ************************** -->
+
<!-- PRESENTATION SERVICES AREA -->
+
<!-- ************************** -->
+
! colspan="4" bgcolor="yellow"| '''Presentation Services'''
+
|-
+
<!-- ASL AREA -->
+
| rowspan="1" align="center" | '''[[ASL Library|Application Support Layer]]''' ||  ||  ||
+
|-
+
<!-- PORTAL AREA -->
+
| rowspan="1" align="center" | '''[[gCube Portal Engine]]''' ||  ||  ||
+
|}
+
  
=== Code Statistics ===
+
== ENVRI Development ==
 
+
This activity is ongoing. It is documented via a dedicated page on the [http://www.envri.eu ENVRI Website].
We use '''??? [http://www.statsvn.org/ StatSVN] ???''' to retrieve information from the project Subversion repository and to generate various tables and charts describing the project development. In particular, the following report are available:
+
* Report 1
+
* Report 2
+
 
+
=== Automated Builds ===
+
 
+
For the latest build results, please refer to the [https://grids16.eng.it/BuildReport/builds/recent%20builds/org.gcube.HEAD Build Report].
+
 
+
=== 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 final result of this activity materializes in a set of ''gCube distributions'' made available through the [http://software.d4science.research-infrastructures.eu/index.jsp gCube Distribution Site].
+

Latest revision as of 15:43, 8 July 2016

gCube (http://www.gcube-system.org) 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.

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 risks to overwhelm developers and distract them from the specific application logic of the services they are willing to develop.

This software system has been implemented with the support of the European Commission in the context of a series of projects including D4Science-II, iMarine, EUBrazilOpenBio, ENVRI.

D4Science-II Development

In the context of the D4Science-II project, the gCube technology has been developed with two synergistic lines of activity:

  • Knowledge Ecosystem Implementation whose objectives are (i) to develop a number of technology realising common practices, standards and solutions promoting interoperability with other systems and infrastructures (Interoperability Solutions) and (ii) to enhance and consolidate the gCube system to match the needs of the ecosystem approach. This activity is documented via a dedicated report;
  • Scenario Specific Implementation whose objective was to cover the design and implementation of case-specific needs for each particular interoperable infrastructure. Each case is analyzed and the system to implement it, on the side of the interoperating infrastructure, is designed in detail. Following the initial design, each case implements the specific components required so that it can exploit the facilities offered by the evolving ecosystem core and it can export the identified interoperable features to the rest of the ecosystem cases. This activity is documented via a dedicated report;

iMarine Development

This activity is ongoing. It is documented via a number of tickets in the iMarine TRAC.

EUBrazilOpenBio Development

This activity was active during the period 2011-2013. It was documented via a number of tickets in the EUBrazilOpenBio TRAC.

ENVRI Development

This activity is ongoing. It is documented via a dedicated page on the ENVRI Website.