EN

JB451 JBoss Rules

The JBoss Rules training class is targeted at middleware application developers and architects, with zero to moderate experience with rules technology, who want to use rules to implement their application business logic, and integrate the rules engine with their application.

Further to this, application architects or advanced developers looking to improve approaches to business logic management in their applications would also find this course of value - it also serves as an introduction to rule based technologies.

Course Description

The course covers JBoss Drools 4.0, including the various languages that can be used to author business rules, the Business Rule Management System, forward chaining and the RETE algorithm, advanced rule authoring, execution control, ruleflow, and performance considerations and debugging.

What you will learn:

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.

Track:

Part of The JBoss Enterprise Framework Platform curriculum, which includes:

Prerequisites:

Pre-requisite skills for this course are:

  • Basic Java competency
  • Some familiarity with Eclipse

Audience

JB451 JBoss Rules is targeted at middleware application developers, with zero to moderate experience with rule technology. Developers who need to use rule technologies to manage their applications business logic, and integrate the rule engine with their application would get value from this course. In addition, application architects or advanced developers looking to improve approaches to business logic management in their applications would also find this course of value - it also serves as an introduction to rule based technologies.

Class times:

  • Thursday through Friday
    • Start: 9:00am
    • End: 4:30 to 5:00pm (depending on class progress)