SOA with OpenRules®
Service-oriented architecture with OpenRules-based decision services
OpenRules was designed to be a "good citizen" of the modern service-oriented world. The following schema represents a typical Service-Oriented Architecture (SOA) with rules-based decision services:
SOA integrates a Business Process Management (BPM) system with a BRMS system such as OpenRules considering its rules-based Decision Services as another type of loosely coupled services. When an event controlled by a rule occurs, BPM engine invokes the associated rules-based service to make application specific decisions. These rule services usually receive clearly specified input/output objects and a reference to the business rule sets to be examined during service execution. At run-time, the rule service executes a rule engine passing to it input/output objects and rule sets from a Business Rules Repository.
To manage the rule repository, different BRMS systems provide tools for Rule Authoring and Maintenance, Rule Project Management, and Integration. A good BRMS presents the business logic in the form of business rules that are intuitive for business users, and can be easily maintained by them through a friendly GUI.
Most organizations initially represent their business rules using MS Excel and/or MS Word. Then they select a BRMS system that in most cases provides an Excel-like graphical tool for Rules Management. In contrast to the most commercial BRMS system, OpenRules recommends using Excel itself as the ultimate Rule Management tool for business analysts. Alternatively you can use OpenOffice or Google Spreadsheets. To make this happen, OpenRules integrate Excel with a set of Open Source tools to support both business and technical people during BR harvesting, automation, testing, and integration. For Rule Project management we recommend using a free Open Source Eclipse, the de-facto standard integrated development environment with plug-ins that support business terms, rules, forms, and processes presented in Excel tables.
Along with Rules-based decision services OpenRules also support Constraint-based decision services that utilizes OpenRules Rule Solver.
OpenRules allows you to develop complex Web applications without being an expert in various Web development techniques. Using the commonly known Excel interface, you can define your business logic in a form of Excel-based business rules and make them available as fine-grained Web services. Then, you may define your presentation logic using Excel-based web forms with associated interaction rules. Being deployed as a presentation-oriented Web application, it will invoke the related rule services whenever necessary. Frequently, such a service-oriented approach to web application development also involves a workflow engine that uses a publish/subscribe paradigm for automatic invocation of different web services.