Photo
Advanced Enterprise Middleware

 

Business Rule Beans Next Generation (BRBeans NextGen)

The Business Rule Beans Next Generation (BRBeans NextGen) project aims to evolve the capabilities of existing BRBeans by adding a variety of new features and tools.

Introduction

BRBeans does a good job of externalizing simple business logic. But BRBeans has several areas ripe for improvement. The task of logic authoring is non-intuitive for the business user (absent an installation provided home-grown UI) and custom logic may not be expressible without writing new RuleImplementors (Java code). These and other interests prompted the effort to extend and revise the BRBeans model.

Outline

The BRBeans NextGen project is focused on the following:
  • language;
  • externalized representation;
  • resources;
  • authoring;
  • code generation;
  • application connectivity;
  • runtime and deployment.

Language

The basic premise of our work is that it's possible to create a rules-like system that adapts to the skills level of the audience at hand. As a first approximation, we think there are three levels with respect to logic authoring ability, from most skilled to least: programmer, bridge person (aka hybrid person, or ...), and business user. We are developing a rules authoring language that targets the latter two skills levels. Among several, one issue under investigation is the trade-off between language expressiveness and language understandability by persons having little or no programming skills.

Externalized Representation

We think that the persistent form of authored rules should not be hidden by some proprietary mechanism. It is our mantra to persist authored rules and other artifacts in XML/XMI representation, so that tools other than the ones we develop will be able to easily access and understand the data.

Resources

In order to author meaningful and useful rules, enterprise objects will likely need to be employed. One challenge of this project is how to import enterprise objects (programmer artifacts) into the rules system in a way that is both safe and most natural for the non-programmer rule authoring individual.

Authoring

Creating an easy to use, hard to make a mistake rule authoring tool is another ambitious endeavor we've embarked upon in this project. Our tools have support for navigating resources, creating rules sets and rules in a "fool-proof" manner (target: bridge person), and for creating rule templates (target: business user).

Code Generation

Utilizing authored rules is next. One possibility is to write an interpreter that interprets our language at runtime. We've instead chosen to create a pluggable code generation component that transforms the persistent form of authored rules into executable form. At present we target ABLE and Java as executable forms.

Application Connectivity

We've devised a registry of externalized XML/XMI information that facilitates application use of deployed rules. The registry aides in connecting applications to rules in a type-safe manner, allows for flexibility in selection of rules to employ, and provides the ability to determine which applications are using which rules. The externalized information can be used to understand application dependencies on and contracts with the rules system. It can further be used to create connectivity points (e.g., Java code) for insertion into application programs.

Deployment and Runtime

The results of rule authoring and application registration are deployed to our runtime. Applications interact with our runtime via the application connectivity mechanism to fire rules and receive results. Changes to the rules and selectivity of rules can be made in real time without restarting either the dependent applications or our runtime.

Implementation

A prototype of BRBeans NextGen has been implemented as a collection of WSAD plugins (tooling) plus BRBeans "classic" (runtime). All parts are presently working, and a refinement process is now under way.

Availability

Send availability inquiries to the contact person listed below.

Core Prototype Team

Hoi Chan, Lou Degenaro, Judah Diament, Achille Fokoue-Nkoutche, Isabelle Rouvellou, and Sam Weber (Research); Charles Kerr, Mark Linehan, and Arvind Rajpurohit (AIM, Software Group).

Advanced Interface Team

Sharon Greene, Paul Matchen, and Doug Reicken (Research);

Contributors

Joe Bigus, (Research); Liz Dettman, Jon Peterson, Scott Waldner (AIM, Software Group);

Contact

For further information on BRBeans NextGen, send your e-mail to Lou Degenaro: degenaro@us.ibm.com.