JRules, 2006) and JBoss Rules (Red Hat, 2007) are
some of the most important ones. Of course, you
have to make a decision about which product you
are going to include in your IT architecture. Each
product uses its own language to define business
rules, so a standardization problem arises. Although
there are several efforts to define a standard rules
language such as RuleML (Boley, 2005), SWRL
(Semantic Web Rule Language) (Horrocks, 2003) or
RIF (Rules Interchange Format) (Boley, 2005), these
languages are not implemented by commercial
products.
On the other hand, if business rules are going to
be used to implement software components in
companies, there should be a way to include them in
the software development lifecycle. For this
purpose, tools supporting the harvesting, definition
and implementation of business rules should be
provided, as well as their utilization in the
corresponding stages of the development lifecycle.
This work presents K-Site Rules, an industrial
effort to build a tool that covers these two main
problems. The first one, by helping in the
standardization of business rules representations by
providing automatic translations among SWRL and
the languages interpreted by commercial products.
The second one, providing a simple way to assure
configuration management in the business rules
development process and development tools, which
can be easily integrated within standard software
development lifecycle models.
The reminder of this paper is structured as
follows: Section 2 describes key issues relating the
integration of BRSs in the development cycle.
Section 3 describes the architecture of the K-Site
Rules solution, focused in assuring the independence
of the commercial BRS selected to implement
business rules. Section 4 includes some conclusions
extracted during the design and development of K-
Site Rules.
2 STAGES IN THE BUSINESS
RULES DEVELOPMENT
PROCESS
There exists a methodology to harvest and develop
rules called PROTEUS (Ross, 2006). The
development steps defined in K-Site Rules are a
simplification of the PROTEUS approach. Before
describing the methodology, some definitions must
be given according to the point of view considered
in K-Site Rules: a decision service is a set of atomic
business rules and actions (i.e.: operations included
in business objects); an atomic business rules is a
rule that can be expressed in one sentence.
Four basic steps are considered:
• Workflow definition
A flow must be defined among sets of atomic
rules, making easier to understand the
operations performed by the rule and
allowing the reuse of already defined atomic
rules and rulesets.
• Atomic rule definition
Definitions for atomic rules are supported in
different formats. In K-Site Rules an atomic
rule can be defined using natural language,
decision tables and decision trees. Concepts
and facts available to define rules are taken
from JAVA object models. Atomic business
rules are expressed in the standard SWRL
language.
• Decision service validation
Once atomic rules have been defined and
included in the decision service workflow
and this decision service is complete,
validation tasks must be done. The main goal
is to test if the functional behaviour of the
decision service is correct or not. In order to
perform this validation, a target rule engine
must be selected and K-Site Rules will
automatically translate the decision service to
the selected engine, performing predefined
validations. Mechanisms to provide data for
these validations are, of course, supported by
the tool.
• Decision service publication
A version control system is also integrated in
K-Site Rules, to manage different versions of
business rules and also to publish or
deploying rule definitions.
The PROTEUS methodology considers an initial
phase to build the business model for the
organization. In a first version of K-Site Rules, this
business model is inherited from the organization, so
valid concepts and facts are those already defined in
the target organization and included in some kind of
JAVA business objects repository. Nowadays,
organizations are taking the first steps to define
ontologies to act as some kind of dictionaries to
compile business knowledge. The ability to
represent this business knowledge using ontologies
is also being considered in the development of K-
Site Rules. This is the reason to choose SWRL as the
language to build standard representations of
business rules.
K-SITE RULES - Integrating Business Rules in the Mainstream Software Engineering Practice
447