The gCube Resources are the entities that the gCube system manages for the correct handling of Virtual Research Environments.
A gCube Resource is anything whose related information can be gathered, stored, monitored, and disseminated in order to provide the valuable amount of knowledge needed during the creation and management of a VRE as well as to operate an entire gCube infrastructure. Therefore, such resources are not only an abstract idea, rather they need a concrete realization in the developed solution.
The design of the services dealing with the VRE creation and management takes strongly care of the gCube Resources. A dedicated Registration Service maintains an entry for each of them and a registration procedure must be followed to create these entries. The registration can be performed in automatic mode (by other services) or request mode (by authorized users) via the Registration Service. One of the basic steps of such a procedure is that the gCube Resource owner must provide the profile for each new resource. Then, this profile is disseminated via the Distributed Information System (DIS) to allow other services to discover and to provide an access point for the gCube Resources.
The goal of the described functionality is to achieve a result similar to that obtained with the UDDI (Universal Description, Discovery, and Integration) based mechanism in the Web Service world. UDDI provides a method for publishing and finding service descriptions. In the UDDI context, the “profile” of the Web Service is represented by the WSDL service interface published in the UDDI Registry. The difference from the UDDI mechanism is that there the goal is to set up a service-to-service communication, while in DILIGENT we aim at connecting any gCube Resource with its consumers.
Profiles are only a subset of the information captured by the DIS. Each resource has also a state that includes the dynamic information related to the activity performed during the resource lifetime. Thus, the gCube service that manages the gCube Resource is in charge of exporting their state. For instance, the Hosting Node Manager is in charge of exposing the state of a DHN it manages (including ProcessorLoad, StorageDevice availability, list of gCube packages - i.e. WSRF services,libraries, portlets, grid jobs - deployed, etc.). Having a look at the implementation of the system, the states are exposed as WS-ResourceProperties documents.