For some reason, the insights raised by Brandon kept on rolling in my mind – may be because I was part of the JCP Exec Committee few years ago. Anyway, may be Ajax Java Beans (AJB) is the way to go. Let me explain:
AJB = network protocols + algorithmics + patterns
There are at least two ways of handling requests (am saying requests in a very general way) either redo the whole stuff or deal thru network protocols.
For example routers are very dumb and single devices; they have no clue how to collaborate; but they know network protocols that do ! So while routers just sit there and send packets to places based on an internal table, network protocols embed the intelligence to collect context, analyze the state of the network and finally update the tables that the routers refer to!
Same way, either the application can handle the whole logic behind a request or it can respond to network protocols that embed the context. Additionally the network protocols can also encompass primitives like algorithmics and patterns. Then the application becomes a protocols state machine, domain state machine and a complex event responder. May be JCP should concentrate on evolving the AJAX protocol state by adding more enterprise level semantics – transactions, security, versioning, … which is nothing but AJB
AJB and the Disruptive Technology model (as advocated by Clayton Christensen)
As a rough estimate, I think 10 % of the apps need all the advanced capabilities of J2EE in it’s fullest form; the bottom 50% of the apps really do not need any of the J2EE stuff and the middle 40% require some form of J2EE capabilities. This is a classical disruptive technology spectrum – from “non-consumption” to “under-served market” to the “power-users”.
Interpolating further, the bottom 50% of the apps would be using AJAX now and the top 10% would use J2EE extensively. The function of AJB would be to address the middle 40% apps and add the features required by them. In the process AJB can also enrich the bottom 50% as well. In some sense, methinks, this might be the eventual locus and trajectory anyway – what AJB can do is to accelerate the evolution and be the catalyst to shape it …
In the words of the disruptive technology domain Don’t ask customers to adopt new priorities and behaviors, but give them simpler more effective ways