Brian's Waste of Time

Tue, 23 Aug 2005

The Java Love

Been talking about the wicked greatness that is Ruby a lot, time to give Java some lovin'. Java offers a few things that you can certainly do in Ruby, but for now are actually a lot easier in Java. Basically Ruby has the general cases for Java's special cases -- sometimes the optimization for the special cases works best. Let's jam to some SOA goodness!

The plan:

  1. ActiveMQ REST Connector with "Message Driven POJOs"
  2. Dojo Toolkit
  3. AspectJ
  4. OJB

Implement distributed Smalltalk style MVC:

  1. Push commands to a queue (using Dojo) as the controller -- queue is listened to by a Dr. Pojo which simply loads appropriate domain objects and operates on them.
  2. Use AspectJ to instrument them appropriate domain objects to post change notifications to appropriate topics using a standardized naming convention (Coarse notification variety, probably, will experiment)
  3. Subscribe to topics to register as change listeners on the model via Dojo and that REST api to ActiveMQ.
  4. Do the heavy lifting in Javascript in the browser -- woot!

Bennies include: Only state live in the app server is for the duration of whatever the command invoked, asynchronously, is operating on. All user-specific state can be stored in memory in the Javascript VM. 3rd party API for arbitrary alternate client is baked in. Problem domain for the application can be modeled solely in terms of the problem domain -- aspects handle any notifications needed. Etc.

1 writebacks [/src/java] permanent link