An Exploration of Business Rules Engines
Dr. Jamal Alsabbagh, firstname.lastname@example.org
From a software application development perspective, the state of the art is defined by object-oriented tools and methodologies. Using these tools and methodologies, developers can achieve the two principal goals of the OO methodology: high cohesion and low coupling. Largely, these goals are achievable because of the availability of commercial products that allow for the isolation of the user interface components and data access methods. Residing between these two, however, is the remainder of the code, and the heart of an application, which is often referred to, collectively, as its “business logic.” An application’s business logic encapsulates an organization’s business processes and practices. When business conditions change, so must the code that represents them. For most applications, changes such as these will dictate a change to the application code itself. Of course, these changes can be time-consuming and costly. Rules engines provide a tool for isolating an application’s business logic in much the same way as enabling technologies such as visual and data management tools have allowed for the isolation of graphical and data access components. The implementation of a rules engine can enhance the flexibility of an application by partitioning its business rules processing from the system logic in which it is contained ( in as much as what we think of as the “business logic” of an application includes both a system of rules and a platform of system logic). The purpose of this paper is to review the state-of-the-art of rules engines from a practitioner’s perspective, and to explore some of their related implementation considerations through the construction of a demonstration example.
Dunlap, Patrick; Reader, Quentin; and Ryan, Jeff, "An Exploration of Business Rules Engines" (2007). Technical Library. 26.