2008/8/11 RMMM <[EMAIL PROTECTED]>: > I'm new to this kind of technology and trying to get some perspective. > I'm writing a software system for a business with about a half dozen > store locations. It's a system that will only be used internally and > (for the foreseeable future) have very low volume. It will just perform > a few basic services involving db access. > > I decided to use an asynchronous client server approach. I could just > write that from scatch, but I'm thinking, why reinvent the wheel? That's > what JMS is for and it has all the functionality that I'll probably ever > need. > > So my intention is to use JMS with, say, Apache ActiveMQ. (I'm using > plain old Java SE). My only worry is that it my be overkill and add > more complexity or overhead than necessary. > > Am I getting into more than I realize trying to use JMS? > > Is ActiveMQ a good choice? (as opposed to JBoss, Spring, ...)
ActiveMQ does seem to be the most popular and powerful open source message broker. FWIW Spring is a framework, not a messaging provider > So should I write a simple system from scratch, or go to the other extreme > and use JMS? > > Any advice/comments very much appreciated. I'd be tempted to hide the middleware from your application code; then use something like Camel's bean integration to integrate the 'messaging' into your business logic in a kinda invisible way - then you don't have to spend a while figuring out how to use the JMS APIs properly etc. http://activemq.apache.org/camel/bean-integration.html Then you can easily switch between different middleware technologies to suit your exact needs... http://activemq.apache.org/camel/components.html e.g. you can start with in-JVM messaging (SEDA)... http://activemq.apache.org/camel/seda.html then use ActiveMQ or JMS http://activemq.apache.org/camel/activemq.html http://activemq.apache.org/camel/jms.html then use hibernate/JPA using a database table / entity bean as a queue... http://activemq.apache.org/camel/hibernate.html http://activemq.apache.org/camel/jpa.html FWIW I've started hacking a little wiki page together describing this technique of hiding middleware APIs from your business logic... http://cwiki.apache.org/CAMEL/hiding-middleware.html -- James ------- http://macstrac.blogspot.com/ Open Source Integration http://open.iona.com