Tuesday, July 3, 2012

JBoss BRMS 5.3 running in OpenShift Origin on JBoss EAP 6

After some polish and shine, we now have for you to demo, play with or just take with you to your next customer visit a fully running JBoss BRMS instance running on the brand new JBoss EAP 6!

Note: this is a running instance with no SLA, might be down, might be up, I will try to keep it running full time. Just let me know if it goes down after a new OpenShift release (they happen almost every two weeks) and I will reset it for you.

This includes the knowledge artifact repository, the BRM component and the BPMN2 web designer. There is also a demo repository zip file provided so you can import a complete demo package that is designed to evaluate customers as previously posted. The login is user 'admin' and password 'brms'.

You can replicate this in your very own instance of OpenShift (called a gear) by following the README found in the project repository.

PS. A word of thanks to kbhattac who created the initial brms53 repo in his project space.

Here's how you do it:

Running on OpenShift

Create an account at http://openshift.redhat.com/
Create a jbosseap-6.0 application
rhc app create -a brms53 -t jbosseap-6.0
Add this upstream openshift-brms53 repo.
cd brms53
git remote add upstream -m master https://github.com/eschabell/openshift-brms53.git
git pull -s recursive -X theirs upstream master
Then push the repo upstream
git push
That's it, you can now checkout your application at:
But you are not done... there is a configuration step needed right now until we sort out the OpenShift variable needed to identify this gears among a few other things. See the following Configuration Notes to get this finished. We hope to automate these steps soon.
This project was fully researched and created initially by Kaushik Bhattacharya, give him a shout of thanks over at his project headquarters:https://github.com/kbhattac/brms53
Some steps:
1) You need to specify the jackrabbit repo location in components.xml of jboss-brms.war. It should be configured to use Openshift environment variables, on TODO list. For now you can find it in the UUID displayed in this command:
rhc app show -a brms5.3

Application Info
Framework: jbossas-7
Creation: 2012-06-24T08:44:30-04:00
UUID: [some-big-number-here]
Git URL: ssh://[some-big-number-here]@brms53-onthe.rhcloud.com/~/git/brms53.git/
Public URL: http://brms53-$your_domain.rhcloud.com/
Embedded: None
So in this case, need to add in the UUID number to the componets.xml.
2) You need modify the host ip in profiles/jbpm.xml in designer.war It should have the value of $OPENSHIFT_INTERNAL_IP, which you can find by ssh'ing into the instance, then running cmd 'export' to find variable. Put that value in the host attribute:
<!-- update host, ssh into instance, run cmd 'export', locate variable OPENSHIFT_INTERNAL_IP, fill in for host.  -->
<externalloadurl protocol="http" host="" subdomain="jboss-brms/org.drools.guvnor.Guvnor/oryxeditor" usr="admin" pwd="brms"/ -->
3) Due to memory issues, deploying jboss-brms.war and designer.war at the same time doesn't work. So by default, we have configured only jboss-brms.war to deploy automatically. After jboss-brms.war is deployed, you need to rename the file 'designer.war.dodeploy.delayed' to 'designer.war.dodeploy' to trigger the deployment of the designer app.
$ ssh [UUID]@brms53-$your_domain.rhcloud.com
$ mv brms53/jbosseap-6.0/standalone/deployments/designer.war.dodeploy.delayed  /
You should see the web designer war deploy if you are watching the logs:
$ rhc-tail-files -a brms53
That is really it now, once it starts up your BRMS 5.3 product is available at:
Finally, you can import the demo application by importing the file import_demo_to_brms.zip into the Administration -> Import Export tab from the console.

Chinese translation available by Christina Lin.


  1. The first link does not work.

    1. I updated this post to include the details for you to setup yourself. Also a note that the instances of OpenShift can go down, I will reset mine again.

      $ rhc app restart -a brms53


  2. For those of you out there that install this in your own OpenShift Origin gear, note that if you have to restart the application, EAP6 want to have a xxx.war.dodeploy to redeploy other wars in your deployments directory.

    Login via ssh, touch brms53/jbosseap-6/standalone/deployments/jboss-brms.war.dodeploy, then wait a bit, touch brms53/jbosseap-6/standalone/deployments/designer.war.dodeploy.

    All will work again. ;-)

  3. Sweet Stuff Eric - this is really cool!

  4. getting this?
    git pull -s recursive theirs upstream master
    fatal: 'theirs' does not appear to be a git repository
    fatal: The remote end hung up unexpectedly

    1. Can you reach the link in your browser? Also might want to upgrade your git version.