Marc, himself, his blogs, and you reading them.

July 07, 2004
Time to blog

Yesterday I stumbled accross an enteresting read about time in general by drifting off after learning about some DST problem with cvs on windows. Actually drifting all the way up to adding a title to the eternally growing lookslikeanicereadlist.

In any case, looks like my recent time investment hasn't really left that much time to blogging.

Actually I'm in the middle of a big framework-selection, combination, adaption and watchamacallition for a long time customer of ours. The work needs to stretch all the way from selecting, customizing, simplifying, normalizing as well as training and supporting their developers up to co-working on some projects. A refreshing long-term focus after some years of hopping in and out some random doors (which keeps being fun, but is somewhat limited by this new sustain)

In any case the work is leading me along the lines of Spring and AspectJ (of which I blogged before recently) and their likes. (coincidentially Sylvain seems to be looking around in similar regions)

Some of my random findings to date (no other order then the association driven popup in my brain

  • Spring is refreshingly simple to start off with and resonates big time with how I've largely seen CBE and OOP mingle and match. It's fun to recognise own old ideas and findings (even if you modestly have to add you lacked the extra vision to actually build something from them) in an very well done implementation. A good example of 'no simpler then the simplest you possibly can' (which I find the far nicer variant of the dreadful 'less is more')
  • The Spring community seems to be lively and busily working on the next round of big features. (and was quite responsive in smashing the first reported bug)
  • First of all I'm still somewhat struglling with an optimal choice for persistence. The required flexibility in combination with the Spring's great JdbcSupport kinda makes me doubth if Hibernate should be added to the mix? Spring's RowMapper's are very easy to write and use and seem to leave more under our own control.
  • On the long term I'm still missing some support for mixin' classloaders in Spring's appcontext mix. Maybe what Merlin (hm, like the new skin!) offers is just the perfect match. Specially the maven-repo reuse there is a huge selling point. Although a full combination of both frameworks seems a bit of an overkill at the moment, possibly by then we can find an elegant way to cut out just what we need from there.
  • On the mid term we'll also have to get into the distribution and remoting, possibly by jotting in some axis and/or activemq. And my mind is silently growing some common development approach for both Web and FatGui apps by abstracting InteractionScreens (JForm or Cform) and UseCases (controllers or flowscripts).
  • AspectJ will be kept out of sight of the actual app developers until a lot more water has run under the bridge. However, I realize how this is another one of these 'life-changing-thingies' not to be stopped. To be compared with refactoring IDE's (looking at how they changed my life over vim, while none of the previous IDE incarnations pulled that off) and on a larger scale (understandable to non developer-geeks) the emergence of the Internet over running of to the library. That kind of impact.

Yeah, still some road to go.

# Posted by mpo at 04:18 PM | TrackBack
Comments

You should really take a look at AspectWerkz: contrarily to AspectJ, this is not an extension to the language. Aspects are written in plain old Java, and the only new thing to learn - beside understanding AOP concepts - is a simple syntax to define pointcuts.

Also, since it works at the bytecode level, AspectWerkz allows you to inject aspects in already compiled libraries, without interfering in the build process of that library. Either dynamically trhough a special classloader, or either statically with a .class preprocessor.

Posted by: Sylvain Wallez at July 8, 2004 10:07 AM
Post a comment









Remember personal info?





Please enter the security code you see here