The Artima Developer Community
Sponsored Link

Java Buzz Forum
Constructive Destruction - State of J2EE

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Vinny Carpenter

Posts: 276
Nickname: vscarpente
Registered: Feb, 2003

Vinny is a Java developer/architect working with Java, J2EE, OO, Linux, OpenSource.
Constructive Destruction - State of J2EE Posted: May 7, 2004 4:06 AM
Reply to this message Reply

This post originated from an RSS feed registered with Java Buzz by Vinny Carpenter.
Original Post: Constructive Destruction - State of J2EE
Feed Title: Vinny Carpenter's Blog
Feed URL: http://www.j2eegeek.com/error.html
Feed Description: Welcome to my blog. I am a total Java geek that lives in Milwaukee, making my living as an architect/developer, spending all my time with Java, J2EE, OO, Linux, and open source. In my spare time, when I am not in front of my computers, I spend every other minute with my other loves: My wife, books, music, guitars, Formula-1 racing and StarGate. Check out my blog @ http://www.j2eegeek.com/blog
Latest Java Buzz Posts
Latest Java Buzz Posts by Vinny Carpenter
Latest Posts From Vinny Carpenter's Blog

Advertisement

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. The latest specification, J2EE 1.4 offers Servlets, JSP's, EJB's (Session, Entity and MDB), JMS, Web Services, services like JTA, JDBC, JNDI, JAF, JAXP, JCA and management services such as JMX. As the richness of the API has expanded, some has the complexity. As more and more functionality gets added to the Java platform, the J2EE API's keep getting bigger and bigger and much more harder to manage. The J2EE vendors have kept up and done a great job of keeping up with the specification and actually championing a lot of great new feature functionality in the specification.

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. The book makes that the case that these new and disruptive technologies typically create a new value proposition and lead to the demise of the larger companies with more complex and usually expensive solutions.

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. I think XDoclet and EJBGen are great examples of such 'sustaining' technologies that have added value by simplifying dealing with EJB's. JSR-175 is another example of how new technologies or new ways of thinking will continue to sustain and simplify the current 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. While I am not predicting the end of J2EE because of these new technologies, I do see major changes to the next specification of J2EE (v1.5) that will attempt to simplify a lot of the complexities that are currently inherent in the platform. I am seeing a lot of these small projects and frameworks having major impact to how we think about designing and implementing applications. Maybe I am reading too much into this, but I am sensing that IBM and BEA are taking notice of the changing trends and attempting to adapt and simplify their platform. Being a BEA customer, I know they've gotten this idea and have done a great job of trying to simplify their platform via the Workshop framework. While Workshop is not the complete answer, it is a step in the right direction.

People that read this blog know that I am not a fan of Sun. I should probably clarify that statement - I think people working at Sun are brilliant and I hold most of them in the highest regard but the management at Sun is completely and totally out of touch. Scott McNealy should do us all a favor and quit and just work on his golf game with Jack Welsh. Having said all that, I think Sun is also getting it and really opening up the Java Community process and allowing wider participation. This is a good thing and I hope a trend of things to come.

Read: Constructive Destruction - State of J2EE

Topic: [Apr 27, 2004 09:36 PDT] 4 Links Previous Topic   Next Topic Topic: SwiftMQ Performace Profile Updated!

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use