Sunday, June 20, 2004

Constructive Destruction - State of J2EE  

Vinny Carpenter's Blog
It's been a really interesting journey in the Java Enterprise space the last couple of years. Starting with Servlets and Enterprise JavaBeans, J2EE has gone through quite an evolution and has emerged into a robust and powerful Enterprise application development platform.

. . . I have been thinking a lot about this as I read 'The Innovator's Dilemma' by Clayton M. Christensen. The Innovator's Dilemma is a great book that postulates that 'disruptive technologies' enter the marketplace and eventually evolve and displace the current reigning technologies and companies.

. . . We can draw parallels with the theme of the book and the current state of the Java/J2EE space - As the Java platform has matured, the complexity has also increased. I typically spend almost 5-10 hours a week working with people in resolving class loading, packaging, war/ejb/ear descriptors or other related activities that is not related to the core business functionality that the application is implementing. As the complexity of the platform has increased, new technologies have emerged to help simplify the platform.

. . . Don't get me wrong - I still think J2EE is a great and viable solution but I am starting to see how 'disruptive' technologies like JDO, Hibernate and Spring among others are making people rethink how they design and implement solutions.

The idea of 'Inversion of Control' or 'Dependency Injection' revolves around the use of lightweight containers (Spring) that help to assemble components at run-time into a cohesive application without wiring them together in the traditional sense. While IOC is not a new concept, it is changing how we approach thinking about application development.

Hibernate and JDO are other examples of how they are changing the way we look at persistence and O/R mapping. While Sun and the J2EE licensees continue to support CMP and Entity beans, people are moving on and using things like JDO, Hibernate or rolling their own persistence layer to get the performance and flexibility that CMP promised, but never really delivered.

Links to this post:


Comments: Post a Comment

This page is powered by Blogger. Isn't yours?