Eric D. Schabell: August 2014

Friday, August 29, 2014

How to Use Rules and Events to Drive JBoss BRMS Cool Store for xPaaS

You have already seen the array of JBoss BPM Suite demos based on the Alpha cartridge in OpenShift showcasing bpmPaaS in the Red Hat xPaaS story.

Up to now you could play with the BPM product and work from the OpenShift Cloud instance just as if you were working locally.

A showcase of this was provided for attendees of the online JBoss BPM Suite workshop hosted in London, South America and on the East Coast next month.

What is a bit more interesting would be a preview of a JBoss BRMS application working on this bpmPaas, right?

JBos BRMS in the Cloud with OpenShift bpmPaaS
Well look no further, we have a preview demo project that you might already be familiar with, the JBoss BRMS Cool Store. With this publication we now have a cloud enabled JBoss BRMS available as an Alpha (unsupported) bpmPaaS solution to run this demo project.

Here is a fully automated cartridge installation for JBoss BRMS Cool Store in the OpenShift Cloud that will allow you to kick start a pre-loaded demo project.

First you need to have an account on OpenShift Origin, which you then can upgrade for free to the Bronze level (no monthly fee, just usage fee, see details). This gives you access to the creation of LARGE sized gears which you will need for any bpmPaaS BRMS instances you create.

After that you can then create a new application via the online web administration console, where at the bottom of the page you will find a text box labeled Code Anything.
Paste cartridge URI, easy peasy!

This is a field where you can paste in the cartridge definitions we provide in the bpmPaaS Cool Store project.

To try out this cartridge enter the URI:

https://raw.githubusercontent.com/eschabell/cartridge-bpmPaaS-coolstore-demo/master/metadata/manifest.yml

Or if you want to use the rhc command line type:

rhc app create -g large <APP NAME> https://raw.githubusercontent.com/eschabell/cartridge-bpmPaaS-coolstore-demo/master/metadata/manifest.yml
Just follow the project readme file instructions and you will be up and running a full bpmPaaS based on JBoss BRMS in a matter of minutes.



Enjoy!

Wednesday, August 27, 2014

2 Essential Things to See From BPM Starters Kit Webinar

Today was the webinar I previously posted about here on how to get yourself started by hitting the ground running with a JBoss BPM Suite (and JBoss BRMS) starters kit.

I covered the various aspects as outlined in the announcement and you can register there online to see a recording of the session once it is posted, in case you were unable to attend.

The two essential things to see from this webinar?

  1. slides from session (below)
  2. recording of session (follow link to register and view recording)

Hit the ground running with BPM — a starters kit

Looking to design business processes but not sure how to get started? If this is the first you’ve heard of Red Hat JBoss BPM Suite, or you’re anxious to get started with your freshly downloaded JBoss BPM Suite, this webinar’s for you.


Have no fear, the JBoss BPM Suite starter kit will:
  • Provide you with the details, help, and path to rules, events, and process freedom.
  • Show you a quick and easy entry into the world of process design.
  • Walk you through the contents, and what you can achieve, with the JBoss BPM Suite.
  • Start you off with an easy installation.
  • Use a pre-installed project and workshop to take you step-by-step through constructing the project from scratch.
Join us for a grand tour of the JBoss BPM Suite starter kit, and learn how you can hit the ground running as the BPM expert you always wanted to be.

Slides available online for your viewing pleasure:

Tuesday, August 26, 2014

The Ultimate Starter Kit For JBoss BRMS

There is nothing quite like getting your game on with a new rules and events technology or product.

The same is true of Red Hat JBoss BRMS in that you have enough resources at your disposal to kick-start your journey, but where to start?

There is a vast amount of information online but we want to start our journey with the basics to get us going.

Something more in the way of a practical 'hands on' start to rules and events with JBoss BRMS.

Introduction

This announcement is bringing just that, an ultimate JBoss BRMS Starter Kit, that is an outline to provide you with the ability to hit the ground running.

