Thursday, November 25, 2004

Spring Framework: Why the Momentum?

Spring Framework is the solution to several long-existing and tough problems facing the business and technology community.

The first problem is this. J2EE particularly with technologies such as EJB and JCA was designed from the very beginning to solve problems in enterprise systems; while enterprise systems as imaged by the designers of J2EE exist in reality and are of critical importance to businesses, they are by a great deal of measures only of a small portion of development projects. For majority of the requirements, J2EE is too heavy a solution for too light a problem. The consequences are (1) qualified resources are always in short supply and (2) therefore most of the projects are failing because not many developers are in full control of the J2EE technologies. To this, Spring Framework’s answer is “let us go to basics, and there are plenty of technologies that are more than enough to solve your problems.

The second problem associated with J2EE as practiced now is more intrinsic to the technologies themselves. That is, the missing of object-oriented paradigm.
Object oriented paradigm obviously has its credentials to dominate the computing industries since 1980s, EJB’s losing of object oriented features, and its lack of a better replacement essentially render the industry into a situation of giving up too much without gaining enough compensation. It is probably the underlying reason why Spring Framework, and for this matter, the whole light weighted container movement, is securing great momentum. They have lots of goals to achieve, but to rescue the advantages of object oriented paradigm turns out to be most appealing.

To be fair with the old J2EE technologies, Spring Framework is not only building its strength upon J2EE’s shortcomings (or failures as some extremists like to claim). Spring Framework has its own contributions to Java/J2EE community. Two aspects deserve mentioning here.

One is to codify best practices of Java application development. Rod Johnson and his people are all real-life developers working on application developments themselves, comparing to those who start their careers as so-called system developer and never solve a single business problem with their systems. Real life developers are closer to the problems domain, and in Spring Framework Rod Johnson and his people share a lot of their hard-learnt lessons and experiences. It looks like their experiences are not measured by “years” as our lovely human resources people do, but by something you and I as developers care, or something the senior management should really care.

The second strength Spring Framework provides is to make into a consistent whole of all the popular and wide-used Java tool offerings in open sources. Most of those tools address particularly well for their specific concerns, it is time to combine them seamlessly together and to come up a total solution. Spring Framework tried on this and obviously has done this well. Associated with this point is that, Spring Framework is a framework that concerns with building applications, and is not one that lays at a lower layer concerning with system issues. In other words, it is an application framework, not a system framework. For most of developers, application framework is certainly more interesting.

As always, for the sake of my professional integrity, I need to make a disclaimer here. Spring Framework has its values, but it is not a solution for all application system problems; and I certainly think J2EE as advocated by the big vendors such as Sun, IBM, Bea and Oracle etc. is good and important, and for most of the high-end requirements, it is probably the only feasible solution.

1 Comments:

Blogger Jeryl Cook said...

Spring Applicatoin framework was not meant to replcae J2EE application server, it is a application framework, i found it nicely plugs into an application server (Jboss/spring/hibernate) , and use alot of 3rd party api's(ehcahce,JGroups,etc..).. i don't think the developers ever attended to replace the big boys BEA,etc..

1:51 PM  

Post a Comment

<< Home