Java “rebel frameworks” touted

Burton Group: Open source projects can be alternative to or supplement J2EE technologies

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

“I suspect if you talk to people that worked on many of the initiatives cited in the document, they may not necessarily characterize them as rebel,” Bryant said.

Burton recommends that customers use caution in considering rebel frameworks, as they are based on single, non-standardized implementations. But these frameworks can make development teams more productive by providing simpler alternatives and supplements to J2EE. Struts, for its part, already has become a de facto standard.

The frameworks are a good choice when organizations are looking for low-level, productive frameworks for building enterprise applications, according to Burton. The J2EE programming model, Burton said, has disadvantages in complexity, which are compounded when APIs such as EJB, JDBC, and JNDI (Java Naming and Directory Interface) are used together.

Open source has served as an agile development paradigm encouraging frequent updates and modifications, thus staying better aligned with current theories and practices in enterprise development. The JCP, on the other hand, has lagged far behind in this respect, Burton said. Open source also has embraced simplification while J2EE emphasizes use of low-level APIs, according to Burton. Rebel frameworks can make J2EE development easier and more productive, and thus bolster the J2EE platform, Burton said.

Copyright © 2004 IDG Communications, Inc.