Fog Creek Software
Discussion Board




business logic

For business logic that's constantly changing, is using XML and/or a database the best way to go?

Alex Thorul
Tuesday, September 02, 2003

Who is going to be making the changes? The developers or your users?

Patrik
Tuesday, September 02, 2003

>Who is going to be making the changes? The developers or your users?<

Unknown at this time, I'm just trying to think ahead.

Alex Thorul
Tuesday, September 02, 2003

Nah, flat files are the way forward...

Tubbs
Tuesday, September 02, 2003

I guess in trying to deal with always changing business logic you'll have to come up with some specific examples. In real life any one of the technologies you mentioned may be used as long as the situation suits.

Li-fan Chen
Tuesday, September 02, 2003

Data-driven rule engines may be useful in such a situation.

I've built such a rule engine for developers using Cocoa from Objective-C on Mac OS X.  It's called BDRuleEngine http://bdistributed.com/Projects/BDRuleEngine/ and it's Open Source under a BSD license.

It's modeled on the rule engine used by the WebObjects http://www.webobjects.com/ Direct to Web, Direct to Java Client, and Direct to Web Services systems.  (WebObjects is the 100% Java J2EE-interoperable descendent of the first web application server, and still has plenty of features plain J2EE and .NET don't match.)

BDRuleEngine relies heavily on the object-introspection features available in Objective-C, and the WebObjects rule engine relies on the object-introspection features available in Java.  A straight port to another architecture might not be feasible.  But you might be able to create something similar in spirit fairly easily if you're using a dynamic enough language.

Chris Hanson
Tuesday, September 02, 2003

"The more things change the more they stay the same". Check out Prolog.

Matthew Lock
Wednesday, September 03, 2003

If business logic rules are constantly changing, there are two tools that are appropriate for maintaining them:

1. A contract that specifies time and materials billing at a high hourly rate for any changes outside of the original project scope.

2. A clue by four.

Clay Dowling
Wednesday, September 03, 2003

There are sometimes legitimate reasons why business logic might be "constantly changing".  In a sufficiently large enterprise, one department changing one business rule per year might still result in dozens of rule changes per month.  This is especially true if the business rules in question relate to internal matters, rather than customer-facing ones.

That having been said, if you are an outside agency, certainly there's money to be made in charging by the change -- so long as the TCO doesn't go any higher than what it would cost the company to have you killed.  :)

Phillip J. Eby
Wednesday, September 03, 2003

*  Recent Topics

*  Fog Creek Home