You get a straight forward, easy to consume and ready to go set of resources that will have you producing rules and events artifacts with JBoss BRMS in a matter of hours.

The starter kit

We have put together the following for you in the JBoss BRMS Starter Kit:
  • outline of who the starter kits are for
  • getting started with the kit
    • simple workshop online
    • demo project online
  • provide a workshop in the OpenShift Cloud to take away
  • walk through what you will learn in this workshop
  • send you on your way with resources
    • in depth article archive
    • best practices 
    • tips & tricks series
    • how to video archive
 What are you waiting for?

There is no time like the present to get your very own rules and events education going with the hands on approach provided by the JBoss BRMS Starter Kit!

Monday, August 25, 2014

Webinar: Hit the ground running with BPM - a starters kit

Later this week on Wednesday, 27th of August (11:00 EST), I will be giving a guided tour on how to get started with JBoss BPM Suite Starter Kits.

We will tour you around the articles, archives, videos, demos and show you that you can also rock BPM along with rules and event in the Cloud with bpmPaaS.

You don't want to miss this fantastic chance to pick up on how easy it is to launch your next rules, events and/or process project using JBoss technology that has been so successful throughout the world.

You will need to register here.

Hit the ground running with BPM — a starters kit

Looking to design business processes but not sure how to get started? If this is the first you’ve heard of Red Hat JBoss BPM Suite, or you’re anxious to get started with your freshly downloaded JBoss BPM Suite, this webinar’s for you.

Have no fear, the JBoss BPM Suite starter kit will:
  • Provide you with the details, help, and path to rules, events, and process freedom.
  • Show you a quick and easy entry into the world of process design.
  • Walk you through the contents, and what you can achieve, with the JBoss BPM Suite.
  • Start you off with an easy installation.
  • Use a pre-installed project and workshop to take you step-by-step through constructing the project from scratch.
Join us for a grand tour of the JBoss BPM Suite starter kit, and learn how you can hit the ground running as the BPM expert you always wanted to be.

See you there!

The Ultimate Starter Kit For JBoss BPM Suite

There is nothing quite like getting your game on with a new BPM technology or product.

The same is true of Red Hat JBoss BPM Suite in that you have enough resources at your disposal to kick-start your journey, but where to start?

There is a vast amount of information online but we want to start our journey with the basics to get us going.

Something more in the way of a practical 'hands on' start to BPM with JBoss BPM Suite.

Introduction

This announcement is bringing just that, an ultimate JBoss BPM Suite Starter Kit, that is an outline to provide you with the ability to hit the ground running.

You get a straight forward, easy to consume and ready to go set of resources that will have you producing BPM artifacts with JBoss BPM Suite in a matter of hours.

The starter kit

We have put together the following for you in the JBoss BPM Suite Starter Kit:
  • outline of who the starter kits are for
  • getting started with the kit
    • simple workshop online
    • demo project online
  • provide a workshop in the OpenShift Cloud to take away
  • walk through what you will learn in this workshop
  • send you on your way with resources
    • in depth article archive
    • best practices 
    • tips & tricks series
    • how to video archive
 What are you waiting for?

There is no time like the present to get your very own BPM education going with the hands on approach provided by the JBoss BPM Suite Starter Kit!

Wednesday, August 20, 2014

New integration scenarios highlighted in JBoss BPM Suite & JBoss FSW integration demo

There is a new demo on the block and it is all about showing off the integration between JBoss BPM Suite and JBoss FSW.

This initial announcement provides an automated installation (repeatable) in minutes where you get JBoss BPM Suite running on an instance of JBoss EAP and a separate instance of JBoss FSW on its very own EAP instance.

There are plans to expand this demo project with various integration scenarios or use cases, but for now we start with just a single story around using JBoss FSW governance integration to manage your rules, events, data models, processes, and other BPM artifacts.

