Account Links: Cart | Register | Log In

Skip to content

Back to classroom courses >

JB451 JBoss Rules

Course Outline

Note: Technical content subject to change without notice. Significant changes in course content will generally be available in posted outlines at least two months prior to being implemented in scheduled courses, to allow enrolled students adequate prep time. Reload this page regularly to insure up-to-date information.

Course content

  1. Intro to JBoss Drools This module covers the background and history of rule engines, and what a rule and rule engine actually is, and what they are typically used for. The importance of declarative programming will be emphasized. This module also covers some core concepts such as pattern matching and forward chaining, and provides a quick overview of JBoss Drool features.
  2. he Drools Rule Language This module provides a fairly detailed introduction to the Drools Rule Language, including constraints, bindings, conditional elements, etc. This module also includes a discussion on the Drool API. A short lab is included that will provide experience in authoring and executing a rule, which will also show off the Drools IDE.
  3. Domain Specific Languages After this module students will be familiar with both domain specific languages which are alternative ways of capturing rules. A lab similar to the first lab will be performed to get comfortable with creating DSLs.
  4. Rule formats: Decision Tables After this module students will be familiar with decision tables which are yet another way of capturing rules. A lab similar to the first two lab will be performed to provide familiarity with Decision Tables.
  5. BRMS This module introduces the Business Rules Management System (BRMS), a combination of a rule repository and a web GUI for authoring, importing, managing, and deploying rules. The module concludes with a lab that created rules using the BRMS Guided Rule Editor.
  6. The RETE Algorithm This module covers core concepts of a forward chaining engine. This will include an explanation of a basic non scalable inferencing algorithm (linear), before introducing the RETE algorithm. It will discuss how and when a RETE network is built, and how facts propagate through the network resulting in rules being activated. A lab will be performed to make some of the concepts more concrete.
  7. Advanced Rule Language This module covers advanced features of the Drools Rule Language, including additional conditional elements (from, collect, and accumulate), the use of the MVEL dialect, etc.
  8. Execution Control This module discusses several strategies for control the execution of rules, including the use of salience, agenda groups, and control facts.
  9. Ruleflow This module discusses an important strategy for control the execution of rules, namely ruleflow. With ruleflow, the rule author can sequence the execution of groups of rules using a graphical design tool. A lab will be performed that demonstrates the use of ruleflow.
  10. Performance and Debugging This module reviews several "best practices" for authoring rules, particularly when performance is a concern. This module also introduces the Drool IDE debugger. demonstrates the use of ruleflow.

Links for this sub-section:

Related Links