Organization of this book


Part I, Requirements and Architecture Definition consists of Chapters 1 through 3.

Chapter 1, "Requirements Analysis with Use Cases" explains the process of defining the problem domain in the form of a use case view of the system. The sample application is decomposed into discrete functional units, with each such functional unit expressed as a separate use case. Each use case is explained using a standardized template, which explains the system behavior from the perspective of external entities interacting with the use case. A use case view is essential for creating a common understanding of the system behavior between the business domain experts, the application architect, and developers, without specifying how that behavior is implemented. The use case view developed for the sample application is prerequisite for understanding other chapters of this book.

Chapter 2, "Information Architecture for Use Case Elaboration" explains the impact of information architecture for comprehensively defining the use cases. In this chapter, we elaborate the use cases of our sample application by being more explicit in expressing the user interaction with the system, and the associated transactional semantics. Information architecture is crucial for devising schemes for organizing, labeling, navigating, indexing, and searching content. These aspects converge into a storyboard when creating a prototypical-view of the system's UI. The navigation semantics of the application are explained using a site flow that clearly articulates the page transitions associated with user actions—this information will be used when configuring the Struts framework.

Chapter 3, "Application Architecture, Security, and Caching" introduces important aspects of application architecture as it pertains to the J2EE platform (although the actual architecture of the sample application is gradually build throughout this book using a use case driven approach). This chapter discusses security, and provides a high-level architectural overview in the context of prominent technologies and specifications which should assist the readers in determining their unique security infrastructure needs, and the eventual selection of a best-of-breed solution. This chapter also covers federated network identity based on the Project Liberty Architecture. Finally, the chapter ends with a discussion on caching that explains common caching solutions and explores a basic caching architecture.

Part II, Design and Construction consists of Chapters 4 through 9.

Chapter 4, "Struts-Based Application Architecture" discusses the benefits and design considerations for a presentation-tier framework based on Model-View-Controller architecture. This chapter discusses key aspects of such a framework in the context of Struts. We explore Struts architecture, its implementation and configuration semantics, and basic usage for providing quick familiarity to our readers on varied aspects of Struts. The material provides under-the-hood information on Struts, giving readers the necessary background to evaluate its applicability in their problem domain. The information provided in this chapter will be adequate to follow the use case realizations in Chapter 5.

Chapter 5, "Presentation Tier Design and Implementation" is focused on use-case realization for the presentation tier functionality of the sample application. Emphasis in this chapter is on creating the static and dynamic models of the system while utilizing the best practice J2EE design patterns for realizing client-side semantics. This chapter also identifies Struts implementation patterns that provide repeatable solutions for solving complex user interactions. Templates can be derived from these patterns for assisting the development team in establishing a consistent design vocabulary and implementation across all use cases, thereby improving readability and maintainability of the code. These patterns will serve as a starting point from which to evolve.

Chapter 6, "Domain Model Design and Implementation" is focused on creating a domain model and the corresponding database schema for persisting the domain objects. In this chapter we identify domain entities and their relationships. We use J2EE container services to both access and persist the domain entities and their relationships. This chapter also discusses configuration aspects of container-managed fields and container-managed relationships for entity beans with container-managed persistence. The domain model implemented in this chapter forms the basis for implementing business tier components in Chapter 7.

Chapter 7, "Business Tier Design and Implementation" is focused on use-case realization for the business tier functionality of the sample application. This chapter discusses and implements several best-practice business tier design patterns. Emphasis in this chapter is on identification of appropriate design patterns in the context of our problem domain and the application of these patterns for solving common problems during the design and development of the business tier. This chapter also discusses the configuration aspects of stateful and stateless session beans and the transactional semantics associated with Enterprise JavaBeans.

Chapter 8, "Web Services for Application Integration" introduces the Web services technology and its associated standards. It brings to light key aspects of the WSDL and SOAP specification so that readers are able to discern the relationships between WSDL constructs and the corresponding SOAP message constructs. The concepts learned in this chapter are subsequently applied in the creation of a Web service in the context of our sample application using BEA WebLogic Workshop.

Chapter 9, "Application Assembly and Deployment" focuses on installing and configuring the WebLogic Platform 7.0, and deploying the sample GreaterCause application.




Practical J2ee Application Architecture
Practical J2EE Application Architecture
ISBN: 0072227117
EAN: 2147483647
Year: 2003
Pages: 111
Authors: Nadir Gulzar

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net