Developing Enterprise Java Applications with J2ee¿ and UML (2001)

Foreword. Preface. Approach. Intended Audience. How to Use This Book. Chapter Summaries. Conventions. Acknowledgements. 1. Introduction to Enterprise Software. What is Enterprise Software? Challenges in Developing Enterprise Software Evolution of Enterprise Software Enterprise Software and Component Based Software. Summary. 2. Introduction to J2EE. What is the Java 2 Platform, Enterprise Edition? A Brief History of J2EE. Why J2EE? Brief Overview of J2EE. Technologies. API. Other J2EE Technologies and API. Summary. 3. Introduction to the UML. What is the Unified Modeling Language (UML)? Overview. Why use the J2EE and the UML Together? Challenges in Modeling J2EE in the UML. Extension Mechanisms in the UML. Stereotype. Tagged Value. Constraint. The Approach to J2EE UML Modeling. Summary. 4. UML and Java. Introduction. Representing Structure. Class. Variable. Method. Object. Interface. Package. Representing Relationships. Inheritance. Realization. Dependency. Association. Aggregation. Composition. Reflexive Relationships. Summary. 5. Overview of Activities. Introduction. What is a Software Development Process? Brief Overview of Popular Approaches to Software Development. The Just-Develop-It Approach. The Waterfall Process. The Iterative Process. The Rational Unified Process. The ICONIX Process. OPEN Process. Extreme Programming/Feature-Driven Development. Approach Used in This Book. Overview of Major activities. Chapter 6: Architecture. Chapter 7: Analyzing the Customer Needs. Chapter 8: Creating the Design. Chapters 10-15 Detailed Design. Chapters 16 Case Study. Summary. 6. Architecture. What is Software Architecture? Why Architecture? Key Concepts in Enterprise Application Architecture. Decomposition. Components. Frameworks. Patterns. Layering. Tiers. Approaches to Software Architecture. The J2EE View of Architecture. The 4+1view Model of Architecture. Hofmeister et al Four Views of Architecture. Putting it All Together. Summary. 7. Analyzing the Customer Needs. Introduction. Why software Analysis and Design? Problem Analysis. Use Case Modeling. Actor. Use Case. Finding the Actors. Finding the Use Cases. Use Case Diagrams. Use Case Relationships. Include. Extend. Sequence Diagrams. Activity Diagrams. Summary. 8. Creating the Design. Use Case Analysis. Use Case Realizations. Refined Use Case Description. Sequence Diagrams. Boundary Objects. Entity Objects. Control Objects. Collaboration Diagrams. Class Diagrams. Coalescing the Analysis Classes. Packaging. Summary. 9. Overview of J2EE Technologies. Overview. The Big Picture. Servlets. JavaServer Pages. Enterprise JavaBeans. Session Beans. Entity Beans. Message-Driven Beans. Assembly and Deployment. Case Study. Summary. 10. Servlets. Overview. Introduction to Servlets. Common Usage. Best Served Small. J2EE Versions. Servlet Lifecycle. Lifecycle Methods. Convenience Method. Required Methods and Tagged Values. Request Handling. Response Generation. HTTP Request Handlers. Advanced Handler Methods. Quick Guide to HTTP Requests. The RequestDispatcher Interface. Modeling Servlets in UML. Modeling Other Servlet Aspects. Servlet forward. Servlet include. ServletContext. Servlet Session Management. Servlet Deployment and Web Archives. Identifying Servlets in Enterprise Applications. Summary. 11. JavaServer Page. Overview. Introduction to JavaServer Pages. Typical uses of JSP. Model 1 and Model 2 architectures. JSP versus Servlet. Anatomy of a JSP. Template data. JSP Elements. Objects Accessible to a JSP Implicitly. Tag Libraries. JSP and the UML. Modeling Client Side Relationships. Modeling Server Side Relationships. JSP in Enterprise Applications. Summary. 12. Session Beans. Overview. Introduction to Enterprise JavaBeans. Enterprise JavaBean Views and the UML. Basic Structure. Representing an Enterprise JavaBean in UML. Client View. Internal View. Session Beans. Popular Beans J2EE Versions. Session Beans Types and Conversational State. Modeling Session Bean Conversational State. Instance Passivation. Cleanup and Removal. Transactions. Transaction Demarcation. Bean-Managed Transactions. Container-Managed Transactions. The SessionSynchronization Interface. Limitations for stateless Session Beans. Transaction Attributes. Modeling Transactions. Session Bean Technology. Home Interface. Remote Interface. Implementation Class. Modeling Interface Behavior. Session Bean Lifecycle. Session Bean Common Scenarios. Modeling Session Bean Relationships. Session beans and plain Java classes. Session beans and JavaBeans. Session beans and servlets. Session bean and JSP. Session-session relationships. Session bean inheritance. Identifying Session Beans in Enterprise Applications. Summary. 13. Entity Beans. Overview. Introduction to Entity Beans. Coarse-Grained Business Objects. Increasing Popularity. J2EE Versions. Entity Bean Views and the UML. Basic Structure. Client View. Internal View. Persistence. Transactions and Concurrency. Abstract Persistence. Abstract Persistence Schema. EJB Query Language (EJB QL). Persistence Manager. Container-Managed Relationships. Multiplicity. Directionality. Duplicating these Relationships in J2EE 1.2. Local Relationships. Entity Bean Technology. Home Interface. Remote Interface. Primary Key Class. Implementation Class. Persistent Fields. Entity Bean Lifecycle. Entity Bean Common Scenarios. Modeling Entity Bean Relationships. Entity Bean and other Java classes. Entity Bean and JavaBeans. Entity Bean, Servlets and JSPs. Entity Bean and Session Beans. Entity Bean to Entity Bean relationships. Identifying Entity Beans in Enterprise Applications. Layering. Summary. 14. Message-Driven Beans. Overview. Introduction to Message Beans. The Java Message Service. Role of JMS and Message Beans in EJB. Why use Messaging and Message Beans. When to use Message Beans. J2EE Version. Message Bean Views and the UML. Basic Structure. Client View. UML Benefits for Message Beans. Modeling Messages. Modeling Destinations. Message Bean Technology. Transactions. Implementation Class. Message Bean Lifecycle. Message Bean Common Scenario. Modeling Message Bean Relationships. Modeling relationships with other classes. Message Bean and other J2EE technologies. Identifying Message Beans in Enterprise Applications. Summary. 15. Assembly and Deployment. Introduction. Component Modeling. Component modeling of J2EE technologies. Representing Web Components. Representing Enterprise JavaBeans. Component modeling of enterprise applications. Deployment Modeling. Traceability revisited. Assembly and deployment of Enterprise Java Applications. Deployment Descriptors Summary. 16. Case Study. Introduction. Case Study Background. Problem Statement. Rationale and Assumptions. HomeDirect Requirements. Inquiry Services. Bill Payment Services. Transaction Services. Administrative Services. Inception Phase. Initial Iteration. Elaboration Phase. Elaboration Iteration#1. Elaboration Iteration#2. Elaboration Iteration#3. Remaining Phases. Summary. Appendixes. Index. 0201738295T07122001