Java “rebel frameworks” -- open source projects with programming models and APIs that do not conform to the JCP (Java Community Process) standard -- are presenting alternatives and supplements to J2EE technologies, according to an industry analyst report released by the Burton Group this week.
Although these frameworks are easier to learn, use, and test than standard J2EE counterparts, they pose the risk of open source lock-in, similar to proprietary lock-in, the report said.
Rebel frameworks come in three categories: Web frameworks, persistence frameworks, and lightweight containers, according to Burton.
Web frameworks, such as Struts, Tapestry, and Velocity, feature a Web component programming model simpler than using servlets or JSPs, Burton said. But they are usually dependent on servlet engines to help process HTTP requests and manage session state.
Persistence frameworks implement their own object-to-relational mapping not compliant with EJBs, container-managed persistence, or JDOs (Java Data Objects). Examples of persistence frameworks include Hibernate, iBATIS, and Castor.
Lightweight containers can be alternatives to J2EE or supplement the J2EE programming model, offering a simpler programming model by leveraging designs based on POJO (Plain Old Java Objects), IoC (Inversion of Control), and a lightweight form of aspect-oriented programming. Lightweight container examples include Spring, HiveMind, and PicoContainer.
Burton stressed that open source J2EE application servers such as JBoss, Geronimo, and JOnAS are not rebel frameworks, because they implement the J2EE specification. As the popularity of rebel frameworks increases, developers will be less likely to use J2EE application servers to meet all their enterprise needs, Burton said.
The open source lock-in presented by rebel frameworks, however, can leave users at the mercy of an open source project just as a user would be to a proprietary commercial product, Burton said. The report cited the recent break-up of the Apache Avalon programming container project into what Burton described as separate, competing efforts. However, someone could take over development of an open source framework if a project dissolves, Burton noted.
Open source licensing also can present a drawback, with organizations possibly being required to contribute enhancements to the community at large for free, Burton said.
An official at Sun Microsystems, the company that developed Java and maintains JCP as the way to amend the language, said the Burton report depicts the process of how the Java language evolves.
“From my perspective, the report describes an ecosystem in which there are existing formal standards that follow a very disciplined, defined process, which is certainly good for everyone in the industry. And feeding that is another part of the ecosystem, [which is innovative], evolutionary -- almost experimental -- environments in which a lot of good new ideas can be explored, can be evaluated, can evolve very quickly,” said David Bryant, director of marketing for application platform products at Sun.
Rather than pose a threat to JCP, the evolving technologies depicted as Java rebel frameworks feed into the larger community and ultimately become part of a formal JCP standard if the technology is worthwhile, Bryant said. He disputed Burton’s characterization of the technologies cited in the report as “rebel.”