VRE Modeler

From Gcube Wiki
Jump to: navigation, search

The VRE Modeler is a gCube Service dedicated to support VRE Designers and Managers to instruct the system about the expected features of the desired Virtual Research Environment as well as allowing to easily update the environment once defined and operational and finally to drop the environment and release the exploited resource as soon as the goal the environment has been designed for is considered accomplished. Because of this (i) the service is expected to serve two kind of actors: VRE Designers, i.e. actors in charge to specify the features the VRE should provide its users with from an high-level perspective, and VRE Manager, i.e. actors that, with the support of the system, transforms the desiderata of the VRE Designer in term of concrete services, collections and gHNs implementing it; (ii) the service is expected to provide these users with its functions through an high-level User Interface.

To meet the above expectations and requirements, the VRE Modeler Service has been organized according to the Model-View-Controller architectural pattern with the addition of a persistence layer. Moreover, the view and controlled layers are integrated into the same component, this is a common simplification of the original MVC framework. As a consequence, the resulting components are depicted in Figure 1.

Figure 1. VRE Modeler Architecture

The VRE Modeler View is the component integrating the view and controller layers of the MVC. It is responsible for handling user interactions, performing the corresponding modification made by the VRE Designer or the VRE Manager to the VRE Definition and displaying the updated model back to the user. Moreover, it is in charge to display the operational status of the available VREs.

The VRE Modeler Model is the component implementing the model layer of the MVC. It is the functional core of the VRE Modeler Service responsible for encapsulating the appropriate data structures and exposing the procedures needed to manipulate the VRE models representing the respective VRE Definition documents. In collaboration with the VRE Modeler View, it is in charge to implement the constraints preventing the VRE Designer and VRE Manager to perform unauthorised / improper actions.

The VRE Definition Repository is the component adding persistence facilities to the MVC. It is responsible for maintaining the VRE Definition documents containing all the definition criteria of the specified VREs.

Resources and Properties

The VRE Modeler Model adopts a Factory Pattern and manages a Resource for each of the VREs it is currently handling a model. Such resource is characterised by the VRE Identifier and the specification criteria that have been specified organised in terms of Descriptive Information, Content Information, Functionality Information, User Information and Architecture Information.

Functions

The main functions supported by VRE Modeler Model are:

  • createVREModel() – which creates a new VRE Model returns the reference to the resource representing it (i.e. the EPR);
  • removeVREModel() – which takes as input parameter a message containing the VRE Identifier and removes the model representing it;
  • setDescriptiveInfo() – which takes as input parameter a message containing the descriptive information of a VRE including its name and the creation time and updates the VRE Model accordingly;
  • getDescriptiveInfo() – which returns the VRE descriptive information currently stored in its model;
  • setVREContent() – which takes as input parameter a message containing the specification of the content domain of the VRE including the set of Collections to be managed and updates the VRE Model accordingly;
  • getVREContent() – which returns the VRE content information currently stored in its model;
  • setVREFunctionality() – which takes as input parameter a message containing the specification of the functionality domain of the VRE including the selected functions and updates the VRE Model accordingly;
  • getVREFunctionality() – which returns the VRE functionality information currently stored in its model;
  • setVREUser() – which takes as input parameter a message containing the specification of the user domain of the VRE including the selected users and updates the VRE Model accordingly;
  • getVREUser() – which returns the VRE user information currently stored in its model;
  • setVREArchitecture() – which takes as input parameter a message containing the specification of the architecture domain of the VRE including the selected gHNs and updates the VRE Model accordingly;
  • getVREArchitecture() – which returns the VRE architecture information currently stored in its model;
  • getVREModel() – which returns the current VRE model specification;
  • resumeVREModel() – which initialise the VRE Model by exploiting the VRE Definition Document stored in the VRE Definition Storage;
  • deployVRE() – which notifies the VRE Manager that a new VRE definition has been completed and the Designer asks for its deployment;