irServer - High Performance Business Rule Engine
irServer is the central nervous system of InRule. It provides services for the following
functions:
- Catalog Management
- State Management
- Performance Monitoring
- Database Access
|
- Run-time execution
- Message Queue Interaction
- Email & Alert Messaging
|
Variable Rule Execution Fire Modes
Rule Execution Modes
Depending on your needs, you may want to specify the order for the firing of rules
and rule sets.
InRule supports three execution modes where you can tell the engine to fire rules
in the manner it deems the most appropriate or to fire rules in the order you specify.
Available as a Web Service
InRule provides the option of implementing a service-based component of the rule
engine, called the rule service. The rule service utilizes the rules catalog
and externalizes critical business functions to consuming applications. It can be
invoked via a Web Service call or via a message queue where rule
sets and application data can be cached for high-performance scenarios.
The SDK's rule engine connection object allows applications to seamlessly choose
the connection option they prefer (e.g. asynchronous/synchronous message queue or
Web Service). The service can be implemented in a fault-tolerant, scalable architecture
utilizing network load-balancing techniques. In a given environment, multiple rule
engine services can be run in parallel to increase throughput and performance of
the calling applications.
irServer for the Desktop
irServer for the Desktop enables organizations to license InRule’s rule engine
for local rule execution. When the desktop connects to the server, local rules are
updated to reflect the latest server changes. irServer for the Desktop delivers
all the capabilities available for server rule execution, but with pricing that
enables cost-effective deployment across hundreds or thousands of desktops or laptops.
Highly-optimized XML Document Object Model (DOM)
One of the most expensive processes for service-based processing is the time it
takes to serialize and deserialize an XML document during inter-process communication.
For this reason, InRule utilizes a highly efficient XML DOM to load a transaction
into the rule engine for processing. Depending on the XML document, InRule's proprietary
XML DOM is in some cases 10 times faster than traditional DOMs such as MS XML for
updating and retrieving values.