Recommended: Sing it, brah! 5 fabulous songs for developers
JW's Top 5
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) technology is a new user interface framework for J2EE applications. It is particularly suited, by design, for use with applications based on the MVC (Model-View-Controller) architecture. Numerous articles have introduced JSF. However, most take a highly theoretical approach that doesn't meet the challenges of real-world enterprise development. Many issues remain unsolved. For example, how does JSF fit into the overall MVC architecture? How does JSF integrate with other Java frameworks? Should business logic exist in the JSF backing beans? How do you handle security in JSF? And most importantly, how do you build a real-world Web application using JSF?
This article addresses all those issues. It shows you how to integrate JSF with other Java frameworks—specifically, the Spring Framework and Hibernate. It demonstrates how to create the JCatalog Web application, an online product catalog system. Using the JCatalog example, this article covers each phase of Web application design, including business-requirement gathering, analysis, technology selection, high-level architecture, and implementation-level design. The article discusses the advantages and disadvantages of the technologies used in JCatalog and demonstrates approaches for designing some of the application's key aspects.
This article is written for Java architects, developers already working with J2EE-based Web applications. It is not an introduction to JSF, the Spring Framework, and Hibernate. Please see Resources if you are unfamiliar with these areas.
This article's sample application, JCatalog, is a real-world Web application, realistic enough to provide the basis for a meaningful discussion of a Web application's architectural decisions. I begin by presenting JCatalog's requirements. I refer back to this section throughout the article to address the technical decisions and architecture design.
The first phase in designing a Web application is to gather the system's functional requirements. The sample application is a typical e-business application system. Users can browse a product catalog and view product details, and administrators can manage the product catalog. Enhancements—e.g., inventory management and order processing—can be added to make the application a full-blown e-business system.
Use-case analysis is used to access the sample application's functional requirements. Figure 1 is the application's use-case diagram.
Figure 1. Use case diagram. Click on thumbnail to view full-size image.
A use-case diagram identifies the actors in a system and the operations they may perform. Seven use cases must be implemented in the sample application. Actor User can browse the product catalog and view product details. Once User logs in the system, she becomes actor Administrator, who can create new products, edit existing products, and delete old products.
JCatalog must meet the following business rules:
Archived Discussions (Read only)
(