Background

This demo is brought to you in part by Kenny Peeples who is the JBoss Technology Evangelist that focuses on this product. He will be expanding this project in the coming days to include a Switchyard services application that will leverage a Fuse camel route which in turn makes a call to a process running on JBoss BPM Suite.
Governance workflow

There will be more expansion such as calling a Switchyard services application from a BPM process and much more so stay tuned.

The project can be found on github and has documentation to get you up and running in minutes.

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.

Email task notification
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 demo:
  1. Add products to installs directory.
  2. Run 'init.sh' or 'init.bat'.
  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>jbossfsw1!</password>
      </server>
    </servers>
    
Follow the instructions on the screen to start JBoss BPM Suite server and JBoss Fuse Service Works server.
   Login to http://localhost:8180/business-central  (u:erics / p:bpmsuite1!).

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

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

        $ mvn deploy -f projects/customer/evaluation/pom.xml

   The customer 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:jbossfsw1!       

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

       $ ls /tmp/dev/

         evaluation-1.0.jar

       $ ls /tmp/qa/

         evaluation-1.0.jar

Note that the setup puts JBoss FSW product on port 8080 and JBoss BPM Suite on port 8180 (offset 100).
Artifact repository

The FSW S-RAMP and DTGov installation is configured to automatically react to any deployments of the provided customer evaluation 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
If at each stage you approve the task waiting in the S-RAMP UI, it will copy the artifact to the new /tmp/dev folder, but after approving the waiting task you will find a new copy in /tmp/qa.
deployment stage.

This video walks you through the installation and BPM artifact governance use case in just under 10 minutes:



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

Thursday, August 14, 2014

Top 3 Ways Developers Build Projects Against JBoss BPM Suite

In this weeks tips & tricks series we introduce some of the more technical aspects of working with JBoss BRMS and JBoss BPM Suite products by showing you the top three ways that you as a developer can build your projects against  projects that the business users create with JBoss BPM Suite (or JBoss BRMS).

The developer in all of us is not always interested in staying within the confines of the beautiful Business Central web dashboard as provided, but is working from our favorite IDE to build the applications that leverage the work from our business user.

We expect to clone the project the business user created and build it from scratch, or we want to embed this a project dependency and run our project against the product artifacts available to us in the JBoss central maven repositories.

We also might not trust our business users and want to create, run, and analyse some unit tests to confirm that this stuff we depend on is working properly.

All these actions rely on us understanding what product artifacts we need, how the business user projects build within their product dashboard, and how to build them outside of the product when we clone these projects.

For this article, we will be using the Customer Evaluation Demo project as our running example, where you can find the various aspects of this in the project hosted on github.com.

1. Depending on Business Central projects

When business users login and create a project with rules, event, and/or processes it results in a Knowledge JAR (KJAR) after they build it. This KJAR is just a Maven artifact JAR file that is put into the local repository by default but can be configured to point to any valid Maven repository.

As a developer you want to use this as a dependency in your project, so how does this work?

We need to point to our development project's pom.xml file at the proper business user project that will be built from the JBoss BPM Suite, using the Customer Evaluation demo project. If you look into that project you will find a pom.xml that does just that: bpms-customer-evaluation-demo/projects/customer-evaluation-demo/pom.xml.

Locate the code snippet from the pom.xml below to see how the project is added to your development projects dependencies.

# Add this to your development projects pom.xml file as shown to depend on the 
# customer evaluation project build version 1.0.
#
<!-- KJar file from project. -->
<dependency>
  <groupId>customer</groupId>
  <artifactId>evaluation</artifactId>
  <version>1.0</version>
  <scope>compile</scope>
</dependency>

Next up we look at how you can add the central JBoss maven repository and make use of the latest JBoss BPM Suite product dependencies.

2. JBoss BPM Suite Maven dependencies

The JBoss maven repository is used as shown below which will point to the latest product version we want to use, at the time of this writing it was JBoss BPM Suite 6.0.2:

