0 Replies Latest reply on Dec 12, 2014 4:47 AM by 0xaf

    Using Drools BRMS in Fuse ESB applications

    0xaf

      Hi All!

       

      I am investigating how to use Drools BRMS in the Fuse ESB 6.1.0.GA applications.

      Need some advices about best practices, how to do it in right way.

       

      I've figure out that there are available some drools-karaf-features that enables Drools/jBPM and KIE API.

      I've installed it in Fuse ESB with following commands:

       

      > features:addurl mvn:org.drools/drools-karaf-features/6.1.0.Final/xml/features
      > features:install kie-aries-blueprint

       

      Hereafter I can add following dependency to my bundle project and use Drools BRMS via KIE API.


             <dependency>

                  <groupId>org.kie</groupId>

                  <artifactId>kie-aries-blueprint</artifactId>

                  <version>6.1.0.Final</version>

              </dependency>

       

      Now I able to write my own custom services that exploits Drools business rules engine.

      Seems like there are available additional namespace which adds some opportunities to Blueprint descriptors:


      <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"

                 xmlns:tx="http://aries.apache.org/xmlns/transactions/v1.1.0"

                 xmlns:kie="http://drools.org/schema/kie-aries-blueprint/1.0.0">

       

          <kie:kmodule id="my-kie-module">

          </kie:kmodule>


      </blueprint>


      To avoid reinvent the wheel I would like to understand what features and opportunities are available here OOB.

      Googling for a while I can't find any complete reference manual about this KIE Blueprint extentions, and how to use them.

       

      Also I've discovered that there are kie-camel feature that can be installed similarly:


      > features:install kie-camel

       

      Seems like it adds camel Component that registers on the kie: URI.

      But also I can't find any complete reference manual on this Camel Component.

       

      Is this a right way to exploit Drools under Fuse ESB?

      I wonder why it is not somehow documented, and I would appreciate for links to good reference manuals and examples!