Wednesday, October 06, 2004

Java Lessons Learned 

Ted Neward
In a lot of ways, the Core J2EE Patterns book was a correction of a major oversight in the J2EE world, where we naively believed that we could simply take our traditional object systems and throw them at the J2EE container and expect objects to peek back out at us. Distributed systems just don't work that way, and it took several revisions (including several more that occurred after Core J2EE Patterns was released) before we got to some of the fundamental precepts that led us down the Dark Path, such as "Differentiate layers from tiers" and "Avoid round trips".

In the end, part of J2EE's problem was that it went directly for the large-scale, enterprise-class (read: Really Big Money) kinds of systems, where this kind of complexity is warranted and necessary. (Remember, with power comes complexity, and, usually (we hope), with complexity comes power.) Most people getting started in J2EE weren't building those kinds of systems, though, and the complexity became overwhelming and difficult to recognize and sort out.


In some respects, the underlying framework of J2EE (the component/container model, the Context approach) is only now coming out, with some explorations by the Spring folks, the NanoContainer folks, the PicoContainer folks, and others too numerous to mention. This is in large part why we're reacting so strongly against J2EE, because the Java space is searching for that simple "underlying story".

Topics: Java | SoftwareArchitecture

Links to this post:


Comments: Post a Comment

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