Acknowledgments About This Book Intended Audience Prerequisites Getting Started Course Overview Case Studies Using This Book to Prepare for Certification The Microsoft Certified Professional Program Technical Support About the Authors Part 1 Developing the Framework Chapter 1 Enterprise Architecture What Is Architecture? Making a Commitment to Architecture-First Design and Practice Challenges of the IT Environment How Enterprise Architecture Responds to IT Challenges Goal of Enterprise Architecture Microsoft Solutions Framework (MSF) MSFEnterprise Architecture Model MSF Team Model for Application Development MSF Mess Model for Application Development MSF Risk Management Model MSFDesign Process Model MSF Application Model Presentation of MSF in This Book MSF Enterprise Architecture Model Business Perspective Application Perspective InfOrmation Perspective Technology Perspective Four PersPectives, One Architecture Alignment of Business and IT Goals Dangers to Avoid During the Enterprise Architecture Process Objectives of the MSF Enterprise Architecture Model Creating an Enterprise Architecture The Myth of an Enterprise-Wide,Project-Deep Architecture Milestone-Driven Process Getting from Current State to Future State Reactive and Proactive Flows Maintaining Focus Enterprise Architecture and Individual Proects Planning While Building and Building While Planning Summary Review Case Study 1 Developing an Enterprise Architecture EA Kickoff FourModels with Perspective Proactive,Reactive,and Versions Getting Started on F-BEAP Chapter 2 Enterprise Applications Features of Enterprise Applications Enterprise Application Architecture Component Reuse Application Size Software Performance Application Scaling Architecture Forms Guiding Software Principles Alignment with Business Goals Product Mindset Architecture-First Design Wthin Context Different Languages for Different Proect Phases Project Success Factors Team Approach Individual Commitment to Project Goal Early Product Demonstrations Risk Management Component-Based Development Change Management Product Versions Based on Customer Priorities and Expectations Flexible Scalable Framwork Enterprise APPlication Model Designing with the Enterprise Application Model Business Model User Model Logical Model Technology Model Development Model Physical Model MSF Application Model for Development User Services Business Services Data Services summare Review Chapter 3 Project Teams Tearm Model vs.Hierarchical Model Project Responsibilities The MSF Development Team Model Product Management Program Management Development Testing User Education Logistics Management Adapting Team Size to Project Size Large-Project Scaling Small-Project Scaling Building Successful Teams Finding Effective Leaders Improving Team Effectiveness Educating the Team Coordinating with Outside Teams Team Management Tbols summary Review Case Study 2 Introducing the RMS Project Team Agenda Overview Team Introductions MSF Revisited RMS Application Review of the MSF Development Team Model Team Roles Chapter 4 Development Process Models for Application Development Waterfall Model Spiral Model Unified Process Workflows Project Phases Iterations MSF Development Process Model Phased Process Milestone-Driven Process Versioned Process The Four MSF Phases and Their Major Milestones Envisioning Phase Planning Phase Developing Phase Stabilizing Phase Importance of All Phases MSF Development Process Model Principles Using Versioned Releases Creating Living Documents Scheduling for an Uncertain Future Managing Tradeoffs Managing Risk Maintaining a Fixed Ship-Date Mindset Breaking Large Projects into Manageable Parts Performing Daily Builds Using Bottom-Up Scheduling Using Versioned Processes Guidelines for Versioned Releases Development Tasks During Other Phases Team Roles in the MSF Development Process Model Artifacts and Deliverables Relationships Between Models Summary Review Case Study 3 Introducing the RMS Project Current State Scheduling Resources Completing Timesheets Recording Time Generating Invoices Business Implications Wrapping Up and Assignments Case Study 4 Determining Goals Review of the MSF Development Process Model Team Roles and Their Phase Responsibilities Iterations Wthin Versions RMS Project Calendar and Initial Goals Part 2 Designing the Product Chapter 5 Project Vision Overview of Project Envisioning Why Establish a Vision? Pitfalls Envisioning Process Who Does What During Envisioning? Step#1:Research Step#2:Analysis Step#3:Rationalization Step#4:Implementation Step#5:Vaidation Conununicating Risk Management Process Sources of Risk fypes of Risk Management Step#1:Risk Identification Step#2:Risk Analysis Step#3:Risk Action Planning Step#4:Risk Tracking Step#5:Risk Control Vision Approved Milestone and Its Deliverables Vsion Document Prototype System Proect Structure Document Master Risk Assessment Document Conunnicating the Vision Expanding the Envisioning Process summary Review CaSe Study 5 Envisioning RMS Round One Round Two Client Perspective Wrap-Up Chapter 6 Project Plan Overview of Project Planning Planning Phase and the MSF Design Process Who Does What During Planning? MSF Design Process Overview of the MSF Design Process ConcePtual Design Logical Design Physical Design Ongoing Risk Management Process Proect Plan ApProved Milestone and Its Deliverables Interim Milestones Functional Specification MasterProectPlan MasterProect Schedule Revised Master Risk Assessment Document Summary Review Case Study 6 Planning RMS Overview of the Planning Phase Overview of the Design Process Conceptual Design Logical Design Development and EA Team Meeting Physical Design Project Plan Approved Milestone Part 3 Developing the Product Chapter 7 User Service Layer Technologies Determining the User Interface User Service Layer Considerations Selecting a User Service Layer Architecture Basics of Interface Design UI Elements Composition Color and Images Usability User Assistance Model Creating the UI Implementing a Native User Service Layer Implementing a Web-Based User Service Layer Accessing a Native Application Accessing a Web-Based Application Connecting the User and Business Service Layers Mdeng Business Objects Available to Client Computers Accessing Business Objects in Nahve Applications Accessing Business Objects in Web-Based Applications Accessing Remote Objects Using RDS Summary Review Chapter 8 Businese Service Layer Technologies Overview of Business Services Component Object Model (COM) Why COM? COM Progranuning Model Automaion The IDispatch Interface Type Libraries Dispinterfaces Dual Interfaces COM Support in Distributed Environments COM Security Remote Activation and Marshaling Packaging with MTS Designing MTS Packages Activation SharedResources Fault Isolation Security Isolation Implementing COM in an MTS Environment Basic Windows NT Application Services Windows 2000 COM+ Services Unified Programming Model Primary COM+ Services Summary Review Case Study 7 Introducing COM+ Time to Leam Overview of COM+ Examples of COM+-Based Application Architecture Expanded Range of Design Choices Queued Components Loosely Coupled Events (LCE) In-Memory Database (IMDB) Transactional Shared Property Manager Object Pooling Dynamic Load Balancing Application Design Considerations Objects in the COM+ Environment Connecting Components Chapter 9 Date Service Layer Technologies What Is the Data Service Layer? Universal Storage Application PrograIIuning Interfaces (APIs) Universal DataAccess UDA-Based Access Components Data Modeling Identifying Data DefiningData EnsuringDataIntegrity Defining Operational Processes Choosing a Data Storage Technology Microsoft Data Access Components (MDAC) Open Database Connectivity (ODBC) OLE DB ActiveX Data Objects (ADO) Remote Data Service (RDS) Choosing the Right Data Access Technology Wnto Use ADO When to Use RDO When to Use ODBCDirect When to Use DAO When to Use ODBC Choosing a Data Access Strategy Accessing Host-Based Data ADOfor the AS/400 and VSAM DDM and OLE DB COMTI and Mainframe Data Integration COMTI Makes It Easier to Extend Transactions Differences Between Windows and Mainframe Terminology DCOM Connector for SAP COM+ In-Memory Database (IMDB) Summary Review Chapter 10 Testing and the Production Channel Managing the Development Environment Production Channel Change Control Process Sizing the Production Channel Testing Enterprise Applications Component-Level Testing Local Integration Testing DebuggingTools DataAccessTesting IntegrationTesting Performance Vaidation Defining Performance Requirements Defining Metrics and Goals Measuring Performance Defining Performance Tests Deteedning Baseline Performance Idenhfying and Eliminating Bottlenecks Cornmon Bottlenecks Scaling the Production Environment Configuration#1:Single Node Configuration#2:IIS on a Separat Node Configuration#3:SQL Server on a Separate Node Configuration#4:Each Database on a Separate Node Configuration#5:Partitioned Database Configuration#6:Partihoned Application Fault Tolerance BugManagement Traking Classification Resoluhon summary Review Dese Study 8 Testing RMS What’s Needed and Why Chapter 11 Application security Authentication Security Windows NT Authentication Kerboros Authentication Web-Based Authentication SQL Server Authentication Encryption Security-Related Protocols Secure Sockets Layer (SSL) SSL IIS 4.0 and Microsoft Proxy Server Server Gated Cryptography CryptoAPI Access Security Windows NT Access Security User Access Control File Protection Distributed Component Protection Operating System Services Protection Windows NTRegistry Security ASP and HTML Page Security MTS Application and Data Security SQL Server Access Permissions Auditing Log Files Event Logs Distributed Environments summary Review Chapter 12 Development Deliverables Overview of the Developing Phase Planning Feeds the Developing Phase Deliverable Development Process Who Does What During Development? Step #1:Analysis and Rationalization Step #2:Implementation Step #3:Validation Ongoing Risk Management Process Scope Complete Milestone and Its Deliverables Interim Milestones Revised Functional Specification Revised Master Proect Plan Revised Master Project Schedule Revised Master Risk Assessment Document Source Code and Executables User Peiformance and Support Elements Testing Elements summary Review Case Study 9 Developing RMS Product Management Report Program Management RePort User Education Report Logistics Management Report Development Report Testing Report Problem Solving Regression Testing Scope Complete Milestone Part 4 Shipping the Product Chapter 13 Product Stabiliization Overview of Stabilization Stabilization Process Who Does What During Stabilization? Interim Milestones Milestone #1:Interim Releases as Bugs Converge Milestone #2:Zero-Bug Release Milestone #3:Release Candidates Milestone #4:Final Product Release Ongoing Risk Management Process Release Milestone and Its Deliverables Release Notes User and Support Performance Artifacts Testing Results Proect Archives Product Deployment Planning the Product Deployment Deployment Timeline Software Data Setup and Conversion Interim Product Release Deployment Deployment Methods Production Support Data Migration and Coexistence Issues Summary Review Chapter 14 Project Review Case for Project Review Capability Maturity Models Project Review Considerations Preparation for a Proect Review Meeting Organizing a Project Review Team Capturing Feedback Accountability Summary Review Case Study 10 Shipping RMS Are We Ready for the Users? A Fresh Look User Feedback Reviewing the Project Appendix Review Questions and Answers Glossary Bibliography Index