IS-Registry

From Gcube Wiki
Revision as of 20:37, 20 June 2009 by Manuele.simi (Talk | contribs) (Configuration)

Jump to: navigation, search

The IS-Registry is a gCube Service called upon to manage gCube Resources by managing the registration/unregistration of their profiles. Its internals are structures as depicted in Figure 1, i.e. it mainly follows a Factory pattern.

Figure 1. IS-Registry Architecture

Resources and Properties

This Service creates and manage a WS-Resource for each gCube resource that has to be considered part of the e-Infrastructure the IS-Registry is responsible for. Such WS-Resources (ProfileResource) implement the Resource Model described in the Resource Model, in fact each of them consists of four parts:

  • A unique identifier identifying the resource univocally;
  • A type characterising the class the resource belong to, e.g. Running Instance, gHN;
  • A scope identifying the operational scope of such a resource;
  • A profile describing the resource by resource-specific attributes.

In addition to such WS-Resources the service publishes a set of properties about its operational status including the number of resources of a certain type currently registered, the last operation performed including operation type, resource ID and time (RegistryFactoryResource). Such properties are also registered as Topics managed by the IS-Notifier thus making possible for interested clients to subscribe on events representing the changes of status of Infrastructure constituents (e.g. the disappearance of a Running Instance).

Operations

The main operations supported by the Service Factory (RegistryFactory) are:

  • createResource() – which takes as input parameter a message containing a resource profile and a set of registration directives (e.g. VO membership and VRE membership) and returns a string containing the whole profile of the new resource including the automatically assigned ID;
  • updateResource() – which takes as input parameter a message containing the new profile that is supposed to replace an existing one. The key to identify the old profile to be replaced is contained in the profile itself, it is the resource ID. By relying on the internal mapping between IDs and EPRs it identifies the WS-Resource it has to interact with in order to implement such update operation;
  • removeResource() – which takes as input parameter a message containing the resource ID identifying the resource to be removed;


The only operation supported by the IS-Registry Service (RegistryService), i.e. the WSRF service managing the WS-Resource instances representing gCube resources, is:

  • getProfileString() – which returns the resource profile represented by its WS-Resource;