Skip to main content

Rule Engines

Posted by daniel on August 24, 2004 at 5:16 AM PDT

A series on Rule Engines and Declarative Programming

N. Alex Rupp has launched his new column Ruling Out. Each article should "explore two new aspects of rule engine technology for the Java platform. I'll compare open source Java rule engines, supply you with tips on declarative programming strategies and tactics, walk you through examples on how to integrate the new standard Java rule engine API (JSR-94) with your existing applications and frameworks, discuss emerging business rule language standards and even show you how to write your own. I'll show you how to use rules to write intelligent agents, drive workflow systems, incorporate rules into your existing enterprise applications, and all manner of other fun topics."

Stephen Kelvin's debut post leads off
today's Weblogs. In Big Severe Logging with Ascii Art he writes about "A little Java 2D can give your log messages much bigger visibility. Or find yourself your own excuse to have some fun with ascii art graphics using Java 2D."

Chet Haase asks what you would like to see in future posts. Chet's last two blogs were in depth posts jam packed with info.
Joshua Marinacci blogs about Unleashing the Mini app.

Have you thought of the implications of serialization? In today's Forums, Ron Hitchens writes "This one probably has the most bold type of any of item -- it warns of all manner of unpleasant side effects of making a class serializable. Were you aware of all these issues (brittle binary encoding, security, testing, impact on inheritance, constructor constraints)? When making classes serializable do you consider the costs of maintaining and evolving that class?"

HLovat writes about Documenting thread safety saying "I must admit that I only document thread safe classes and take it as read that if it doesn't say it is thread safe then it isn't."

Also in Java Today
, when you read specs, what kind of a person are you? Mark Pilgrim says that there are two real and one mythical possibility. You may "read specs with a fine-toothed comb, looking for loopholes, oversights, or simple typos. Then they write code that is meticulously spec-compliant, but useless." On the other hand you may "first work from examples, and ship code [without reading the spec], and get yelled at." The third type, if it existed, would consist of people "read specs closely, write code, and then thoroughly test it against the accompanying test suite before shipping their product. Angels do not actually exist, but they are a useful fiction to make spec writers to feel better about themselves." Be warned about the language used for the first type and head to an essay on Why specs matter.

Fresh from writing the book "Version Control with Subversion", Brian Fitzpatrick extracts As similar as Subversion may feel to CVS, Brian writes "Subversion has some features that CVS either lacks or offers differently; plus, there's the need to unlearn some of the bad habits that CVS has instilled in you."

In Projects and Communities, the JavaDesktop homepage points to Scott Delap's blog on finding Swing threading mistakes. He uses a small RepaintManager subclass to check which thread is executing the code.

Learn about what's new and cool in the J2ME Wireless Toolkit 2.2, and get questions answered in this online chat with three key members of the Toolkit team. JavaLive chat August 24. 11:00 A.M. PDT/6:00 P.M. GMT.

In today's News Headlines

Registered users can submit news items for the href=""> News Page using
our news submission
. All submissions go through an editorial review before being posted to the site. You can also subscribe to
News RSS feed

Current and upcoming
Java Events

Registered users can submit event listings for the href=""> Events Page using our href=""> events submission
form. All submissions go through an editorial review before being
posted to the site.

Archives and Subscriptions: This blog is delivered weekdays as the
Today RSS feed
. Also, once this page
is no longer featured as the front page of
it will be archived along with other past issues in the href=""> Archive.