PART I. GETTING STARTED.
1. Application (Re)Engineering--The Big Picture.
Introduction. Concepts and Definitions. General Framework. Application Concepts and Components. A Classification of Applications. Aligning IT with Business Needs. What is Application (Re)Engineering? Responding to Business Needs--Tying BPR to IT. Application Engineering--Building New Applications. Application Reengineering--Dealing with Legacies. Why This Book? State of the Practice: General Observations. State of the Market: General Observations. State of the Art: General Trends. Summary. A Case Study. Problems and Exercises. Additional Information.
2. Object-Oriented Client/Server Internet Environments.
Introduction. Client/Server Fundamentals. Definitions. Client/Server--A Special Case of Distributed Computing. Client/Server Architectures. OSF DCE--A Client/Server Environment. Internet and the World Wide Web (WWW). Internet, Intranets, and Extranets. Overview of World Wide Web. A Simple Example. Objects and Distributed Objects. Core Object-Oriented Technologies. Distributed Objects for Enterprisewide Applications. CORBA and ActiveX--Middleware for Distributed Objects. Object-Oriented Client/Server Internet Environments. Client/Server Processes--The Applications. Middleware for OCSI Environments. Network Services. Local Software. State of the Practice: Typical Examples. State of the Market: Commercial Products. State of the Art: Standards and Trends. Summary. Case Study: XYZCorp Review of IT Infrastructure Architecture. Problems and Exercises. APPENDIX 2A: Object-Oriented Concepts. Key Concepts. Object-Based Versus Object-Orientation. Additional Information.
3. Methodology Overview: Planning and Modeling.
Introduction. Application (Re)Engineering Methodology. Application Planning--The First Iteration. Overview. Step 1: Identify Business Drivers and Establish High-Level Requirements. Step 2: Investigate Application Architecture Approaches. Step 3: Assess and Plan Infrastructure Architectures. Step 4: Cost/Benefit Analysis. Object Modeling and Prototyping--Second Iteration. Overview. Object-Oriented Analysis--Building the Object Model. Architecture and Prototyping--Applying The Object Model. State of the Practice, Market and Art. Summary. Case Study: XYZCorp Embarks on Application (Re)Engineering. Problems and Exercises. Additional Information.
PART II. APPLICATION ENGINEERING--BUILDING WEB APPLICATIONS.
4. Building New (Web-Based) Applications.
Introduction. Modern Web-Based Applications. Static HTML-Based Applications. Server-Side (CGI-Based) Applications. Client-Side (Java-Based) Applications. Object-Oriented Client/Server (OCSI) Applications. Promises and Pitfalls of OCSI Applications. An Approach to Building OCSI Applications. Overview. Analysis. Application Architectures. Implementation. Deployment and Support. Customizing the Methodology. Overview. Building Web-Based Decision Support Systems (DSSs). Building Web-Based Operational Support Applications. Real-Time Application Development. Application Development Environments. State of the Practice: Examples and Case Studies. State of the Market: Products and Standards. State of the Art: Research Notes. Summary. Case Study: XYZCorp Builds New Applications. Problems and Exercises. Additional Information.
5. Enterprise Data Architectures.
Introduction. Concepts and Definitions. Enterprise (Corporate) Data. Data Life Cycle. Data Architecture. Step 1: Information Requirement Definitions. Step 2: Data Modeling. Step 3: Logical Database Design. Step 4: Data Partitioning and Clustering. Overview. Data Partitioning (Fragmentation). Clustering. Example of Partitioning (Fragmentation) and Clustering. Step 5: Data Allocation Strategies. Overview. Trade-offs in Data Duplication. Intuitive Data Allocation Analysis. Analytical Data Allocation. Step 6: Database Connectivity and Interoperability. Data Connectivity Strategies. Data Interoperability. State of the Practice: Case Studies and Examples. Short Case Studies (“Snippets”). A Detailed Example. State of the Market: Standards and Products. State of the Art: Research Notes. Summary. Case Study: Data Architecture for XYZCorp. Problems and Exercises. Appendix 5A: Two Analytical Data Allocation Method. Non-Redundant Best Fit Data Allocation Method. The Redundant Data Allocation Method. Additional Information.
6. Web-Based Application Software Architectures.
Introduction. Software Architecture Concepts. Definition. A Software Architecture Approach. Organizational Notes. Step 1: Refine/Extend the Object Model. Step 2: Separate Concerns (Layers). Step 3: Decompose Application into Tiers. Single-Tiered Applications Architectures. Two-Tiered Application Architectures. Three-Tiered Application Architectures. Mixed Architectures (Hybrids). Choosing Number of Tiers--The “Tiering Debate”, Step 4: Evaluate/Choose an Infrastructure. General Considerations. Evaluate Middleware for Remote Message Support (RPC, RDA, MOM, COBRA, DCOM). Choose Enterprise Data Management Middleware (TP-Lite or TP-Heavy). Evaluate Internet and Special Application Support. Evaluate Management and Support Services. Analyze Network Support. Understand Operating System Support. Keep Business Reality in Mind. Step 5: Performance and Allocation Analysis. Overview. Client/Server Performance: Issues and Guidelines. Estimating Response Time Performance. Optimal Allocation Algorithms. State of the Practice: Examples and Case Studies. State of the Market: Standards and Products. State of the Art: Research Notes. Summary. Case Study: Application Software Architectures for XYZCorp. Problems and Exercises. Additional Information.
7. Implementation Concepts and Examples (Web, CORBA, ActiveX, DCE, Encina, PowerBuilder).
Introduction. Implementation Issues: General Concepts. Overview. Implementation Approach. Step 1: Detailed Design. Step 2: Create Interface Definitions. Step 3: Build Server Programs. Step 4: Build Client Program(s). Step 5: Testing. A Sample Application. Developing Web-Based Applications. Overview. CGI-Based Application. Java-Based Applications. Object-Oriented Client/Server Internet (OCSI) Applications. COBRA for Developing OCSI Applications. Overview. Create COBRA Definitions. Build the Server. Build Client (Dynamic Invocation). Deploy and Run the Application. ActiveX for Developing OCSI Applications. OSF-DCE for Developing OCSI Applications. Overview. Create Interface Definitions. Build a DCE Server. Build a DCE Client. Deploy Application. Encina for Developing OCSI Applications. Overview. Construct a Transaction Model. Create Interface Definitions. Build an Encina Server. Build an Encina Client. Deploy Application. PowerBuilder for Developing OCSI Applications. Overview. Create an Application Object. Prepare the Server for Use. Build Client Application. Deploy the Application. State of the Practice: Case Studies. State of the Market: Standards and Products. State of the Art: Research Notes. Summary. Case Study: XYZCorp Implements Web-based Systems. Problems and Exercises. Additional Information.
PART III. APPLICATION REENGINEERING: DEALING WITH LEGACIES.
8. Dealing With Legacy Systems: An Overview.
Introduction. Legacy Application Concepts. What Is a Legacy Application? Legacy Application Reengineering Dilemma. Categories of Legacy Applications. Legacy Application Reengineering Strategies. Overview. Strategy 1: Ignore the Legacy Applications. Strategy 2: Rewrite from Scratch (Cold Turkey). Strategy 3: Provide Access in Place (Access/Integration). Strategy 4: Data Warehousing. Strategy 5: Gradual Migration. Planning for Legacy Application Reengineering. Overview. Opportunity Analysis. Choose a Solution Architecture. Implementation Considerations. Cost/Benefit Analysis. Justification and Scheduling. State of the Practice: Case Studies. Off-Shore Reengineering. University of Florida Reengineers via the World Wide Web. Hewlett-Packard's Migration to Client/Server Architecture. United Nations' Personnel Information Systems. Burlington Coat Factory Information System Reengineering. Short Case Studies (“Snippets”). State of the Market: Reengineering Tools. State of the Art: Research Notes. Summary. Case Study: XYZCorp Embarks on Application Reengineering. Problems and Exercises. Additional Information.
9. Access and Integration of Legacy Applications through the Web.
Introduction. Access and Integration Framework. The Basic Framework. Web Factor--Access/Integration through the Web. Legacy Information (Data) Access. Overview. Remote Data Access (RDA) Paradigm. Remote Function Access (RFA) Paradigm. Remote Presentation Access (RPA) Paradigm. Analysis of Paradigms for Legacy Information Access. Integration of Legacy Applications. What is Legacy Application Integration? Access versus Integration Trade-Off--An Example. Approaches to Integrate Legacy Application. Integration Technologies: Object Wrappers & Integration Gateways. Web Gateways--Enabling Access and Integration through the Web. Common Gateway Interface (CGI). Java-Based Gateways. Using Web Gateways. A Procedure for Legacy Application Integration. Step 1: Requirement Definition and Analysis. Step 2: Solution Architectures. Step 3: Implement and Test. Step 4: Deploy and Support. State of the Practice: Case Studies and Examples. Short Case Studies (“Snippets”). Example 1: Access/Integration of DB2 Applications. Example 2: Integration of an IMS Application. State of the Market: Products and Standards. State of the Art: Research Notes. Summary. Case Study: Access/Integration for XYZ Corp. Problems and Exercises. Additional Information.
10: Data Warehouses.
Introduction. What is a Data Warehouse?. Overview. Definitions. Examples. Who Uses the Data Warehouse? Why Data Warehouses? Key Characteristics of a Data Warehouse. Data Characteristics. Tool Characteristics. Data Warehouse Architectures. Localized Functional Warehouses (“The Data Marts”). Centralized Data Warehouse. Distributed Data Warehouses (“The Virtual Warehouse”). Data Warehouse Design Issues. Granularity. Partitioning (Fragmentation). Data Structures. Technologies for Data Warehousing. Data Extraction and Loading Software. Database Engine. Metadata Software. Tools for Data Warehouse Access and Manipulation. Middleware to Access the Data Warehouse. A Procedure for Data Warehouse Planning and Development. Overview. Step 1: Management Planning. Step 2: Requirements Gathering. Step 3: Data Modeling. Step 4: Design and Implementation. Step 5: Deployment and Administration. State of the Practice - Case Studies and Examples. IBM Shifts to Data Marts. ReliaStar Financial Data Warehouse for Competitive Advantage. 3Com's Data Warehouse. British Telecom's Data Warehouse. Banc One's Transition to Data Warehousing. Short Case Studies (“Snippets”). State of the Market. State of the Art: Research Areas. Summary. Case Study: Data Warehouse for XYZCorp. Problems and Exercises. Additional Information.
11. Migration Strategies.
Introduction. Migration Concepts and Strategies. User Interface Migration to Web. Data Migration. Overview. A Framework for Categorizing Data Migration. Data Migration Technologies. Complete Application Migration. Overview. Highly Structured (Decomposable) Application Migration. Semidecomposable (Program Decomposable) Applications. Unstructured (Monolithic) Applications. Migration Gateways--Technologies for Migration. System Migration - Mainframe Unplugs. System Migration Concepts. A Procedure for Migration. Step 1: Business Analysis and Migration Planning. Step 2: Develop and Justify a Migration Architecture. Step 3: Implementation. Step 4: Deployment and Support Considerations. State of the Practice: Examples and Case Studies. Short Case Studies (“Snippets”). A Detailed Example: Migration of a Project Management System. State of the Market: Products. State of the Art: Research Notes. Summary. Case Study: Migration for XYZCorp. Problems and Exercises. Additional Information.