Editor’s note: The following includes thoughts and insight on business rules management and innovation from Corticon founder and Progress CTO, Dr. Mark Allen.
Hopefully you’ve seen our recent press announcement regarding the Progress Corticon BRMS v5.2 release, our first release as a part of Progress Software. This demonstrates that Progress is committed to continuing to enhance Corticon BRMS as the leading rules engine.
As part of this release, we’re adding a number of new features including:
Below is a deeper dive into some of these new elements and what they mean for our customers and partners. We hope you enjoy the new and improved Corticon offering. As always, I welcome your comments and ideas about how to continually improve Corticon BRMS.
Dr. Mark Allen
CTO, Decision Management
[NOTE: Special thanks to Mike Parish, Senior Solution Consultant, for the natural language rule examples.]
1. Natural language support
We’re taking quantum leap forward in business user control of business rules, and supercharges the features of web-based rule maintenance and mobility. This customer quote says it all: “Corticon's approach to natural language is amazingly simple, yet incredibly powerful. Unlike other BRMS products, it is remarkably easy to setup, and enables true business user control of complex decision logic.”
Since our first release in 2001, Corticon BRMS was recognized as “breakthrough” in tools for business analysts to author business rules. Corticon BRMS is still the only tool that allows for the definition of even the most complex business rules without programming, using a combination of an extended decision table metaphor (the rulesheet), a set of business terms (the Vocabulary and Operators) and an analyst-friendly expression language based upon OMG’s open standard OCL (object constraint language).
The issue is that, while OCL and the Corticon Rule Language is analyst-friendly, new rule modelers still require 2-3 days of training to become proficient. And, the OCL syntax is different from how business people naturally express their domain logic.
For example, an expression that calculates the average age of a skydiver could be written using the Corticon Rule Language as:
membersWhoSkydive.age à avg
While Corticon experts can easily interpret this, we recognize that most of the world would prefer a simpler expression, which Corticon now supports. You do this by mapping the formal Corticon Rule Language expression to the natural language expression inside Corticon Studio – an exercise that can be completed in minutes. Once this is done, you can view your rules in the natural language form, as something like:
The average age of a skydiver is…
And, using the new web-based rule maintenance feature and mobile support, you can generate a truly business-friendly, editable version of your rules in either a web or mobile client. Here is a screenshot of some natural language rules expressed in a web browser:
By contrast with Corticon’s natural language support, competitive products require the construction of a natural language semantic model, which is a complex and time-intensive task, requiring specialized linguistic skills. And, even when this model is created, the tools force you to express your rules using their rigid model, which is often quite different from the way that you want to express your rules. By contrast, Corticon allows you to express your natural language rules using the ideal expression that you choose.
2. High-performance batch processor
In prior releases, if you wanted to perform a batch process to execute your decision service against a pre-defined relational dataset, you had two options: (1) use the optional Enterprise Data Connector (EDC); or (2) build your own batch processor. While EDC is quite easy to use, it is not efficient for batch processing (it is architected to efficiently handle OLTP processing, not batch processing).
Thus, at the request of one of our customers, we build the high-performance batch processor. This simple-to-use utility allows you to take full advantage of the maximum processing power of your hardware to perform batch operations, including built in multi-threading and bus-loading. In our testing, this reduced the processing time of a X million record batch operation from about XX seconds using EDC to YY seconds using the new high-performance batch processor.
3. RPM solution integration
Last, we have invested in the integration of Corticon with other Progress RPM products. More specifically, we now support seamless web services integration between Corticon BRMS, Apama CEP and Savvion BPM. This allows some compelling new use cases.
With the Corticon-Apama CEP integration, we now support a real-time, event-based decisioning architecture, using Apama to monitor big data events, and make calls to Corticon when certain complex events occur. As an example, we can use Apama to monitor stock tickers to determine certain momentum events, then use Corticon to determine whether we should buy or sell the stock. Another example is to use Apama to monitor vital sign monitoring devices in a hospital, and when certain events occur (such as abnormal vitals), have Corticon determine the appropriate action (alert the nearest qualified physician).
With the Corticon-Savvion BPM integration, you can use Corticon to automate decision-making steps within a Savvion business processes. This allows for a greater degree of automation, agility and business control of business process applications.
To be clear, both Apama and Savvion provide basic, programmatic business rules support within their core products. Corticon just makes it far easier to define and manage business rules, providing greater visibility, agility and business control.
View all posts from The Progress Team on the Progress blog. Connect with us about all things application development and deployment, data integration and digital business.
Subscribe to get all the news, info and tutorials you need to build better business apps and sites
Copyright © 2019 Progress Software Corporation and/or its subsidiaries or affiliates.
All Rights Reserved.
Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries. See Trademarks for appropriate markings.