# Add this to your pom.xml as shown, or modify (exercise left to the reader)
# to add into your .m2/settings.xml file. 
#
<repositories>
  <repository>
    <id>jboss-maven-repository</id>
    <name>JBoss Maven Repository</name>
    <url>http://maven.repository.redhat.com/techpreview/all/</url>
    <layout>default</layout>
    <releases>
      <enabled>true</enabled>
      <updatePolicy>never</updatePolicy>
    </releases>
    <snapshots>
      <enabled>false</enabled>
      <updatePolicy>never</updatePolicy>
    </snapshots>
  </repository>
</repositories>

Next we want to setup a unit test that will exercise our rules, events, and process project.

You can find this in the Customer Evaluation demo project setup with maven dependencies using a central pom.xml property to point to the artifact version we are currently using. Next we need a product dependency to unit test our code.

# Add this to your development projects pom.xml as shown to make use of the
# product base artifacts to create unit tests.
#
<properties>
  <bpm-suite-version>6.0.0-redhat-5</bpm-suite-version>
</properties>

<dependencies>
  <!-- Test dependencies. -->
  <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.10</version>
    <scope>test</scope>
  </dependency>
  <dependency>
    <groupId>org.jbpm</groupId>
    <artifactId>jbpm-test</artifactId>
    <version>${bpm-suite-version}</version>
    <scope>test</scope>
  </dependency>

  <!-- Backwards compatible BRMS 5 API -->
  <dependency>
    <groupId>org.drools</groupId>
    <artifactId>knowledge-api</artifactId>
    <version>${bpm-suite-version}</version>
    <scope>compile</scope>
  </dependency>

  <!-- KJar file from project. -->
  <dependency>
    <groupId>customer</groupId>
    <artifactId>evaluation</artifactId>
    <version>1.0</version>
    <scope>compile</scope>
  </dependency>
</dependencies>

Business Central project pom file.
Next up and the final section, how to build business user projects as they are cloned directly from the JBoss BPM Suite product's internal git repository.

3. Building projects outside Business Central

Once you have a business user project completed as shown above with the Customer Evaluation demo, you want to clone this over SSH following this previous article (link).

# Cloning the business users customer evaluation demo project from the 
# command line.
#
$ git clone ssh://erics@localhost:8001/customer
Cloning into 'customer'...
The authenticity of host '[localhost]:8001 ([127.0.0.1]:8001)' can't be established.
DSA key fingerprint is ef:51:d6:ec:7f:ce:8b:e1:b6:a1:96:5e:6a:cf:d3:f8.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[localhost]:8001' (DSA) to the list of known hosts.
Password authentication
Password: 

remote: Counting objects: 602, done
remote: Finding sources: 100% (602/602)
remote: Getting sizes: 100% (466/466)
remote: Compressing objects: 100% (118792/118792)
remote: Total 602 (delta 24), reused 72 (delta 21)
Receiving objects: 100% (602/602), 60.23 KiB, done.
Resolving deltas: 100% (344/344), done.

$ cd customer/evaluation/
$ ls -l
total 16
drwxr-xr-x  32 erics  501  1088 Aug 13 17:36 global
-rw-r--r--   1 erics  501   990 Aug 13 17:36 pom.xml
-rw-r--r--   1 erics  501    97 Aug 13 17:36 project.imports
drwxr-xr-x   4 erics  501   136 Aug 13 17:36 src

