Eric D. Schabell: jBPM v4.1 on JBoss 5.0.0.GA - a look at the Signavio web process designer

Wednesday, September 2, 2009

jBPM v4.1 on JBoss 5.0.0.GA - a look at the Signavio web process designer

Today at the opening of JBoss World 2009 the hard working jBPM team announced a new release of jBPM v4.1. I have previously taken a look at pre-released versions of the 4.x, but wanted to dive in again as they have added a web jPDL editor in conjunction with Signavio.

First again, examine the ant build after unzipping the downloaded tarball shows many new features are now available to setup this new jBPM. You can find the complete list of new features and fixes in the jBPM Jira, but note the Tomcat integration.

# Lets look at the build.xml options.
#
$ ant -p
Buildfile: build.xml
     [echo] database......... hsqldb
     [echo] tx............... standalone
     [echo] mail.smtp.host... localhost
     [echo] current dir = /home/mine/java/jbpm-4.1

Main targets:

 clean.cfg.dir                 Deletes the ${cfg.dest.dir}
 create.cfg                    Creates a configuration in ${cfg.dest.dir}
 create.jbpm.schema            creates the jbpm tables in the database
 create.user.webapp            Generates a configuration in dir generated/cfg
 delete.jboss                  Deletes jboss installation
 delete.tomcat                 Deletes tomcat installation
 demo.setup.jboss              installs jboss, installs jbpm into jboss, starts
                               jboss, creates the jBPM DB schema, deploys examples,
                               loads example identities, installs and starts 
                               eclipse
 demo.setup.tomcat             installs tomcat, installs jbpm into tomcat, starts 
                               tomcat, creates the jBPM DB schema, deploys 
                               examples, loads example identities, installs and 
                               starts eclipse
 demo.teardown.jboss           drops the jbpm db schema and stops jboss
 demo.teardown.tomcat          stops tomcat and then the hsqldb server if needed
 drop.jbpm.schema              drops the jbpm tables from the database
 get.eclipse                   downloads eclipse to ${eclipse.distro.dir}
 get.jboss                     Downloads jboss into ${jboss.distro.dir}
 get.tomcat                    Downloads tomcat into ${tomcat.distro.dir} if it 
                               is not available
 hsqldb.databasemanager        start the hsqldb database manager
 install.eclipse               unzips eclipse, downloads eclipse if it is not 
                               available in ${eclipse.distro.dir}
 install.examples.into.tomcat  deploys all the example processes
 install.jboss                 Downloads jboss to ${jboss.distro.dir} if its 
                               not available and then unzips jboss
 install.jbpm.into.jboss       Installs jBPM into JBoss
 install.jbpm.into.tomcat      Installs jBPM into tomcat
 install.tomcat                Downloads tomcat to ${tomcat.distro.dir} if its 
                               not available and then unzips tomcat
 load.example.identities       loads the example users and groups into the database
 reinstall.jboss               Deletes the previous jboss installation and re-installs
                               jboss
 reinstall.jboss.and.jbpm      Deletes the previous jboss installation and re-installs
                               jboss and installs jbpm in it
 reinstall.tomcat              Deletes the previous tomcat installation and re-installs
                               tomcat
 reinstall.tomcat.and.jbpm     Deletes the previous tomcat installation and re-installs 
                               tomcat and installs jbpm in it
 start.eclipse                 starts eclipse
 start.jboss                   starts jboss and waits till jboss is booted, then lets 
                               jboss run in the background
 start.tomcat                  Starts Tomcat and waits till it is booted, then lets 
                               Tomcat run in the background
 stop.jboss                    signals jboss to stop, but doesn't wait till its finished
 stop.tomcat                   Signals Tomcat to stop, but doesn't wait till its finished

The install is pretty straight forward, just need time to allow JBoss v5.0.0.GA and eclipse to download. Other than that, it was a breeze.

# Get some coffee or beer while waiting for this to finish!
#
$ ant demo.setup.jboss

Once this all completes you have an eclipse started and jboss server running in the background. Use the provided user documentation to complete the installation of eclipse (add GPDL plugins and jBPM runtimes). Then you import the examples and start touring!


I was interested in the new web designer so moved over to the web console.
Following the user documentation I log in and it is still looking just as good as the pre-releases, but now with some more features (see Jira).

Now we want to see what this new web editor from Signavio is all about.

# Need to point to the signavio-repo provided in the jBPM installation.
#
$ ant -Dsignavio.repo.path=/home/eschabel/java/jbpm-4.1/signavio-repo 

install.signavio.into.jboss
Buildfile: build.xml
     [echo] database......... hsqldb
     [echo] tx............... standalone
     [echo] mail.smtp.host... localhost
     [echo] current dir = /home/eschabel/java/jbpm-4.1

internal.set.signavio.repo.dir:
    [mkdir] Created dir: /home/eschabel/java/jbpm-4.1/signavio-repo
    [mkdir] Created dir: /home/eschabel/java/jbpm-4.1/install/generated/signavio-unzip-tmp
    [unzip] Expanding: /home/eschabel/java/jbpm-4.1/install/src/signavio/jbpmeditor.war 
            into /home/eschabel/java/jbpm-4.1/install/generated/signavio-unzip-tmp
      [zip] Building zip: /home/eschabel/java/jbpm-4.1/install/generated/
                          signavio-unzip-tmp/jbpmeditor.war
     [copy] Copying 1 file to /home/eschabel/java/jbpm-4.1/install/src/signavio
   [delete] Deleting directory /home/eschabel/java/jbpm-4.1/install/generated/
                               signavio-unzip-tmp

install.signavio.into.jboss:
    [unzip] Expanding: /home/eschabel/java/jbpm-4.1/install/src/signavio/jbpmeditor.war 
            into /home/eschabel/java/jbpm-4.1/jboss-5.0.0.GA/server/default/
                 deploy/jbpmeditor.war

BUILD SUCCESSFUL
Total time: 17 seconds

# And now we can load up the page in our browser.
#
http://localhost:8080/jbpmeditor/p/explorer

I opened a new jPDL project, drew a few things to make a simple empty process, and saved this to a file. Very nice stuff and BPMN 1.2 (with 2.0 on the horizon) too!

One small note, you will need to run this all with Java 1.6. I started with a Java 1.5 environment and that gave all kinds of problems with the web editor which was built with Java 1.6.

2 comments:

  1. Uhhmm... BPMN2? We'd wish... the stencils are still 1.2 as you can see in the top-left of the editor, but keep an eye on a certain blog. BPMN2 is on the horizon.

    ReplyDelete
  2. kukeltje,

    Absolutely right, I adjusted the post to reflect this. Guess I was just getting over excited by what I saw! ;-)

    ReplyDelete

Note: Only a member of this blog may post a comment.