I. E-BUSINESS AND THE CHANGING ROLE OF APPLICATION DEVELOPMENT.
Motivation. Software Development Challenges. The Key to the Future: Managing Complexity and Rapidly Adapting to Change. Managing Complexity. Adapting to Change. Business Drivers and IT Strategy. Summary.
2. The Evolution of Application Development.
Introduction. Evolution of Application Development Support. Past—Client/Server Applications. Present—N-Tier Distributed Systems. Future—Nomadic, Service-Oriented Solutions. Key Issues for Future Application Development. Representing Large-Scale Distributed Software Architectures. Modeling Reusable Pieces of a System. Improved Method Support for New Kinds of Applications. Pragmatic Concerns for Established Application Development Tool Vendors. Summary.
3. Enterprise-Scale Solutions in the Internet Age.
Introduction. The e-Business Revolution. Today's Critical IT Issues. The Importance of the Middle Tiers. From Client-Server to N-Tier Architectures. The Role of the Middle Tiers in Web-Based Systems. The Application Server. Enterprise Application Integration. Application Integration … the New View of Development. EAI Through Connectors. A Broader View of EAI. Components and Component Models. Designing with Components. Implementing for Components. Summary.
II. COMPONENTS AND COMPONENT-BASED APPROACHES.
4. Component-Based Development Fundamentals.
Introduction. The Goals of Component Approaches. Why Component-Based Development? What Is a Component? Components and Objects. Components and Distributed Systems. Elements of a Component. How are Applications Assembled Using CBD? Sources of Components. Interface-Focused Design. Applications and Component Architecture. What Is the Current Practice in CBD? Special Interest Groups. Vendor-Led User Groups. Specialist Component Service Providers. Experience Reports and Advice. Summary.
5. Component-Based Development Insights.
Introduction. Provision of Reusable Services. Independent Delivery of Services. A Deeper Understanding of Components. Packaging Perspective. Service Perspective. Integrity Perspective. An Illustrative Example: Microsoft Excel. The Importance of Component Specification. The Role of Interfaces. The Importance of Models. Collaborations and Roles. The Elements of a Component-Based Approach. Application Assembly from Components. Provision of Independent Services. A Common Component Infrastructure. Use of Common Services. Summary.
III. APPLYING COMPONENT TECHNIQUES.
6. CBD Technology and Standards.
Introduction. The Unified Modeling Language (UML). What Is the UML? Background to the UML. What Is Defined by UML? Supporting Component Modeling with UML. Advanced UML Concepts. The Microsoft Repository. Background. The Conceptual Design of the Repository. Information Models for CBD. Component Infrastructure Technology. Component Infrastructure Services. Component Infrastructure Implementations. Summary.
7. Approaches to Component-Oriented Modeling.
Introduction. The CBD Life Cycle. The Rational Unified Process. Sterling Software's Enterprise-CBD Approach. Interface-Focused Design Approaches. A UML-Inspired Component Modeling Approach. A Catalysis-Inspired Component Modeling Approach. Summary.
8. An Illustration of a Component-Based Method.
Introduction. Understand the Context. Requirements Definition. Use Case Modeling. Business Type Modeling. Define the Architecture. Component Architecture Modeling. Context Modeling. Interface Modeling. Interface Definition. Provision the Solution. Component Implementation. Component Wrapping. Component Assembly. System Deployment. Summary.
IV. A LOOK TO THE FUTURE.
9. The Business Imperative: Moving Quickly into the Digital Age.
Introduction. e-Anything and e-Everything. The End of Software Development? Summary.
10. The Technology Response: Flexible Services and Solutions.
Introduction. Infrastructure and Platform Technologies. Standards Activities. XML. EJB and the CORBA Component Model. Tool Directions. Enhanced Product Integration in Support of CBD. A New Generation of Component Design and Implementation Tools. Research Directions. Use of Patterns and Frameworks. More Rigorous Approaches to Component Specification. Enhanced Modeling for Software Architectures. Summary.
Appendix A: Useful Resources on Enterprise-Scale Application Development.
e-Business and e-Business Strategy. Components and Component-Based Approaches. Enterprise Application Integration. Distributed Systems Architectures. Technologies for Enterprise-Scale Solutions. Industry and Product Directions.
Appendix B: A Detailed CBD Modeling Example.
Introduction. Enterprise Component Architecture Design. Application Development. Requirements. Project Architecture. Specification. Implementation. Component Provisioning. Requirements. Project Architecture. Specification. Implementation.
Appendix C: References.