# When we try to build it breaks on the strange kie-maven-plugin
# found in the pom.xml.
#
$ mvn install
[INFO] Scanning for projects...
Downloading: http://repo.maven.apache.org/maven2/org/kie/kie-maven-plugin/6.0.3-redhat-4/kie-maven-plugin-6.0.3-redhat-4.pom
[WARNING] The POM for org.kie:kie-maven-plugin:jar:6.0.3-redhat-4 is missing, no dependency information available
Downloading: http://repo.maven.apache.org/maven2/org/kie/kie-maven-plugin/6.0.3-redhat-4/kie-maven-plugin-6.0.3-redhat-4.jar
Downloading: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar
Downloaded: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar (165 KB at 148.8 KB/sec)
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]   
[ERROR]   The project customer:evaluation:1.0 (/Users/erics/demo-projects/bpms6/bpms-customer-evaluation-demo/support/customer/evaluation/pom.xml) has 2 errors
[ERROR]     Unresolveable build extension: Plugin org.kie:kie-maven-plugin:6.0.3-redhat-4 or one of its dependencies could not be resolved: Could not find artifact org.kie:kie-maven-plugin:jar:6.0.3-redhat-4 in central (http://repo.maven.apache.org/maven2) -> [Help 2]
[ERROR]     Unknown packaging: kjar @ line 8, column 14
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
[ERROR] [Help 2] http://cwiki.apache.org/confluence/display/MAVEN/PluginResolutionException

Once cloned you will notice that the project will not build locally due to missing dependencies that the kie-maven-plugin needs. If you add them locally to the pom.xml it will build locally but these are managed internally to the product when the business user builds from within business central.

It is suggested to not push these changes back into the repository, but to only use them externally. Once you do this and add the JBoss maven repository, it will build outside of the business central GUI tooling.

# Add repositories and plugins for maven central to the pom.xml.
#
<repositories>
  <repository>
    <id>jboss-maven-repository</id>
    <name>JBoss Maven Repository</name>
    <url>http://maven.repository.redhat.com/techpreview/all/</url>
    <layout>default</layout>
    <releases>
      <enabled>true</enabled>
      <updatePolicy>never</updatePolicy>
    </releases>
    <snapshots>
      <enabled>false</enabled>
      <updatePolicy>never</updatePolicy>
    </snapshots>
  </repository>
</repositories>
<pluginRepositories>
  <pluginRepository>
    <id>jboss-maven-repository</id>
    <name>JBoss Maven Repository</name>
    <url>http://maven.repository.redhat.com/techpreview/all/</url>
    <layout>default</layout>
    <releases>
      <enabled>true</enabled>
      <updatePolicy>never</updatePolicy>
    </releases>
    <snapshots>
      <enabled>false</enabled>
      <updatePolicy>never</updatePolicy>
    </snapshots>
  </pluginRepository>
</pluginRepositories>

# Add the dependencies needed.
#
<dependencies>
  <dependency>
    <groupId>org.kie</groupId>
    <artifactId>kie-api</artifactId>
    <version>6.0.3-redhat-4</version>
    <scope>provided</scope>
  </dependency>
  <dependency>
    <groupId>org.jbpm</groupId>
    <artifactId>jbpm-bpmn2</artifactId>
    <version>6.0.3-redhat-4</version>
    <scope>provided</scope>
  </dependency>
</dependencies>

# Now you can build it in your IDE.
#
$ mvn package
[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building customer-evaluation 1.0
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ evaluation ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 11 resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ evaluation ---
[INFO] Changes detected - recompiling the module!
[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
[INFO] Compiling 2 source files to /Users/erics/demo-projects/bpms6/bpms-customer-evaluation-demo/support/customer/evaluation/target/classes
[INFO] 
[INFO] --- kie-maven-plugin:6.0.3-redhat-4:build (default-build) @ evaluation ---
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
[INFO] KieModule successfully built!
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ evaluation ---
[INFO] Nothing to compile - all classes are up to date
[INFO] 
[INFO] --- maven-surefire-plugin:2.17:test (default-test) @ evaluation ---
[INFO] No tests to run.
[INFO] 
[INFO] --- maven-jar-plugin:2.5:jar (default-jar) @ evaluation ---
[INFO] Building jar: /Users/erics/demo-projects/bpms6/bpms-customer-evaluation-demo/support/customer/evaluation/target/evaluation-1.0.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7.086s
[INFO] Finished at: Wed Aug 13 17:56:33 CEST 2014
[INFO] Final Memory: 36M/447M
[INFO] ------------------------------------------------------------------------

Hopefully this will get you started when you are attempting to integrate your development project with the various possibilities offered by the JBoss BPM Suite (and JBoss BRMS) product.

Monday, August 11, 2014

JBoss BPM Suite workshop series in UK a grand success

London JBug members
enjoying some summer
coding fun!
Last week I broke up my summer break with a week in the UK, stopping to chat with customers, partners, provide a few workshops, enjoyed an entertaining evening with the London JBug, and trained up the entire UKI field teams.

It was all about JBoss BRMS & JBoss BPM Suite with a bit of OpenShift sprinkled in as we showcased bpmPaaS where needed.

Working on OpenShift
bpmPaaS instance!
The first workshop showcases how to build a JBoss BRMS project that leverages rules, a domain specific language (DSL), decision table, and ruleflow.

The second part of the workshop expands your knowledge by teaching you how to design and create a working process with task forms and a data model.

You will create a working HR employee reward process in no time at all.

This has all been put together for you online and was run this week several times to enthusiastic customers, the London JBug members, and the internal field teams from the UKI.

Concentration on the
faces of attendees.
The various groups that attended this workshop did not all have access to laptops that allowed installation and configuration of the JBoss products used in this workshop, so we just provided
bpmPaaS instances on OpenShift.

Everyone was happy, coding away, and learning how darn easy it is to add rules, events and processes to your projects.

Part of the trip involved a ride down into the south of England, where the country was pretty, the sun
was shining, the people were both easy going and proved to be adept at working on rules, events and processes during their workshop.

Feedback on the workshop was fantastic and now you too can enjoy it as we have pushed it into the Cloud on OpenShift, just follow along.


We leave you with a classic image from London and hope to see you at the next workshop!

Summer workshops end with an English
 pie on the Thames!


Wednesday, August 6, 2014

JBoss BRMS Primer - getting started with JBoss BRMS

By popular demand we revisit the the JBoss Business Rules Management System (BRMS) Primer series. 

This guide will get you up and running with this product, to run a demo, kick start a Proof of Concept (PoC), or just to let you explore the use cases that these products can cover. 

The main tool for teaching you about what this product can do will be the example demo projects. These projects attempt to tackle a simple aspect and not become complicated vertical solutions. They are self contained, requiring only that you can clone a repository using git and that you download the products required for the demos from the Customer Portal (http://access.redhat.com).


Demos
The following demos are available for your use.

Supporting content
There are a myriad of blogs and video content that can be found around BRMS and BPM, so here is a list of sites to check.

Webinars
The final resource is of course the official recorded webinars around the products: http://www.redhat.com/products/jbossenterprisemiddleware/business-rules/webinars.html

I hope you enjoy this material and can have some fun getting started using JBoss BRMS.

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:


Friday, August 1, 2014

Inducted into the OpenShift Accelerator Program means more bpmPaaS

It is no secret that I am a big fan of the OpenShift Origin and enterprise products.

There is just something about having a simple to use Platform as a Service (PaaS) that allows a true developer to ignore all the questions about how to setup her infrastructure before deploying her project.

I have focuses mainly on Java, but not exclusively as you can find in my available list of OpenShift demo projects on github.com which is currently numbering 29 various projects to get you started.

I have also spoken around the world on the topic of getting started with OpenShift as a PaaS platform for development with the following focus:

This week I was inducted into a brand new OpenShift Accelerator Program where they plan to bring structure to what we do as unofficial evangelists in the communities interested in OpenShift.

Look forward to continue spreading the word about OpenShift, especially as it pertains to running bpmPaaS projects, my demos around JBoss BRMS and BPM Suite, and whatever else I might be working on that the time.