I made a small example, which I'd like to call "Liquor Store", using the Drools rule engine. I created a scenarion of a small store implementation that uses Drools to apply business rules.
For further details, check out the readme file that comes along with the example. It is available through my download site.
Sunday, August 14, 2005
Java on Wheels
When someone mentions the hottest new mobile, Internet-enabled, multimedia computational system, what comes to mind is the latest handheld, cell phone, or PDA device. But in the not-too-distant future, you might also think of . . . your car.Very cool! I like the idea of developing applications for my car...if I had car.
Siemens VDO Automotive, in conjunction with BMW, has enabled the BMW 7, 6, and 5 series of cars with its Top Level Architecture (TLA), a Java technology-based software platform that provides for the seamless addition and integration of location-based services, web services, and multimedia functionality throughout the vehicle's entire life cycle. And as a result, TLA offers Java platform developers an unexpected but explosive new niche for developing mobile, networked device applications for the car.
Monday, August 8, 2005
Set the rules with JSR 94
It's almost too easy to express your business logic as a spaghetti-code fiasco. The result is hard to test, hard to maintain, and hard to update. Rule engines offer an alternative: express your business logic as rules, outside of your Java code, in a format even the business side of the office can understand. Paul Browne uses the open source Drools framework to introduce the idea.
rating comment: Nice article which gives a good introduction to rule engines, their use and notion. I've checked out the drools implementation of
I'm not too happy about drools, cause I think the complexity, at least using drools, is only being pulled out of the code and put into an XML file. And now you have your code in two different files, which doesn't simplify things, it makes them worse! Okay you can use Java, Groovy or Phyton to define your rules in the XML file, but that won't reduce the complexity of implementing business logic. With drools, you cannot delegate the definition of rules to business experts, since they need to have programming experience.
There is one advantage though: You can change your business logic at runtime! Unfortunately that's the only one I see.
Saturday, August 6, 2005
Friday, August 5, 2005
A Conversation with Erich Gamma
- In Part I, Gamma gives his opinion on the appropriate ways to think about and use design patterns, and describes the difference between patterns libraries, such as GoF, and an Alexandrian pattern language.
- In Part II, Gamma discusses the importance of reusability, the risks of speculating, and the problem of frameworkitis.
- In Part III, Gamma discusses two design principles highlighted in the GoF book: program to an interface, not an implementation, and favor object composition over class inheritance.
- In Part IV, Gamma discusses how design patterns are problem solution pairs, how design patterns help you understand intent and tradeoffs, and how to become a better designer through practice.
Wednesday, August 3, 2005
Hints on Listeners
Therating comment: This article covers a lot of useful hints on listeners. Especially the thread-safty issue is one of the most dangerous sources of error, which I can definitely relate to. But personally I think the biggest problem is what the author calls "Lapsed listeners", cause if you don't deregister listeners, you'll certainly run into problems, especially if you have large Swing applications.Observer pattern , most often seen in Swing development, is also very useful for decoupling components in situations other than GUI applications. However, some common pitfalls with registering or invoking listeners exist. In this installment of Java theory and practice, Java therapist Brian Goetz offers some feel-good advice on how to be a good listener -- and how to be nice to your listeners, too.
Tuesday, August 2, 2005
Mobile SOA
This article describes how to implement SOA on mobile devices and shows how to implement a simple messaging application using mobile SOA design principles. It also points to some of the security implications and how to handle them. Furthermore it adds the ability for devices to become involved in atomic transactions. Transactions are vital in ensuring that all of the relevant resources that a system provides are coordinated and managed so that the overall state of the system remains consistent.Cool concept of connecting mobile applications to business services. I really like the RMI/Proxy stub generator and I'm definitely gonna check it out sometime if it's possible to use it with your own mobile gateway.
