Wednesday, September 01, 2010

BPMN2 Authoring in Drools Guvnor

Drools Guvnor supports editable BPMN2 process in the browser via Oryx. Oryx is a web-based editor for modeling business processes hosted at Google Code. Oryx is also backed by Signavio, who provide a professionally maintained version of Oryx.

Drools Flow is integrated with the BPMN2 process designer provided from the Oryx branch maintained by Antoine Toulme. This branch is maintained with the goal to apply upstream patches to the Oryx project. The latest version of the designer can be downloaded from github here.

This integration also includes synchronization of .bpmn artifacts created in the designer with Eclipse, allowing BPMN2 round-trip authoring between Eclipse and Drools Guvnor. You can watch the video that Kris created showing this action here.

How to use the designer:
a) Download the designer.war from here and unzip it into $jboss_home/server/$config/deploy directory.
b) Start up your server instance.
c) Navigate to http://localhost:8080/designer/editor

You should be now able to create your process and save it (or view the produced BPMN2 XML and paste it into a .bpmn file locally).








BPMN2 being edited in Oryx designer

Open this file in Eclipse and use the Drools Guvnor Perspective to upload it to your Drools Guvnor repository as shown in the video.
Now open the process in Drools Guvnor and you should see the same process designer. Note that Oryx still uses the BPMN2 beta1 format, so you should make sure you are using that version and not the latest (or Oryx will not be able to parse your input).









BPMN2 being edited in web based Guvnor









BPMN2 being edited in Eclipse

Remarks:
Oryx currently requires Java6
Oryx currently requires Mozilla Firefox
Deploy the designer.war onto the same AS instance and configuration alongside drools-guvnor.war

We are working on updating the Oryx designer.war to the latest BPMN2 version (which Drools already supports) so check this blog and the mentioned download link for latest updates. These updates will happen independently from Drools releases.

16 comments:

  1. Great work! This is big step towards a truly Business Knowledge Integrated Platform!

    ReplyDelete
  2. Impressive stuff; especially the round-trip demonstration. I assume the Guvnor and Eclipse tooling are completely seperate sharing just the data exchange format.

    ReplyDelete
  3. Hi, I cant see pools and lanes on Drools Flow eclipse editor...
    But Oryx lets us to create it..
    how will this be addressed?

    How can I know if my bpmn file is with format version expected by guvnor+oryx?



    regards

    ReplyDelete
  4. Great job, i'm looking forward to create and edit drools flow freely both in oryx designer and eclipse. I wonder when oryx will be available in stable mode and maybe easier to install(i mean no more need to deal with the libraries)?

    ReplyDelete
  5. I have this error:
    java.lang.IllegalArgumentException: No profile with the name null was registered
    org.oryxeditor.server.EditorHandler.doGet(EditorHandler.java:251)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    com.intalio.web.filter.impl.PluggableFilter.doFilter(PluggableFilter.java:75)
    org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

    ReplyDelete
  6. I get latest designer http://people.redhat.com/tsurdilo/oryx/1.0.0.048-SNAPSHOT/designer-1.0.0.048-SNAPSHOT-jboss.war and have this error too:

    java.lang.IllegalArgumentException: No profile with the name null was registered
    org.oryxeditor.server.EditorHandler.doGet(EditorHandler.java:251)

    ReplyDelete
  7. I am starting out with jbpm5.
    I used the same link at pavlz to download the designer. Renamed it to designer.war and replaced the existing designer.war under $jboss_home/server/default/deploy directory.

    Restarted entire jbpm stack using ant start.demo.

    On trying to access the URL http://localhost:8080/designer/editor I got the error -
    java.lang.IllegalArgumentException: No profile with the name null was registered
    org.oryxeditor.server.EditorHandler.doGet(EditorHandler.java:251)

    Can someone help me out with getting this fixed.

    ReplyDelete
  8. Hi pavlz and Anonymous. The new designer version added a feature called profiles. You can think of profiles as extension points to the designer. With a profile you can specify what stencil set to use, specify handler logic on how to load and save the processes, among other things.

    So to answer your question, you have to specify a profile via URL parameter to use the Oryx designer. There are two possible profiles you can specify now, "default" which is the out-of-the-box profile designer provides, and "drools" which is the profile Guvnor uses when you create a new or edit an existing process within Guvnor.

    In case you the default profile you would use http://localhost:8080/designer/editor?profile=default&uuid=12345 where 12345 would be your unique uuid for the process. Note that the default profile stores the json representation (not bpmn2!) of the process to the file system (/WEB-INF/repository).

    Alternatively you do ?profile=drools for the drools profile, but note that it does not make much sense to use this profile outside of Guvnor.

    If you do want to use the Oryx designer outside of guvnor we are working on a way to embed the Guvnor process editor which includes the designer as a standalone module in your web applications so please keep watching this blog for updates on that end.

    I would also like to encourage you to use the mailing lists for these types of questions, as comments on this blog are not the best place for it.

    ReplyDelete
  9. Hello everyone, someone know about documentation for run bpm process directly from oryx into jbpm5 engine?

    ReplyDelete
  10. I need oryx designer stable version with source file. Where from i can get?

    ReplyDelete
  11. Do you have in plan to update Orix designer to newer version of ExtJS?

    ReplyDelete
  12. The github link (https://github.com/intalio/process-designer/) is broken.

    ReplyDelete
  13. How I can add BPMN2, I am using Jboss 4.2.3.GA and Drools-5.1.1 i.e this links: http://download.jboss.org/drools/release/5.1.1.34858.FINAL/drools-5.1.1-guvnor-standalone.zip

    ReplyDelete
  14. Hi tsurdilovic,
    I've got a problem: when desiginer is started inside Guvnor (5.1) I cannot specify a profile.
    The problem is that Guvnor starts designer without specifing profile parameter, so I cannot get the editor to work.

    How can I workaround this?

    Best regards

    ReplyDelete