Difference between revisions of "Developer's Guide"

From Gcube Wiki
Jump to: navigation, search
(How-tos)
 
(250 intermediate revisions by 24 users not shown)
Line 1: Line 1:
 +
[[Category: Developer's Guide]]
 +
{|align=right
 +
||__TOC__
 +
|}
 
Documents technical-oriented information that will help developers further extend and exploit gCube’s source code. The document will target two classes of programmers:
 
Documents technical-oriented information that will help developers further extend and exploit gCube’s source code. The document will target two classes of programmers:
  
* Those who want to reuse the code – Programmers who will use gCube’s libraries to build their own tools, without need to access the source code.
+
* Those who want to interface with gCube or to reuse gCube code – Programmers who will use gCube’s libraries to build their own tools, 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.
 
* 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.
  
== Contents ==
+
The Guide is organised as follows.
 +
[[#Overview | Overview]] provides the developer with a general summary of the gCube technology. 
 +
[[#How-tos | How-to]] provides the developer with pragmatic, detailed and practical advice on gCube technology.
 +
Components Programming Reference Sections provide the developer with a detailed description of the gCube constituents organising them according to a [[#Components Programming Reference: Functionality-oriented View | Functionality-oriented View]] and a
 +
[[#Components Programming Reference: Data-typology-oriented View | Data-typology-oriented View]].
  
# [[Developer's Guide:Introduction|Introduction]]
+
The gCube team welcomes contributions from everyone who shares our vision and wishes to contribute in a constructive manner to improve and enhance the available software assets.
# gCube Components Programming Reference
+
As such, gCube have adopted this [[Code of Conduct | Code of Conduct ]] and require all those who wish to participate to agree to these guidelines.
## gCube Infrastructure Enabling Services
+
### [[Enabling Services Overall Architecture|Overall Architecture]]
+
### [[Information System]]
+
### [[Dynamic Virtual Organisation Support]]
+
### [[VRE Management]]
+
### [[Broker and Matchmaker]]
+
### [[Process Management]]
+
### [[Process Optimisation]]
+
## Information Organisation Services
+
### [[Organisation Services Overall Architecture|Overall Architecture]]
+
### [[Storage Management]]
+
### [[Content Management]]
+
### [[Metadata Management]]
+
### [[Annotation Management]]
+
### [[Content Security]]
+
### [[Data Tranformation]]
+
## Information Retrieval Services
+
### [[Retrieval Services Overall Architecture|Overall Architecture]]
+
### [[gCube ResultSet (gRS)]]
+
### [[Search Framework]]
+
### [[Index Management Framework]]
+
### [[Personalisation]]
+
### [[Distributed Information Retrieval Support Framework]]
+
## Presentation Services
+
### [[Presentation Services Overall Architecture|Overall Architecture]]
+
### [[ASL Library|Application Support Layer]]
+
### [[gCube Portal Engine]]
+
# Step by step guidelines
+
## Developing a gCube Component
+
### [[Developing a Service]]
+
### [[DILIGENT Provider|GCUBE Provider]]
+
### [[Profile Specification]]
+
### [[Service Archive Specification]]
+
## Portlet Development
+
### [[Developing Portlets with GWT]]
+
### [[Using credentials in Portlets and Servlets]]
+
### [[General guidelines about Portlet StyleSheets]]
+
## Security
+
### [[DILIGENT Security Model|Security Model]]
+
### [[How To Configure Service Security]]
+
### [[Common Security Troubleshooting]]
+
### [[How to use VOMS api library]]
+
# [[References]]
+
# [[Glossary]]   
+
  
<!--
+
=== [[Developer's Guide: Introduction | Overview]] ===
# [[Developer's Guide:Introduction|Introduction]]
+
: [[Reference_Model | gCube Reference Model]]
# gCube Components Programming Reference
+
: [[GCube_Architecture | gCube Reference Architecture]]
## Collective Layer
+
: [[Glossary]]
### [[Broker and Match Maker]]
+
 
### [[VREManager]]
+
=== How-tos ===
### [[GHNManager]]
+
: [[How to develop a gCube Component]]
### [[Deployer]]
+
: [[How to develop a gCube Portlet]]
### [[DIS-BDII-Client]]
+
: [[Featherweight Stack | How to interface with a gCube-based Infrastructure (a.k.a. Featherweight Stack Client)]]
### [[IS-Notifier]]
+
: [[Integration_and_Interoperability_Facilities_Framework:_Client_Libraries_Framework | How to interface with a gCube-based Infrastructure (a.k.a. the gCube Client Libraries Framework)]]
### [[ExistClient]]
+
: [[SmartGears | How to turn software applications and containers into gCube resources (a.k.a. the gCube SmartGears Framework)]]
### [[IS-IC]]
+
: [[FHNManager | How to integrate gCube system with external Cloud Providers]]
### [[IS-IP]]
+
: Accounting
### [[IS-Registry]]
+
:: [[Accounting Lib | How to produce accounting records]]
### [[DVOS Authorization]]
+
:: [[Accounting Analytics | How to consume accounting records]]
### [[Package Repository]]
+
:: [[Accounting Portlet: How to install and configure |How to install and configure Accounting Portlet(AM)]]
### [[Software Repository]]
+
: Data Analytics
## Digital Library Creation and Management
+
:: [[Statistical Algorithms Importer: How to install and configure| How to install and configure Statistical Algorithms Importer(SAI)]]
### [[VDL Definition Repository]]
+
:: [[Statistical_Algorithms_Importer | How to Implement Algorithms by Statistical Algorithms Importer(SAI)]]
## Content and Metadata Management
+
:: [[How-to Implement Algorithms for DataMiner | How to Implement Algorithms for DataMiner by Java libraries]]
### [[Annotation Back End]]
+
:: [[How_to_Interact_with_the_DataMiner_by_client | How to Interact with the DataMiner by client]]
### [[Archive Import Service]]
+
:: [[How to use the DataMiner Pool Manager | How to use the DataMiner Pool Manager]]
### [[Metadata Broker]]
+
<!-- :: <strike>[[Legacy_applications_integration | How to integrate legacy applications and offer them via WPS]]</strike> -->
### [[Metadata Manager]]
+
: Data Publishing
### [[XML Indexer]]
+
:: [[How to programmatically publishing a spatial dataset and the associated metadata by the gCube SDI]]
## Index and Search Management
+
:: [[How to use Data Transfer 2]]
### [[Content Source Description]]
+
: Data Discovery and Access
### [[Content Source Selection]]
+
:: [[GeoNetwork library | How to programmatically discover geospatial metadata]]
### [[Data Fusion]]
+
 
### [[Full Text Index]]
+
=== Components Programming Reference: Functionality-oriented View ===
### [[Geographical - Spatial Index]]
+
; [[Core-facilities]]
### [[Forward Index]]
+
: [[Core-facilities#Data_Infrastructure_Management_Facilities | Data Infrastructure Management Facilities]]
### [[ResultSet Framework]]
+
: [[Core-facilities#Data_Infrastructure_Policy-oriented_Security_Facilities | Data Infrastructure Policy-oriented Security Facilities]]  
### [[Search Management]]
+
: [[Core-facilities#Workflow_Management_Facilities | Workflow Management Facilities]]
### [[Search Operators]]
+
 
### [[Personalization Management]]
+
; [[Data Management Facilities]]
## Process Management
+
: [[Data_Management_Facilities#Data_Access_and_Storage_Facilities | Data Access and Storage Facilities]]  
### [[Process Design System - BPELParser]]
+
: [[Data_Management_Facilities#Data_Transfer_Facilities | Data Transfer Facilities]]  
### [[Process Design System - CSDesignApplet]]
+
: [[Data_Management_Facilities#Data_Assessment,_Harmonisation,_and_Certification_Facilities | Data Assessment, Harmonisation, and Certification Facilities]]  
### [[Process Design System - CSValidator]]
+
 
### [[Process Resources System - ServiceQueryBridge]]
+
; [[Data Consumption Facilities]]  
### [[Process Resources System - CSResourceManager]]
+
: [[Data_Consumption_Facilities#Data_Retrieval_Facilities | Data Retrieval Facilities]]
### [[Process Execution - CSEngine]]
+
: [[Data_Consumption_Facilities#Data_Manipulation_Facilities | Data Manipulation Facilities]]
### [[Process Execution - GLiteJobWrapper]]
+
: [[Data Mining Facilities | Data Mining Facilities]]  
### [[Process Optimisation Services]]
+
: [[Data_Consumption_Facilities#Data_Visualisation_Facilities | Data Visualisation Facilities]]  
## Application Suport Layer
+
: [[Data_Consumption_Facilities#Semantic_Data_Analysis_Facilities | Semantic Data Analysis Facilities]]
### [[ASL Library]]
+
 
# Developing a gCube Component
+
; [[gCube APIs]]
## [[Developing a Service]]
+
: [http://wiki.gcube-system.org/gcube/Social_Networking_Library Social Networking Library] and [[Social Networking Service]]
## [[DILIGENT Provider]]
+
: [[Social Networking Data Discovery]]
## [[Profile Specification]]
+
: [https://wiki.gcube-system.org/gcube/Storage_Manager Storage Manager Service]
## [[Service Archive Specification]]
+
: [https://wiki.gcube-system.org/gcube/Home_Library_2.0_API_Framework_Specification Home Library Service (DEPRECATED, see StorageHub)]
# Portlet Development
+
: [https://gcube.wiki.gcube-system.org/gcube/StorageHub_REST_API Storage Hub Service]
## [[Developing Portlets with GWT]]
+
:[https://wiki.gcube-system.org/gcube/Portal_Context Portal Context] and [https://wiki.gcube-system.org/gcube/UserManagement_Core Portal User, Group and Roles Management]
## [[Using credentials in Portlets and Servlets]]
+
: [[Portal Mailing API]]
## [[General guidelines about Portlet StyleSheets]]
+
; [[gCube Presentation Services]]
# Security
+
 
## [[DILIGENT Security Model]]
+
:[https://wiki.gcube-system.org/gcube/GCube_Widgets_Store GCube Widgets Store]
## [[How To Configure Service Security]]
+
 
## [[Common Security Troubleshooting]]
+
=== Components Programming Reference: Data-typology-oriented View ===
## [[How to use VOMS api library]]
+
; [[Biodiversity Data Facilities]]
# [[References]]
+
; [[Geospatial Data Facilities]]
# [[Glossary]]
+
; [[Semantic Data Facilities]]
-->
+
; [[Statistical Data Facilities]]

Latest revision as of 11:00, 13 July 2020

Documents technical-oriented information that will help developers further extend and exploit gCube’s source code. The document will target two classes of programmers:

  • Those who want to interface with gCube or to reuse gCube code – Programmers who will use gCube’s libraries to build their own tools, 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.

The Guide is organised as follows. Overview provides the developer with a general summary of the gCube technology. How-to provides the developer with pragmatic, detailed and practical advice on gCube technology. Components Programming Reference Sections provide the developer with a detailed description of the gCube constituents organising them according to a Functionality-oriented View and a Data-typology-oriented View.

The gCube team welcomes contributions from everyone who shares our vision and wishes to contribute in a constructive manner to improve and enhance the available software assets. As such, gCube have adopted this Code of Conduct and require all those who wish to participate to agree to these guidelines.

Overview

gCube Reference Model
gCube Reference Architecture
Glossary

How-tos

How to develop a gCube Component
How to develop a gCube Portlet
How to interface with a gCube-based Infrastructure (a.k.a. Featherweight Stack Client)
How to interface with a gCube-based Infrastructure (a.k.a. the gCube Client Libraries Framework)
How to turn software applications and containers into gCube resources (a.k.a. the gCube SmartGears Framework)
How to integrate gCube system with external Cloud Providers
Accounting
How to produce accounting records
How to consume accounting records
How to install and configure Accounting Portlet(AM)
Data Analytics
How to install and configure Statistical Algorithms Importer(SAI)
How to Implement Algorithms by Statistical Algorithms Importer(SAI)
How to Implement Algorithms for DataMiner by Java libraries
How to Interact with the DataMiner by client
How to use the DataMiner Pool Manager
Data Publishing
How to programmatically publishing a spatial dataset and the associated metadata by the gCube SDI
How to use Data Transfer 2
Data Discovery and Access
How to programmatically discover geospatial metadata

Components Programming Reference: Functionality-oriented View

Core-facilities
Data Infrastructure Management Facilities
Data Infrastructure Policy-oriented Security Facilities
Workflow Management Facilities
Data Management Facilities
Data Access and Storage Facilities
Data Transfer Facilities
Data Assessment, Harmonisation, and Certification Facilities
Data Consumption Facilities
Data Retrieval Facilities
Data Manipulation Facilities
Data Mining Facilities
Data Visualisation Facilities
Semantic Data Analysis Facilities
gCube APIs
Social Networking Library and Social Networking Service
Social Networking Data Discovery
Storage Manager Service
Home Library Service (DEPRECATED, see StorageHub)
Storage Hub Service
Portal Context and Portal User, Group and Roles Management
Portal Mailing API
gCube Presentation Services
GCube Widgets Store

Components Programming Reference: Data-typology-oriented View

Biodiversity Data Facilities
Geospatial Data Facilities
Semantic Data Facilities
Statistical Data Facilities