A very good question, and one I think very important to the Drools community. There is no doubt in my mind that Drools provides significant functionality that can address this question, but it is up to us as the user community to come up with specific use cases/stories that challenge the current framework and work out how to best use the functionality provided.

Looking at your options I would say that 2) is getting close, although for very complex organizations, there is no reason why you can't have multiple repositories. This may be more for organizational/political reasons. I think a run time rule agent does not care from which repository it gets it's rules, it is just a URL. 

Option 1 - well it is just not scalable and will suffer from the usual infrastructure/deployment issues. There is no way I would attempt this. 

The key question is how you structure your packages in whatever repository. Let's assume 80% of rules are common across all BUs, but each BU has variants.  Yes you could have a single ruleset/package with the variants included, but I suspect this will get sticky in time, particularly with changes and date effective rules.

So can you split this across multiple rulesets, again difficult for long term management. One of the initial issues is how to share a common fact model across multiple packages in the BRMS - it's on the do list for BRMS/Guvnor, and how do you manage versions across multiple versions!

As to your option 3, I don't think it will work. Nice in theory but will end up as a bottleneck. BU's need to control their rules and provide a capability to deliver functionality to market within their timeframes. Again a difficult problem and you need to analyze the scenarios, who needs to do what when.

Rather than ask a generic question, I would suggest you consider your problem space and post some concrete use cases that will engage the broader community. I'm going to be looking at this problem area closely in the near future and it would be good to hear from others of the specific problems that the dev community can focus on to help solve our problems.


2009/8/11 Sumant Kumar <amulboy@yahoo.com>
Can any body suggest the way to oraganize and share rules for mutiple business lines with each having multiple apps
Basically I am looking at Business Rule management , development and deployment best practices across the organization taking into consideration all Business Units that needs Rule based apps 


option 1) Have one run time deployment (Expert engine) for all these apps with large memory.

option 2) Have one BRMS/Repository for all the rules in the enterprise across the business lines and then a sperate run-time for each app/business unit ?

If we assign a package for entire rules in a Business unit or BU_App can we have permissions around package so that certain project teams can work on those packages but not others.

Option 3) Should one team be responsible for all the rules in an enterprise ( across BUs ) and provide decision services to the corresponding apps in each BU ?


Any references on web is great!!


_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users