Oracle is promoting conversions from the popular Spring Framework for Java development to Java EE (Enterprise Edition). But the founder of Spring counters that these technologies can work together and cites a financial incentive for Oracle's campaign.
Oracle has been promoting these migrations in a series of Web presentations going on for many months. A Java Spotlight posting this week pertaining to migrations to Java EE 6 links to an interview with Paul Bakker and Bert Ertman from Luminus Technologies in the Netherlands. They argue Spring no longer has advantages over enterprise Java that it might have had previously.
[ Think you know Java? Test your programming smarts in InfoWorld's Java IQ test. | Find out how the experts weighed in on Java EE vs. Spring at the JavaOne conference. | For more news on enterprise Java, subscribe to InfoWorld's JavaWorld Enterprise Java newsletter. ]
Some users have been holding onto beliefs about enterprise Java inadequacies from several years ago based on books from Spring Framework inventor Rod Johnson, said Bakker, senior software engineer at Luminis. "But nowadays, when we have Java EE 5 and Java EE 6, we [have] completely revised programming models, which are very lightweight and POJO-based (plain old Java objects)," Bakker said. "It's about time to re-educate people that Java EE no longer stands for Java Evil Edition, but it's actually quite ready to build some very good enterprise applications with."
Dependency injection, popularized in Spring and used for linking related objects, is now enabled in Java EE 5, the Luminis technologists stressed. Lightweight, aspect-oriented programming is now implemented in Java as well, they argued. But Johnson, in an emailed response to questions, dismissed the notion of a conflict between Java EE and Spring, calling it "fictitious." Spring and Java EE 6, Johnson said, "can work very nicely together."
"The 'Java EE 6 does away with the need for Spring' argument is essentially commercially motivated," Johnson said "Spring has reduced the need for traditional application servers like Oracle WebLogic and has enabled users to choose lighter-weight infrastructure. While Java EE 6 is an improvement on previous versions of Java EE, Spring offers significant additional value."
Spring works in a broader set of scenarios than Java EE 6, thus giving Spring users greater choice, said Johnson. "They may not wish to use a Java EE application server; even [if] they are on Java EE, they may not be running Java EE 6; they may be in a cloud environment where Java EE is not available; they may not be using any app server; or they may wish to be able to deploy in different scenarios. Spring's portability is highly valuable."
Spring's ecosystem solves a wider range of problems than Java EE, such as integration, batch, and nonrelational data, Johnson said. Fine-grained security is supported as well, he said. "Using the Spring component model can offer many other benefits."