Optimize with a SATA RAID Storage Solution
Range of capacities as low as $1250 per TB. Ideal if you currently rely on servers/disks/JBODs
JavaServer Faces (JSF) brings a new paradigm to developing Web-based applications in Java. Released a few years ago, but now slated to become part of Java Enterprise Edition 5 (Java EE is Sun's new name for J2EE), JSF will gradually supplant the old manner of structuring Java Web tier applications in JavaServer Pages (JSP) and servlets. JSF, whether by standardizing multi-device renderable UI components for delivering specific device markup, or allowing interfaces to be defined by prebuilt parts—widgets, buttons, menus, among other things—or tightening the link between client-side events and server application logic, is an embodiment of lessons learned from Java Web development throughout the years.
However, its out-of-the-box state is not without its faults. In this article, I illustrate how a particular set of frameworks—specifically, Shale from the Apache Software Foundation and Seam from JBoss—has already stepped up to fill in the gaps of this up-and-coming Java technology. With that said, you should realize that JSF represents an elaborate technology in and of itself, so if you are unfamiliar with its core concepts, you are advised to check out the links in Resources to get up to speed on the terminology used in our exploration, as we will jump right into the deep end of JSF.
No technology evolves in a vacuum, and Java is testament to this. More than 300 working groups are trying to incorporate the latest and most innovative approaches to using Java for particular software development tasks, and JSF composes just one of these many groups. The latest milestone release for JSF represented by the 1.2 version has two reference implementations: the Apache Software Foundation's MyFaces and Sun Microsystems' de facto reference implementation.
While JSF's working group tries to pack as much functionality as possible in each release, three primary reasons hinder the inclusion of interesting and powerful features and give way to frameworks such as Shale and Seam:
Given these aforementioned facts, let's look at what can actually be done with JSF in its 1.2 release. As we move on, we will modify this application, addressing what features can make JSF development more efficient through particular offerings in Seam and Shale.
Our application allows users to reserve flights by providing their email addresses along with departure dates and destination cities—you can observe a snapshot of this application in the figure below. Things are kept relatively simple, but this initial iteration does try to pack a few standard features so even uninitiated JSF users can grasp the capabilities behind the technology. Listing 1 shows the JSF markup page that generates the output presented in the illustration.
|Forum migration complete By Athen|
|Forum migration update By Athen|
|JSF frameworks: Shale and Seam By JavaWorld|