For the past twelve months, I have been involved with the Service Component Architecture (SCA) specifications and two of the open source SCA implementations.
I think the whole theme of the conference has been based mainly around Grid, with different parties trying to push their technology as the best fit for realising grid-based computing.
The first session I attended was by Ted Neward on the importance of message-based architecture. I was quite impressed with Ted's presentation and delivery style. Though, I thought Ted was trying to over-emphasise the superiority of message-based model over an RPC-based model.
The symposium kicked of with a keynote session by John Davies, the CTO of C24. Johnâ€™s address mainly covered the choice of technology stack in the investment-banking sector. It was heartening to hear finally Jini and JavaSpaces are being adopted as a mainstream technology for realising enterprise middleware.
I have been having a look at EJB 3.0 interceptors with Glassfish. EJB 3.0 allows you to define interceptor methods that are called around the business methods and lifecycle events on the bean instances. The interceptor methods can either be defined within the bean class or in separate interceptor classes.
I have been looking at the Servlet 2.5 specification (Maintenance Review). One of the key additions is the ability to inject dependencies to classes whose lifecycle are maintained by the container.
One of the stumbling blocks I have run into, in my few years of using Java is Java's lack of flexible access visibility mechanisms. The access mechanisms are strictly constrained within the semantics of private, package, protected and public access modifiers. However, in ceratin scenarios this can be a bit constraining.
I have worked on quite a few enterprise systems built on the J2EE platform in the past few years (some in which I was actively involved in the design and some I worked on other people's design). I have always felt there was something not quite right in almost all of those systems.
One irritating thing I used to find in my early years of programming was the amount of time I spent on handcrafting details. Over the years, slowly but steadily, I have learned the art of meta-programming and I would say it is now the best tool in my programming arsenal. So what is meta-programming? It is programming using metadata. And what is metadata? It is data about data.
In our current project we have the entire development team working in a big conference room to promote pair programming and better communication within the team. One interesting thing we have in this room is a big plasma screen displaying team WIKI. The page that is displayed most of the time is the results of continuous build, integration and test.