Wednesday, September 17, 2008

Proprietary innovation - where has it gone?

Not that I miss it, but I still wonder after the first day of JavaZone 08. Most, if not all, sessions presenting something innovative was open source based projects or developers presenting new ideas.
I think this generally is a healthy development but is commercial Java Vendors now only implementing JSR's, and rely on the open source community to come up with real innovations. Well, partly, they are sponsoring and involving in open source projects, but my observations from the first day of JavaZone is still that the really interesting things going on is driven by independent developers. Adobe Flex seems to be the only exception, but that is a good one though as it is very innovative it is production ready and pretty useful too.

2 sessions really got me today: Richard Öbergs Qi4j and Anders Norås' presentation of Better Domain Driven Design
Both gave new impulses and ideas on how Domain Driven Design can be further improved. As always Ôberg delivers a bit of controversy and noncomprimising radically new thoughts. Qi4j offers a Composite Object framework utilizing Annotations and Dynamic proxies that enables composition of objects (not classes).
The framework is initself a very good idea, but unfortunalety Öberg could not recommend using it in conjunction with frameworks like Spring although some connectors exists.
Any framework must have (real good) capabilities of coexistence and beeing able to cooperate with other frameworks in all but very small systems.
I am also a little worried over deep stacks of dynamic proxies, which will have performance implications and possible obfuscating stacktraces (although Öberg said these would be removed from Exception stack traces), but these things tends to pop out anyway.

Anyway I will keep an eye on what's happening with Qi4j but I am afraid the gap from the currently widely used frameworks is too big.

Anders Norås presented a similar, but much simpler approach to the same problem domain. By using Guice and ordinary Java Generics he demonstrated much of the same capabilities of extracting non-domain-code into separate classes. I would give his approach a better chance of getting foothold, at least in the near future. On the other hand this approach did not provide as many goodies as Qi4j, e.g. the visualizer and elegant UnitOfWork management.

Both approaches provides innovating ideas to the Java community, they are typesafe and supports refactoring. If Arjen Poutsma, that also speaks at the confence, together with the other two could come up with intelligent ways of making these ideas and technologies available together they will provide even more value. It is seldom a choice not to include one or more of other widely used frameworks in projects today.

I had to go home, before the real fun starts, as I must be able to deliver the car for repair tomorrow at 06:30 before I return to day 2 of JavaZone 08. No Cafè Con Bar for me this year.

No comments: