Database resource
From Gcube Wiki
Introduction
Model
Database resource model is based on the Runtime Resource resource. The guidelines are explained through an example:
<Resource version="0.4.x"> <ID>15398010-c13a-11e2-a1ec-f54c9ec8d8f1</ID> <Type>RuntimeResource</Type> <Scopes> <Scope>/gcube/devsec</Scope> </Scopes> <Profile> <Category>Database</Category> <Name>TabularData Database</Name> <Description /> <!-- Specify database technology name and version --> <Platform> <Name>PostgreSQL</Name> <Version>9</Version> <MinorVersion>2</MinorVersion> <RevisionVersion>4</RevisionVersion> <BuildVersion>0</BuildVersion> </Platform> <RunTime> <HostedOn>pc-fortunati.isti.cnr.it:5432</HostedOn> <!-- This field must include the hostname and the port through wich the DB service is accessible --> <GHN UniqueID="" /> <Status>READY</Status> </RunTime> <AccessPoint> <Description>Tabular Data Database endpoint for data (tables) storage (Admin user)</Description> <Interface> <!-- The endpoint EntryName should give a hint of the database being point and the privileges granted within the credentials --> <!-- As a rule of thumb please follow this naming convention: "${DBName}-${Privileges}" where: * ${DBName} is a name that describe the DB * ${Privileges} describe the privileges granted with the account provided. --> <Endpoint EntryName="Data-Admin">jdbc:postgresql://pc-fortunati.isti.cnr.it:5432/tabulardata</Endpoint> </Interface> <AccessData> <Username>luigi</Username> <Password>2cf1YRdE5TeiuhQpZUuAOw==</Password> <!-- Passwords are encrypted. In order to decrypt them you should have the scope symm key on your classpath. Refer to common-encryption for further details. --> </AccessData> <!-- An additional number of optional properties can be embedded within the endpoint --> <Properties> <Property> <Name>driver</Name> <Value encrypted="false">org.postgresql.Driver</Value> </Property> </Properties> </AccessPoint> <AccessPoint> <Description>Tabular Data Database endpoint for data (tables) storage (Unprivileged user)</Description> <Interface> <Endpoint EntryName="Data-User">jdbc:postgresql://pc-fortunati.isti.cnr.it:5432/tabulardata</Endpoint> </Interface> <AccessData> <Username>client</Username> <Password>CSnMl38Vjfs7+2KYRG9b/g==</Password> </AccessData> <Properties> <Property> <Name>driver</Name> <Value encrypted="false">org.postgresql.Driver</Value> </Property> </Properties> </AccessPoint> <AccessPoint> <Description>Tabular Data Database endpoint for metadata storage (Admin user)</Description> <Interface> <Endpoint EntryName="Metadata-Admin">jdbc:postgresql://pc-fortunati.isti.cnr.it:5432/tabularmetadata</Endpoint> </Interface> <AccessData> <Username>luigi</Username> <Password>2cf1YRdE5TeiuhQpZUuAOw==</Password> </AccessData> <Properties> <Property> <Name>eclipselink.target-database</Name> <Value encrypted="false">org.eclipse.persistence.platform.database.PostgreSQLPlatform</Value> </Property> <Property> <Name>driver</Name> <Value encrypted="false">org.postgresql.Driver</Value> </Property> </Properties> </AccessPoint> </Profile> </Resource>