How to configure the VRE Management Service

From Gcube Wiki
Jump to: navigation, search


The creation of every VRE that will operate in the context of a Virtual Organisation is supported by the VRE Management facility. The entire process of VRE creation and management is documented by the VRE Administration part of the Administrator's Guide.

However, a preliminary step is to instruct the VRE Management facility on how it should behave in the VO (e.g. what are the functionality that can be added to a VRE) by using the following two resources in the Information System (VO scope).

Functionality Resource

This resource models:

  • the logical functionalities (organised in homogeneous classes) that should be presented to the VRE Designers for their VRE design;
  • the per functionality configuration, e.g. data sources to be made available, algorithms to expose;
  • the list of software components that will be actually deployed once a given functionality is selected;
  • the list of additional resources that will be deployed at VRE creation time;

It is specified according to the following schema.

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
   <xs:annotation>
      <xs:documentation xml:lang="en">
         XML Schema for GCUBE Generic Resource Version 1.4 Last modified:
         29/05/2008 Contact: http://www.gcube-system.org
      </xs:documentation>
   </xs:annotation>
 
   <xs:redefine schemaLocation="CommonTypeDefinitions.xsd">
      <xs:complexType name="ProfileType">
         <xs:complexContent>  
            <xs:restriction base="ProfileType">
               <xs:sequence>
                  <xs:element name="SecondaryType" type="xs:string" />
		     <xs:element name="Name" type="xs:string" />
		     <xs:element name="Description" type="xs:string" />
		     <xs:element name="Body">
		        <xs:complexType>
			   <xs:sequence>
			      <xs:element name="MainFunctionalities" minOccurs="0">
			         <xs:complexType>
				    <xs:sequence>
				       <xs:element name="MainFunctionality" maxOccurs="unbounded">
				          <xs:complexType>
					     <xs:sequence>
					        <xs:element name="Name" type="xs:string" />
						<xs:element name="Description" type="xs:string" />
						<xs:element name="Functionalities" minOccurs="0">
						   <xs:complexType>
						      <xs:sequence>
						         <xs:element ref="Functionality" maxOccurs="unbounded" />
						      </xs:sequence>
					           </xs:complexType>
						</xs:element>
					     </xs:sequence>
					  </xs:complexType>
				       </xs:element>
				    </xs:sequence>
				 </xs:complexType>
			      </xs:element>
			   </xs:sequence>
			</xs:complexType>
		     </xs:element>
		  </xs:sequence>
	       </xs:restriction>
	    </xs:complexContent>
	 </xs:complexType>
      </xs:redefine>
 
      <xs:element name="Functionality">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Name" type="xs:string" />
				<xs:element name="Description" type="xs:string" />
				<xs:element name="Services" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element ref="Service" maxOccurs="unbounded" />
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="MandatoryResources" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element ref="RuntimeResource" minOccurs="0"	maxOccurs="unbounded" />
							<xs:element ref="GenericResource" minOccurs="0" maxOccurs="unbounded"/>
						</xs:sequence>
 
					</xs:complexType>
				</xs:element>
				<xs:element name="SelectableResources" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element ref="RuntimeResource" minOccurs="0"	maxOccurs="unbounded" />
							<xs:element ref="GenericResource" minOccurs="0" maxOccurs="unbounded"/>
						</xs:sequence>
 
					</xs:complexType>
				</xs:element>
				<xs:element name="Portlets" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Portlet" type="xs:string" maxOccurs="unbounded" />
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:attribute name="mandatory" type="xs:boolean" use="optional"/>
		</xs:complexType>
	</xs:element>
 
 
	<xs:element name="Service">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="ServiceName" type="xs:string" />
				<xs:element name="ServiceClass" type="xs:string" />
			</xs:sequence>
		</xs:complexType>
	</xs:element>
 
	<xs:element name="GenericResource">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Name" type="xs:string" minOccurs="0"
					maxOccurs="1" />
				<xs:element name="SecondaryType" type="xs:string" />
				<xs:element name="XpathToVerify" type="xs:string"
					minOccurs="0" maxOccurs="1" />
			</xs:sequence>
			<xs:attribute name="description" type="xs:string" use="required"/>
			<xs:attribute name="minselectable" type="xs:nonNegativeInteger" use="optional"/>
			<xs:attribute name="maxselectable" type="xs:positiveInteger" use="optional"/>
		</xs:complexType>
	</xs:element>
 
	<xs:element name="RuntimeResource">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Name" type="xs:string" minOccurs="0"
					maxOccurs="1" />
				<xs:element name="Category" type="xs:string" />
			</xs:sequence>
			<xs:attribute name="description" type="xs:string" use="required"/>
			<xs:attribute name="minselectable" type="xs:int" use="optional" default="0"/>
			<xs:attribute name="maxselectable" type="xs:int" use="optional" default="-1"/>
		</xs:complexType>
	</xs:element>
 
	<!-- <xs:element name="Portlet"> <xs:complexType> <xs:sequence> <xs:element 
		name="PortletName" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> -->
</xs:schema>

Default Layout

This resource