Deploying rules-based applications and services
OpenRules-based applications can be deployed using the following approaches:
OpenRules can be easily embedded in any Java application. At the same time, it allows you to develop Web applications with complex rules-based logic without forcing you to become an expert in various Web development techniques. Using the commonly known Excel interface, you can define your business logic in the form of Excel-based business rules and make them available as fine-grained Web services. You also 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.
OpenRules allows you to incorporate the business rules represented in an Excel-based rules repository into any Java application. Using an OpenRulesEngine API, a Java application can invoke a rule engine to execute different business rules and receive the results back through Java objects that were passed to the engine as parameters. The sample project HelloJava demonstrates how to invoke OpenRulesEngine from a stand-alone Java program. The sample project HelloJSP demonstrates how to invoke OpenRulesEngine from a JSP-based web application. In general, with OpenRulesEngine extracted business logic remains a natural extension of a Java application: business rules can be invoked similar to regular Java methods.
A service-oriented Web application implements the endpoint of a fine-grained Web service. If your system is based on a Service-oriented architecture, you will probably prefer to treat business rules as a special type of loosely coupled web services that support your decision making processes. We will use the term "Rule Service" for business rules deployed as a web service. With OpenRules you define and maintain your business rules using a combination of Excel, Java, and Eclipse. You may test your rules as a stand-alone application or execute them locally using a simple Java API. However, when you are ready to integrate your business rules into an enterprise level application, OpenRules provides a "push-button" mechanism for deployment of business rules as Web Services. The sample project HelloWS demonstrates how to deploy an OpenRules-based application as a web services. Two related sample projects HelloWSJavaClient and HelloWSExcelClient demonstrate how to execute a web service from a Java-based or MS Office-based client.
Presentation-oriented Web applications usually generate dynamic Web pages containing various types of markup language (HTML, XML, and so on) in response to requests coming from an Internet Browser. Among the most popular Web techniques for web application development with Java are Java Servlets, Struts, and application frameworks such as Spring. All these techniques use Java programming language to dynamically process requests and construct responses in a form text-based markup such as HTML or XML. All these techniques are oriented to experienced software developers. This seriously limits the participation of business analysts in the design and maintenance of business interfaces.
OpenRules can be easily integrated with any of these techniques using its Java API. However, OpenRules provides its own straight-forward mechanism for web application development without the involvement of "heavy" Java artillery. Being functionally similar to the JSP technology, OpenRules provide a much more intuitive and simplified way to create dynamic web content. Creators of intelligent web interfaces do not have to know HTML, JScript or even Java. They will use only a commonly known Excel interface. A non-technical user can define complex web form layouts and the associated interaction logic in simple Excel tables. OpenRules Forms presented in MS Excel spreadsheets are automatically translated into HTML pages without limitation on the expressiveness of HTML. A web designer can use the power of decision tables to define complex relationships between fields inside web pages and/or between different pages. She can easily add standard or custom Excel-based validators to check user input and inform a user about mistakes. Based on user input and previously entered information, the forms content and presentation sequence can be changed dynamically during the interaction process.
Web applications created with OpenRules can be deployed on any Java Application Server such as:
IBM WebSphere Application Server or WPS
BEA WebLogic Server
The standard sample projects are tuned to be deployed on Apache Tomcat. Sample projects such as HelloJSP, HelloWebSphere, HelloWebLogic, HelloForms, HelloWS, LoanWeb, StudentLoan, and HealthCare2 demonstrate how to address different Web application configuration problems. They are all included in the standard OpenRules installation and are accompanied by the proper readme-files. Detailed descriptions of several additional web applications are available through the following links:
Configuration details specific to different web servers are described in the User's Guide - click here. More examples with step-by-step instructions are available though OpenRules Inside Track program.