All posts
- Sort by:
- Date
- Title
- Likes
- Comments ▼
- Views
Iterating over Input Parameters - Pattern matching against working memory
Back to part 1. One of the cons of the "Iterating over Input Parameters - Pattern matching using parameter navigation" approach is that the definitions blocks can become quite lengthy and repetitive if you have many related rules. To overcome this you can "shred" your data and insert it into working memory. You now no longer write your rules against parameters but instead pattern match against working memory. The rules look something like this:
... [Continue Reading]
Tags:  business_rules_patterns |
Iterating over Input Parameters - Pattern matching using parameter navigation
Back to part 1. In this implementation we use BAL language constructs to directly pattern match against the collection that we can navigate to from the input parameter. The business rule looks something like this:
While the generated IRL looks like:
package test {
rule parameterRule {
property ilog.rules.business_name = "parameterRule";
property ilog.rules.package_name = "test";
when {
... [Continue Reading]
Tags:  business_rules_patterns |
Keeping it Simple
I had an interesting email exchange today with Adam Smolnik (who is working on a client project in Poland). He asked me to comment on the relative merits of the two data intialization patterns below:
1) In an "artificial" technical rule (clear and understandable, but involves creating an artificial rule for repackaging objects from OfferTemplate to Offer):
when {
IlrContext() from ?context;
ot : OfferTemplate();
}
then {
Offer... [Continue Reading]
Tags:  patterns jrules |
Are You Making a Decision or Detecting a Situation?
Increasingly I am being asked about the difference between using rules to implement decisions and using rules to detect situations . Sometimes people confuse or conflate the two but I believe the separation is valuable and you should try to preserve it in your architecture if possible. Here are some of the differences. Decisions: Predominantly stateless functions: given an input, they product an output Rules are predominantly used to validate and... [Continue Reading]
|
Rules SDK v8.0.1 Presentation |
Presentations Uploaded
I've just uploaded some old presentations. Some are interesting from an historical perspective (they show how the product has matured!) and some are still relevant today. Most are from various industry conferences. The presentations are accessible here: http://www.slideshare.net/dselman Enjoy! Dan Selman
|
WebSphere Operational Decision Management 7.5.0.3
I am pleased to announce WebSphere Operational Decision Management 7.5.0.3 (distributed) is now available for customers. Main Page: http://www-304.ibm.com/support/docview.wss?uid=swg21566951 Fix Pack Page: http://www-304.ibm.com/support/docview.wss?uid=swg24033658 Limitations Technote: http://www-304.ibm.com/support/docview.wss?uid=swg21614083 InfoCenter: http://pic.dhe.ibm.com/infocenter/dmanager/v7r5/index.jsp
Tags:  wodm |
Min/max from working memory and using custom collectors
In our ongoing series on JRules Patterns, Adam Smolnik suggested covering a pattern used to determine the minimum or maximum value in a class present in working memory. We then extend the pattern to show custom collectors and touch on some inference topics.
The domain object is extremely simple: an Order class with a single field, amount:
package test;
public class Order {
double amount;
public Order(double amount) {
this.amount =... [Continue Reading]
|
Creating an Instance
I had a question today from a colleague learning JRules: "How does a rule create an instance of a BOM type?"
The short answer is that you don't -- at least not directly. You need to create a factory method on one of your BOM classes using the BOM editor, verbalize the method, and then instantiate the type using B2X scripting. You can then return the type from the BOM method. Either the factory method can be made static or you need to put it on a... [Continue Reading]
Tags:  jrules |
Iterating over Input Input Parameters - Ruleflow
Back to part 1. I often see programmers implement iteration using a ruleflow and conditional guards.
The ruleflow contains a condition node, a guard and a ruleflow task with an initial action.
2 variables are required per loop, one to store the current index in the loop, one to store the current value (AddressType in this case).
The initial action for the ruleflow task uses the current index to set the current value.
The final action... [Continue Reading]
Tags:  business_rules_patterns |
IBM BPM 7.5 and Business Rules
Now that Impact is over and IBM BPM 7.5 has been officially announced I can talk a little more about its rules capabilities. If you want a general overview of IBM BPM 7.5 Sandy Kempsley has a nice write up here and you can watch Phil Gilbert here .
For the past few months I have been leading a small, but very dedicated, team that has been improving the consumability of core ILOG BRMS components/APIs and supporting the BPM team as they perform... [Continue Reading]
Tags:  bpm brms brms news |
WebSphere ILOG JRules 7.1.1.2 Trial released
A few weeks back v7.1.1.2 of WebSphere ILOG JRules was released. This updated release addresses an issue that prevents the installation of add-ons on top of Rule Studio when installed in a dedicated Eclipse IDE. This fix pack is for licensed users of JRules V7.0.x and V7.1.x. Follow these instructions to install V7.1.1.2.. To download your free 90-day trial, all you need to do is complete the short registration form, select your... [Continue Reading]
Tags:  brms business-rules rules-management jrules |
Building Systems of Interaction
One of the themes from Impact 2013 that excites me the most is IBM's drive towards helping companies, and above all developers, build Systems of Interaction. If you are not familiar with Systems of Interaction I suggest you spend a few minutes watching Jerry Cuomo's keynote from Impact. The Systems of Interaction part starts 4.41 minutes in. Systems of Interaction puts the customer at the center of application design, and... [Continue Reading]
|
Boston Customer Visit
Last week I visited our lab in Littleton, USA (about an hour West of Boston). I got to meet some colleagues that I will be working with over the next 12 months as well as meeting one of our major financial services customers. The customer is looking for guidance as they add major new capabilities (based on rules) to their customer relationship platform. I hope to work very closely with the customer to ensure that we meet or surpass their... [Continue Reading]
Tags:  celtics boston rules |
Redbook on ODM V8.0 performance tuning now available
Pierre-André Paumelle, Dan McGinnes and David Granshaw have just completed a Redbook covering performance tuning for ODM V8.0. This book offers advice on all aspects of performance, including hardware, architecture, authoring, quality of service, monitoring and tuning. The advice is based upon preferred practices and experience gained from real customer situations. The book is aimed at a wide ODM audience, including IBM employees and customers.... [Continue Reading]
Tags:  tuning odm performance |