EJB's Path to Browser Takes Shape
JSR 299 for Web Beans spec fosters loose coupling, strong typing
February 15, 2008 —
(Page 1 of 2)
If the committee designing JSR 299 has one goal, it's simplicity. Java Specification Request, also known as Web Beans, is designed to bring Enterprise Java Beans into the world of the browser without the incongruities of JavaServer Faces. The result is expected to be a unified component model for EJB and JSF, easing the building of Web applications backed by the heavyweight Java infrastructure.
Gavin King, founder of the Hibernate (Java-based object-relational mapping/persistence framework) project and specification lead on JSR 299, explained that JSF and Java EE in general still need work.
“EE needs to be trimmed down a bit," he noted. "There are technologies that are part of the EE platform that are really not needed and are not pulling their weight. There are a number of specs where visibility still needs to be simplified. The servlets specification needs to be simplified. JSF really needs some major improvements.”
One of King's gripes about the Java EE stack is that many of the components needed to build usable Web applications don't behave in similar ways. JSF requires a different set of commands and instructions than standard Java, while Java Portlets require configuration and care to get going. Those factors translate into lost developer productivity, which can make alternative Web frameworks and languages, such as Ruby on Rails and PHP, seem more attractive than Java.
For that reason, King has been building Seam at JBoss, a framework that aims to let Java developers write simple, standard Java code and to have the framework handle all of the custom JSF, Portlet and AJAX calls.
JSR 299's improvements will be coordinated with other JSRs, particularly 314, covering JavaServer Faces 2.0.
The Theme is the Seam
“The theme of [JSR 299] is the idea of loose coupling with strong typing,” King said. “We want to provide a component model, which provides for loosely coupled, very maintainable code. I guess the real point is that Web Beans lets you use EJB very easily from inside the user interface of your application.”