Eric D. Schabell: Design time governance with DTGov integration with JBoss BPM Suite demo

Monday, August 4, 2014

Design time governance with DTGov integration with JBoss BPM Suite demo

S-RAMP governance integration with JBoss BPM Suite
This week we bring you a new chapter in the evolution of your JBoss BPM Suite by integrating it with a governance scenario.

You have asked about the possibility to govern your project artifacts from dev - qa - stage - prod and we have put together a demo that integrates the DTGov (design time governance) component that is supported with the BPM Suite product.

Background

The original founding engineer Kurt Stam is a friend of mine and was passing through the area when we decided to hang out for a few hours and put S-RAMP, DTGov, and JBoss BPM Suite together in a single automated demo setup.

Kurt Stam, founder of S-RAMP.

Governance process

The S-RAMP and DTGov tooling comes with a standard process that was designed using the same BPM Suite tools you are using to create your process projects.

It models the process you work through when you run mvn deploy in the provided demo project, which uploads the project artifacts into the S-RAMP repository and automatically starts a process instance for the new artifact.

Installing and running

The following steps will get you up and running in a matter of minutes with this fully automated and repeatable JBoss BPM Suite Governance Demo:
  1. Clone project.
  2. Add products to installs directory.
  3. Copy this code snippet into your ~/.m2/settings.xml (authorization for s-ramp repository):
    <!-- Added for BPM Suite Governance demo -->
    <servers>
      <server>
        <id>local-sramp-repo</id>
        <username>erics</username>
        <password>bpmsuite1!</password>
      </server>
    </servers>
    
  4. Run 'init.sh'.
Follow the instructions on the screen to start JBoss BPM Suite server and S-RAMP server.
   Login to http://localhost:8180/business-central  (u:erics / p:bpmsuite).

   Login to http://localhost:8080/s-ramp-ui         (u:erics / p:bpmsuite1!)

   As a developer you have a modified project pom.xml (found in projects/rewards-demo)
   which includes an s-ramp wagon and s-ramp repsitory locations for transporting any
   artifacts we build with 'mvn deploy'.

        $ mvn deploy -f projects/rewards-demo/pom.xml

   The rewards project now has been deployed in s-ramp repository where you can view
   the artifacts and see that the governance process in the s-ramp was automatically
   started. Claim the approval task in dashboard available in your browser and see the
   rewards artifact deployed in /tmp/dev copied to /tmp/qa upon approval:

        http://localhost:8080/s-ramp-ui            u:erics/p:bpmsuite1!       

   The example of promoting through dev to qa to stage to prod is an example of using
   a local filesystem for this demo.


Note that the setup puts S-RAMP product on port 8080 and JBoss BPM Suite on port 8180 (offset 100). 

Governance workflow
The S-RAMP and DTGov installation is configured to automatically react to any deployments of the provided rewards project, kicking off an instance of the process to start evaluating and approving or rejecting the artifact build for the next level of your infrastructure.

The current demo setup just uses the following file system locations to show progression but you can configure this to make use of existing continuous integration infrastructure in your own enterprise as needed.
  • /tmp/dev
  • /tmp/qa
  • /tmp/stage
  • /tmp/prod
Governance review task approved
If at each stage you approve the task waiting in the S-RAMP UI, it will copy the artifact to the new deployment stage. For example, initially you will find a copy of the rewards jar in the /tmp/dev folder, but after approving the waiting task you will find a new copy in /tmp/qa.

We hope you enjoy this new demo showcasing governance integration with JBoss BPM Suite.

Here is a video overview of installation, build and deploying a project artifact for promotion through the various infrastructures in our organization: