Rules Engine
Efficient Processing
The Rules Engine is the highly reliable, highly scalable core component of Portellus' Business Rules Management System (BRMS) that is able to evaluating hundreds of thousands of rules per second. Relying on the robust J2EE architecture, it is capable of processing thousands of requests simultaneously using multi-threading capable of supporting 24x7 operations.
Use of a Stateless Server
The Portellus Rules Engine is a stateless server receiving rule evaluation requests and responding with the decisioning results. Given that it is stateless, the Rules Engine can scale easily by simply adding processors and/or new servers. Adding servers can be accomplished without experiencing any system downtime. Servers can also be taken down for maintenance without impacting system availability or performance.
Caching Rules
Architecturally, the Rules Engine is a J2EE application supporting JDK 1.4+ that provides a Web Service interface through an XML HTTP post. When a request is received, the Rules Engine first checks to see if the version that the request is based on is already cached locally in memory. If not, the Rules Engine reads the rule definitions and then caches them into memory. By using this load-on-demand architecture, the Portellus Rules Engine allows for very efficient memory utilization and even parallel execution against different rule versions. The size and the strategy of the cache can be easily re-configured and customized.
The Rules Engine also updates individual rules within a version, greatly improving the performance of the rule development process by reducing the number of rules to reload. To further clarify, the cache spans across multiple requests and it's not cleared after a request is done. During the redeployment of a rule version, only the version being re-deployed is revoked from the cache.
The Rules Engine supports calls to custom or legacy Java code from within rules via a simple plug-in architecture. By doing so, legacy code can still be utilized until all Business Logic is migrated over to a business analyst-friendly format of Portellus's BRMS using the rules editor. Another way to invoke external decisioning is by invoking external stored procedures.
More information:
Next Steps: