Wednesday, February 07, 2007

JBoss Rules Debug Money Shot

So we are about to put out a milestone release for JBoss Rules, to wet your appetite I thought I'd put out a money shot first. Here you'll see the code paused at a debug point in the consequence of a rule, with all available information displayed in the various views.



  1. hi there,

    Congrats!! Is the book on drools coming up soon as well ?

    After Jess, this is the most significant development in the (Java) Rules World! Especially since Drools has an IDE that is as good as you show.

    Look forward to the release.


  2. We would very much like a book, but we don't have the time to dedicate to it. Any time spent on authoring a book, would be time not spent developing features. However having a good manual is important, so we will continue to develop the online manual and how that some time in the future it will become good enough to form the basis of a book.

  3. Of course we are happy to work with some enterprising community members that want to help author a book, any takers? :)

  4. Great stuff Mark and team! Commercial competitors had better start assessing the "value added" they bring to the arena as many of the toolset advanatges they offered are disappearing.

  5. please ..
    - stop adding stupid dependencies.
    - make it small and java oriented
    - bring back the annotations.

  6. Which stupid dependencies would those be?

    The runtime is less than 1mb and has NO dependencies.

    The compiler has depedencies and is larger but there are reasons. Currently we allow jboss rules to be compiled with two compilers janino or eclipse, to that have seperation we use JCI which provides for pluggeable compilers. Further to that we have antlr and string template, which is necessary for parsing and code generation. The other dependencies such as commons logging are deps of JCI. Believe me we fight hard to deliver functionality while not allowing our dependency list to grow. We are currently thinking about maintain our own fork of JCI with all commons-* dependencies removed.

    We will be incorporating MVEL as the default compiler soon, this will allow us to provide a more streamlined core/compiler - with eclipse, janino and jci becoming optional. Currently the Eclipse compiler is 7mb, but they have a new stripped down version, we will update to use that soon. Or you can use Janino which is much smaller.

    More java like? What way are we not java like now? the java API to use drools hasn't change much since 2.x, and we still allow full java to be used in consequences, expressions and functions.

    Bring back annotations? There was a reason why annotations died, it was simply not possible to deliver the expressive power of a modern rule engine why maintaining a pojo language. It was easy with drools 2.0 as the language was very limited and strictly propositional logic. When we started to introduce new power elements like 'not' and 'exists' we could not find a sane way to port annotations to this. This is even more true now with 'collect', 'accumulate', 'from' and 'forall'. However this is a community project, the drools engine remains language independant, if someone wants to submit a pojo/annotation langauge that doesn't suck - we would be open to including it.

  7. a.a.a: As for annotations, I wrote the annotation implementation for drools 2.x. Compared the xml language of drools 2.x the annotations were quite nice. But as Mark said, with huge increase in expressiveness and capabilities of 3.x, there is no sane (or insane) method of using annotations that even approaches the drl syntax. Enjoy the drl syntax, its very very nice!

  8. memelet, thanks for the compliment and the re-assurance that we are doing the right thing. As the author of the original annotations module, they carry a lot of weight :)

    Have you checked out the new constructs in M1, as shown in the release notes, and the new debug feature for the IDE?

    Think you'll get time to contribute again? :)


  9. The debug screen looks really nice.. but I haven't been able to install the Eclipse plugin to use it (I assume that's what you need to activate the debug?).

    The Drools IDE plugin asks for GEF 3.2.1 which seems to be only available in source code. Do I really need to compile the GEF source in order for the plugin? Or am I missing something??

    Sorry if this is not the right place to ask, but since someone mentioned dependency I thought of bringing it up.

  10. No it's definitely available in binary download. Best to join the user mailing list for more support.