InRule's Software Development Kit (SDK) provides developers with the capability to easily integrate InRule into an end business application. Using irSDK, developers can choose from a variety of approaches to integrate InRule into their application development environment in the most suitable manner.
InRule's Extensible Model Makes InRule the Most Flexible Rule Authoring Environment
While other business rule management systems are often feature-rich but difficult to navigate, InRule’s deep functionality is coupled with a flexible interface. InRule provides out-of-the-box extensibility: irAuthor is built on an extensible framework so that developers can add, remove, or augment authoring functionality to create a custom authoring environment without extensive coding. For example, this allows the rule authoring environment to reflect industry-specific vocabulary and business-specific semantics so that business rules are more easily understood and shared across the business.
Extensions enable unique and varied functionality such as enforcing consistent naming standards, adding a spell check function, or allowing users to open and save rule applications directly against any data store.
Extensions are DLLs written by developers to extend irAuthor. With just a few lines of code, developers can:
The InRule Extension Exchange will enable licensed customers to share InRule Extensions.
If your business process requires a more integrated rule editing experience, custom authoring screens can easily be implemented with irSDK ®. These screens can be developed as an extension to an existing system with minimal effort through InRule's authoring API, resulting in a robust context specific rule-authoring interface. Authoring controls in Silverlight and Windows Presentation Foundation (WPF) enable you to embed InRule authoring controls in web and windows based applications.
InRule supports a host of state management and rule engine integration scenarios. Optimal Rule engine integration can be achieved by binding directly to an application's object model, an XML file, or a database. The Rules Engine Server provides additional information to the calling application in the form of Notifications, Validations, Execution Logs, and Events.
For applications that are executing in a server environment on the .NET platform, it is important to support the .NET runtime environment to its fullest extent. InRule returns a RuleEngineExecutionInfo object with every call to the rule engine and currently supports the following eight events:
In addition, the SDK RuleEngineConnection object provides simplified access to the rule engine whether it is in-process or running as a service. When accessing the rule engine as a service from the calling application, the connection object can specify to invoke the engine using a web service or message queue. The calling application can also specify what version of a rule application to use for a given transaction or batch run. Finally, detailed statistics information is provided for every execution of a ruleset including number of times a rule executed and the number of times a named rule evaluated to "true".
Full Programmatic Access to Repository Items provides users with the ability to manage accounts, security access, versions, and the check-in/check-out of rule applications. As rule applications are checked-out, modified, and checked-in, new versions are created and managed.