RealTime IT News

Spring Hits High Java Note

SAN FRANCISCO, Calif. -- Enterprise JavaBeans (EJB) was supposed to be the technology for building modular server-side enterprise applications, but a stumble by Sun Microsystems, coupled with its newfound openness, has given rise to an alternative that's gaining in popularity.

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, , 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."

Spring roots

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  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.

Spring path

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.

With Sun increasingly open and pragmatic these days, is it possible that Spring could find its way into the Java EE specification? No one would say yes or no but they all sounded optimistic. "I've had discussions with Sun around an EE 6 proposal. Sun are getting much more open these days," said Johnson. "For a large company, they really get open source."

"Sun are being more pragmatic these days," added Governor. "They are less obsessive about standards and more appreciative of getting the right tools in people's hands."

Brewin played it close to the vest but clearly does not want an either/or choice. "It's fair to say we would consider technologies which are popular with developers and consumers and enterprises. We would like to reach a point of supporting multiple types, and not choose one over the other."

He compared it to supporting multiple languages. Sun still supports C++ and numerous scripting languages in addition to Java, including Perl, Python, PHP and Ruby. "If we are going to be successful in attracting developers and supporters, we have to support multiple languages and technologies," said Brewin.