Friday, December 31, 2010

2010 in review

It is that time of year, when Christmas has passed (did you get the things you wished for?) and the New Year is upon us. A time for reflection and appreciating the things we have achieved.

As I look back I tried to come up with a picture to put in this post that would reflect the leading theme in my year. It should be apparent that my life at Red Hat has settled down and I am fully focused on JBoss with a favouritism for jBPM. This has kept me busy professionally this year and taken me to four different countries in Europe, three major conferences and countless customer / partner workshops.

This year saw the continuation of my Subject Matter Expert (SME) role for JBoss jBPM and JBoss BRMS being expanded out into the JBoss SOA-P product. Much of this role had me on the move with a short review here:
I guess the biggest project that has started rolling is the future of jBPM, with planning and work being done to create jBPM5. This led me to think about it, think some more and then start a project on jBPM migration strategies. This I wrote about a bit too and expect this project to keep me busy into the new year.

On the cycling front I made some great rides this year in several countries which I list here but you can follow on twitter which are tagged with #ericscycling:
  • spent some time on vacation in Zeeland, watching Giro 2010 pass by!
  • several rides in the Veluwe, killing myself on the Postbank
  • several summer Limburg rides; climbing and in the hills
  • several rides from home to Uden for family visits
  • again rode the Oude Holleweg and Van Randwijckweg in Beek
  • weekend ride in Trier, Germany with the killing valley hills there (thanks ErikP)
Being healthy and happy, I wish you and yours all the best in 2011!

Friday, December 24, 2010

jBPM Migration Tool project - update on the research phase

We have been seeing activity on the forums and we have been approached collectively by community practitioners of JBoss jBPM. Time for us to put out an update of what is going on in this project.

We have kicked off the project in the beginning of November 2010 by setting up the development environment, meeting several times over coffee / beer and getting the preliminary roadmap sorted out.

It was ambitiously setup to try and push out simple use cases as fast as possible and we arbitrarily chose to use XSLT for the tooling to convert jPDL 3.2 to BPMN2. As we dug deeper into the technology we started to find other ways of doing this and wanted to be sure that we chose the best migration strategy as possible. Maurice de Chateau puts it nicely,

"Well, to tell you the truth we're still in the process of looking for the simplest possible approach. So by no means have we completely ditched the XSLT approach - but we're certainly exploring alternative paths. Automatic generation of (intermediate) deliverables has our absolute preference (just call us lazy), so mechanisms like JAXB and frameworks like Smooks are well worth trying out - as far as we are concerned.

Downside to this search for an approach is that our original planning (delivering the first use cases this year) is most likely going to be abandoned, yet I strongly feel that's in the best interest of the solution we're ultimately going to deliver. Nevertheless we're still very much committed to delivering a sound and practically usable product as soon as possible."

So the first target will be to get conversion tooling working for jPDL 3.2 to BPMN2, followed by the rest of the targeted versions as stated in the project wiki.

With this in mind, you will see that we have misses the current milestones and will be 'refactoring' this part of the project real soon. Keep in mind also that we are both doing this in our own time outside of the normal working day, so watch the project timeline and here for more news as we move along.

Feel free to jump in an contact us if you wish to contribute or have use cases (process definitions) you would like to contribute to the set we have already acquired. Thanks for the interest and stay tuned for jBPM Migration Tool action coming in 2011.

Thursday, December 23, 2010

Firefox tip - how to turn off the Downloads Complete popup

Figure 1: about:config
I was getting real tired of the pop-ups in Firefox telling me that the file download just completed. To turn these off just us the about:config page as shown in figure 1 to set the highlighted variable in figure 1 to false. You can toggle this setting by just clicking on the line.

The less interruptions, the less context switching, the easier it is to concentrate on the code you are working on! ;-)

Wednesday, December 22, 2010

jBPM Migration Strategies - getting your BPM ducks in a row

I have submitted the following talk to codemotion, on 5th of March, 2011 in Rome, Italy. I hope to make some more noise on the coming jBPM Migration Tool project.

Abstract
With the upcoming release of JBoss jBPM5 there is a need to get your existing jBPM projects ready for the future. The future is BPMN2 and jBPM5 will be the first JBoss implementation to support this standard. We will discuss the need for jBPM migration strategies to help position your projects for the future. We finish with a dive into the details of the jBPM Migration Tool project,  providing you with the tooling to migrate your existing jBPM processes to BPMN2.

Fingers crossed and hope to see you there!

jBPM best practices - bringing your business processes to a good end

Fig. 1: Single end state
I wanted to put down some of the best practices for developing your business processes with JBoss jBPM. This is one of the simple tips that will make your business processes more flexible when creating monitoring reports for your manager.

The basic mistake that I often see is that business processes are created with a single end state, which is used from all points when wanting to reach completion.

Fig. 2: Multi end states
This provides no information as to the conditions that led the process to this end state. Figure 1 shows that we can end this business process from the first, second or third node. The problem is we only know that it has ended, but can not easily quantify which paths resulted in the completion of the business process.

Figure 2 shows the same business process implemented using a best practice of defining individual end states which can be easily mined for BAM or management reporting. Here we see that the business process catches the completion paths first, second and third via their respective end states.

I hope this jBPM best practice is of some use to you. Happy processing!

Monday, December 20, 2010

JBoss Developer Studio - remove Spring support and live Spring free

I am not a Spring developer, so why should I put up with it in my Eclipse IDE of choice? A friend of mine pointed me to the stuff that needs to be drop-kicked-without-backspin:

# We just want to remove all the plugin and feature stuff that is
# related to Spring.
#
$ cd ~/jbdevstudio/studio/eclipse/plugins

$ ls -l | grep spring

# This displays about 90 jar files related to Spring tooling, just 
# dump them as follows.
#
$ rm com.springsource*

$ rm org.jboss.tools.vpe.spring*

$ rm org.springframework*

# Now we need to remove the features directories related to 
# Spring.
#
$ cd ../features

$ ls -l | grep spring

# This displays about 7 directories containing Spring tooling, just 
# dump them as follows.
#
$ rm -rf org.springframework*

That was all there was to it. Now fire up your streamlined IDE and enjoy a Spring fee existence!