[rules-dev] Drools Flow and Seam Integration

Tihomir Surdilovic tsurdilo at redhat.com
Wed Aug 26 17:42:52 EDT 2009


Hello Raphael,

please add your comments and suggestions to 
https://jira.jboss.org/jira/browse/JBSEAM-4260 as those are great inputs 
to have. Currently we have a separate branch for Drools5 integration 
(http://anonsvn.jboss.org/repos/seam/branches/community/Seam_2_2_Drools5/) 
which will be soon merged into Seam3 trunk and then the work on 299 
Beans can start :)

So far, as Edson mentioned, we have added new Seam components which can 
be configured through components.xml. To show some examples:

a) creating a KnowledgeBase:

<drools:knowledge-base name="kbase" 
knowledge-builder-config="kbuilderconfig.properties" 
knowledge-base-config="kbaseconfig.properties">
        <drools:rule-resources>
            <value>classpath;numberguess.drl;DRL</value>
        </drools:rule-resources>   
        <drools:event-listeners>
            
<value>org.drools.event.knowledgebase.DefaultKnowledgeBaseEventListener</value>
        </drools:event-listeners>
    </drools:knowledge-base>

a.2) creating a KnowledgeBase from a template and template data:

<drools:knowledge-base name="kbase4" 
knowledge-builder-config="kbuilderconfig.properties" 
knowledge-base-config="kbaseconfig.properties">
        <drools:rule-resources>
            
<value>classpath;testtemplate.drl;DRL;testTemplateDataProvider</value>
        </drools:rule-resources>   
    </drools:knowledge-base>
   
b) creating a KnowledgeAgent:

    <drools:knowledge-agent name="kagent" agent-name="myAgent" 
scan-resources="true" scan-directories="false"
        monitor-change-set-events="true" scan-interval="30">
        <drools:change-sets>
            <value>classpath;numberguesschangeset.xml</value>
        </drools:change-sets>
    </drools:knowledge-agent>

c) creating a StatefulKnowledgeSession (similar for stateless):

<drools:stateful-knowledge-session name="ksession"
          knowledge-base="#{kbase}"
          knowledge-session-config="ksessionconfig.properties"
          fact-provider="#{testFactProvider}"
          audit-log="/home/tsurdilo/Desktop/ksession3">
        <drools:event-listeners>
            <value>org.drools.event.rule.DebugAgendaEventListener</value>
            
<value>org.drools.event.rule.DebugWorkingMemoryEventListener</value>
        </drools:event-listeners>
    </drools:stateful-knowledge-session>

d) creating batch execution results:

<drools:batch-execution name="batch1" ksession="#{ksession}"
        batch-xml-config="testbatch.xml"/>

e) creating query results for a query name:

<drools:query-results name="queries1" ksession="#{ksession3}" 
query-names="number_of_messages"/>
  
There is a number of new things we will be adding such as better flow 
integration (with annotations as you mentioned) as well as a possible 
alternative for pageflow using flow.

I will start blogging about this on seamframework.org as soon we have 
the code moved to a Seam3 branch.

Keep the ideas coming and thanks for any comments :)

Thanks.
Tihomir


Edson Tirelli wrote:
>
>    Tihomir will probably answer you, but he sent me this a few min ago:
>
> "
> <tsurdilo> ok just a checklist of what i have integrated into seam so 
> far and to see if/what im missing:
> <tsurdilo> 1. StatefulKnowledgeSession
> <tsurdilo> 2. StatelessKnowldegeSession
> <tsurdilo> 3. KnowledgeBase
> <tsurdilo> 4. support for templates
> <tsurdilo> 5. support for batch execution (on statefulknowledgesession)
> <tsurdilo> 6. support for query results (on statefulknowledgesession)
> <tsurdilo> 7. entry point support
> "
>
>    He is working on all the integration, so if you want anything 
> specific, check with him if it is not in there already, or I am sure 
> he is looking for new ideas on how to improve/add to what is in there.
>
>    []s
>    Edson
>
>
> 2009/8/26 Raphael Duarte Paiva <raphaeldpaiva at gmail.com 
> <mailto:raphaeldpaiva at gmail.com>>
>
>     Hello!
>
>     I've learned from thiswillwill post
>     <http://blog.athico.com/2009/06/seam-drools-integration.html> that
>     there will be Drools Flow support in Seam. My team chose to use
>     JBPM instead of Drools Flow because of the poor integration
>     between Drools Flow and Seam.
>
>     I'd like to know exactly what level of integration you guys are
>     planning to implement. Will there be features like process
>     persistence managing and Annotation-based management (Like
>     @StartTask and the like) ? Is there any guesses on how far in the
>     future this integration is?
>
>     Thanks in advance! 
>
>     -- 
>     Abraços
>     Raphael Duarte Paiva
>     Graduando em Ciência da Computação
>
>     "For millions of years, mankind lived just like the animals. Then
>     something happened which unleashed the power of our imagination.
>     We learned to talk [...]" - Stephen Hawking, 1993
>
>
>     _______________________________________________
>     rules-dev mailing list
>     rules-dev at lists.jboss.org <mailto:rules-dev at lists.jboss.org>
>     https://lists.jboss.org/mailman/listinfo/rules-dev
>
>
>
>
> -- 
>  Edson Tirelli
>  JBoss Drools Core Development
>  JBoss by Red Hat @ www.jboss.com <http://www.jboss.com>
> ------------------------------------------------------------------------
>
> _______________________________________________
> rules-dev mailing list
> rules-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-dev
>   



More information about the rules-dev mailing list