The Spring Framework, first written by British consultant Rod Johnson in 2000, jumped ahead of EJB, because Sun, by its own admission, goofed with the first two releases of EJB.
"The advantages to Spring is that it actually implemented something we aspired to do with Java Enterprise Edition, but for a number of reasons didn't deliver on it until EJB 3," Bob Brewin, CTO for Sun, (Quote), told internetnews.com.
"EJB 3 today delivers a lot of the ease of use that Spring provides," he continued. "EJB versions 1 and 2 were tough. It was not easy to build, package and deploy applications under EJB 1 and 2. We solved that in version 3, but by then Spring came along. Frankly, I'd like to know if there's way they can co-exist."
Johnson published Spring and its use in the book Expert One-on-one J2EE Design And Development in 2002 and offered up his work as open source technology.
A project was established on the open source development site SourceForge.net, and the 1.0 release of the Spring Framework came out in 2004. A year later, BEA Systems became the first company to partner with Johnson, who formed a company to support Spring development, called Interface21. Last week, Interface21 rolled out new development models to make Java programming easier.
And just this week, the giant consultancy Accenture announced plans to build a batch processing language similar to that found on mainframes using Spring, while Oracle (Quote) on Wednesday announced the release of the Oracle Development Kit for Spring designed to simplify the development, deployment and management of Spring-based enterprise Java applications.
Oracle's Development Kit for Spring includes the Spring Framework 2.0, extensions for Spring to the Oracle JDeveloper IDE, Oracle Developer Depot, a free, Spring-based tool to find, configure and provision Java applications, sample applications and tutorials and a transaction integration manager with Oracle Application Server.
James Governor, principal analyst for Redmonk, agreed with the negative assessment of early EJB. "Spring is like Java EE for humans," he said, borrowing the "Linux for human beings" phrase used by Ubuntu Linux. "I'm not a great fan of saying what is and is not dead. Technologies have a long life, but in terms of supplying the interfaces and making Java a more usable environment, Spring is doing very well."
Governor believes IBM "has no choice but to follow" BEA and Oracle's leads, "and I would encourage Sun to do the same." He said there has been a lot of standardization around Spring in the financial services markets, which makes sense, since that's where Johnson started out.
"Rod Johnson is a force of nature. What's amazing to me is the fact he's getting all of these vendors to go along with this," said Governor.
The force of nature was on the show floor at the Interface21 booth, and attributed the success of Spring to its simplicity compared to EJB. "There's this common myth that just because something is hard to work with, it must be powerful," he said. "Spring is significantly easier to use but more simple and extensible."
The simplicity comes from Spring's use of plain old Java objects, or POJOs. This gives a clean separation between the business logic and the infrastructure code. The earlier EJB model had infrastructure code impacting the business logic.