Skip to content
Eric Wittmann edited this page Sep 8, 2014 · 2 revisions

DTGov Data Model

Overview

DTGov makes use of the configured S-RAMP repository to store various internal objects as extension artifacts. This section of the guide documents this data model, providing a list of all extension artifact types, their use, and their properties. All DTGov artifacts can be modified either via the DTGov UI or by directly manipulating them using standard S-RAMP tools.

Notification Templates (DtgovEmailTemplate)

The DTGov notification service uses templates when sending notifications to users. These templates can be stored in the S-RAMP repository and queried via:

/s-ramp/ext/DtgovEmailTemplate

Each template artifact can have the following properties:

Property Name Description

template

A logical identifier used by the Notification Service when looking up the template to use for a particular notification.

template-type

The type of template, for example 'subject' or 'body'.

Undeployment Information (UndeploymentInformation)

The DTGov deployment service stores some information about the deployment in the S-RAMP repository so that it is possible to later undeploy the deployment. A list of all these undeployment artifacts can be found via:

/s-ramp/ext/UndeploymentInformation

Each undeployment artifact can have the following properties and relationships:

Property Name Description

deploy.target

deploy.type

deploy.classifier

Relationship Name Description

describesDeployment

A relationship from the UndeploymentInformation artifact that points to the deployment artifact it describes.

Additional custom properties will be added to the undeployment info artifact depending on the type of deployment:

File Copy
Property Name Description

deploy.copy.file

The location that the deployment was copied to (so it can be deleted).

RHQ
Property Name Description

deploy.rhq.baseUrl

URL of the RHQ server.

deploy.rhq.port

Port of the RHQ server.

deploy.rhq.groupId

The RHQ group the deployment was added to.

deploy.rhq.name

The deployment’s name.

deploy.rhq.pluginName

The RHQ plugin name - needed to support multiple versions of RHQ.

JBoss CLI
Property Name Description

deploy.cli.name

The name of the deployment.

deploy.cli.host

The JBoss CLI server host.

deploy.cli.port

The JBoss CLI server port.

deploy.cli.domainMode

Boolean indicating whether the deployment was done in Domain mode.

Maven

(Does not support undeployment)

Workflow Queries (DtgovWorkflowQuery)

A primary feature of DTGov is to watch the S-RAMP repository for changes and, when it detects them, trigger a new instance of a BPMN2 workflow for the artifact that caused the change. The DTGov UI provides a way to manage these queries - each one is stored in the S-RAMP repository as a 'DtgovWorkflowQuery', which can be quried with the following:

/s-ramp/ext/DtgovWorkflowQuery

Each workflow query artifact can have the following properties:

Property Name Description

query

A valid S-RAMP query used to scan the repository for matching artifacts.

workflow

The ID of the BPMN2 workflow that will be triggered when an artifact matches the query.

Additionally, the workflow query is configured with a number of custom properties configured in the UI. These properties are passed to the workflow instance when it is created. Each property is stored on the DtgovWorkflowQuery as a custom property prefixed with 'prop.'.

Workflow Instances (DtgovWorkflowInstance)

Whenever a workflow is triggered for an artifact in the S-RAMP repository (see the 'Workflow Queries' section above), DTGov will add an artifact to S-RAMP that represents the workflow instance. This provides a way to easily track all of the workflow instances, their state, and which S-RAMP artifact they are governing. A list of these workflow instances can be queried using the following:

/s-ramp/ext/DtgovWorkflowInstance

Each workflow query artifact can have the following properties and relationships:

Property Name Description

workflow.processId

The ID of the workflow instance in jBPM.

workflow.numParams

The number of parameters passed to the workflow instance when it was created.

workflow.status

The current status of the process (RUNNING, ABORTED, COMPLETED).

workflow.param.*

Each parameter passed to the workflow instance is prefixed by this.

workflow.artifactId

The ID of the S-RAMP artifact being governed.

workflow.artifactName

The name of the S-RAMP artifact being governed.

Relationship Name Description

governs

A pointer to the artifact in S-RAMP that is being governed by this workflow instance.

Deployment Targets (DtgovDeploymentTarget)

The DTGov deployment service is responsible for deploying an S-RAMP artifact (deployment) into a runtime environment such as JBoss EAP or Apache Tomcat. The service must be configured with at least one logical deployment target. This configuration information is managed via the DTGov user interface. Each deployment target is stored in the S-RAMP repository as a 'DeploymentTargetType'. These target artifacts can be queries with the following:

/s-ramp/ext/DtgovDeploymentTarget

Each workflow query artifact can have the following properties:

Property Name Description

deployment.type

The type of deployer to use (e.g. CLI, RHQ, File Copy, Maven).

deployment.classifiers

The classifier(s) to add to the artifact being deployed.

Additional properties are added to the deployment target artifact depending on its type:

File Copy
Property Name Description

deployment.deployDir

The server-side file directory/path to copy the deployment artifact into.

RHQ
Property Name Description

deployment.baseUrl

The URL of the RHQ server.

deployment.pluginName

The RHQ 'plugin name' - needed to support multiple versions of RHQ.

deployment.user

The RHQ username.

deployment.password

The RHQ password.

deployment.group

The RHQ server group to deploy into.

JBoss CLI
Property Name Description

deployment.host

The host JBoss is running on.

deployment.port

The CLI port for JBoss.

deployment.user

The JBoss CLI username.

deployment.password

The JBoss CLI user’s password.

deployment.domainMode

Boolean indicating whether to use domain mode or standalone.

deployment.serverGroup

If domainMode=true, required to indicate the server group to deploy into.

Maven
Property Name Description

deployment.repositoryUrl

The URL of the maven repository.

deployment.releaseEnabled

Boolean indicating whether releases are enabled.

deployment.snapshotEnabled

Boolean indicating whether snapshots are enabled.

deployment.user

The username for authenticating into the repository.

deployment.password

The password for authenticating into the repository.