It Architectures and Middleware: Strategies for Building Large, Integrated Systems

List of Figures. List of Boxes. Preface. Acknowledgments. 1. The Nature of the Problem. Example: Moving to e-business. What is IT architecture? Why is it different from what we did before? The IT architecture approach. Alternatives. Why not surround? Packages. How do we get there? Rewrite. Evolution. Bringing the techies and modelers together. Conclusions. 2. A Short History of Middleware Technology-- From the Stone Age to Message Queuing. Early days. Preliminaries. Remote procedure calls (RPC). Remote database access. Distributed transaction processing. Message queuing. Message queuing vs. distributed transaction processing. What happened to all this technology? 3. A Short History of Middleware Technology-- Object Middleware. Object-oriented concepts. Object middleware concepts. Object middleware technologies-- DCOM and CORBA. Using object interfaces. Conclusions. 4. A Short History of Middleware Technology-- Components and the Web. Internet applications. Transactional component middleware. COM1. EJB. The issues of state. Conclusions. 5. Middleware Classification and Middleware Architectures. Middleware elements. Networking and interoperability. The programmatic interface. Server control. System administration infrastructure. A technical classification of middleware? What is communicating? How they communicate. What is the interface? Classifying middleware from technological principles. Vendor architectures. Positioning. Strawman for user target architecture. Marketing. Implicit architectures. Conclusions. 6. What Is Middleware For? Support for business processes. Transactional, real-time. Transactional, deferrable. Information retrieval. Collaboration. The presentation layer. The transaction server layer. The data layer. A generic functional architecture. Mediators. Conclusions. 7. Resiliency. Using backup servers. Detecting failure. Clean-up work in progress. Activating the application. Reprocessing "lost" messages. Dual active. Applying resiliency techniques in practice. System software failures. Planned downtime. Application software failure. Developing a resiliency strategy. Conclusions. 8. Performance and Scalability. The un-slippery slope. Transaction processing. Object interfaces. Transactional component containers. Two-phase commit. Message queuing. Using remote database access for real-time transactions. Conclusions on real time. Batch. Is distribution an alternative? Load balancing. Business intelligence systems. Ad-hoc database queries. Data replication. Backups and recovery. Design for scalability and performance. Conclusions. 9. Security and Systems Management. Systems management technology. Security technology. Building application security. Circumventing security. Handling internal security violations. Existing applications. Application support for systems management and security. Conclusions. 10. Implementation Design and Components. Some general comments on design. Implementation design. The presentation layer. Mapping business objects to implementation objects. Grouping objects into components. Making reuse work. Completing the implementation design. Conclusions. 11. Implementing Business Processes. What is a process? Business processes. The alternative view--functional analysis. Information and processes. Processes and computer applications. Business rules. Real time vs. deferrable. Data distribution. Long transactions. Generic business processes. Batch. Business process flexibility. Conclusions. 12. Information Access and Information Accuracy. Information access. Basic process information. Process management. Process improvement. Customer view. Marketing and strategic business analysis. Summary of requirements for information access. Information accuracy. Shared data or controlled duplication. Shared data. Controlled duplication. Hybrid strategy. Creating consistency in existing databases. The technical problem. The data migration problem. The business process problem. The information controller. Conclusions. 13. Change-Integration. Creating a presentation layer. Screen-scraping task. Interface size mismatch. Turning existing applications into transaction servers. Wrapping. Building a middle tier. Business processing change with new interfaces. Changing the middleware between transaction servers. Runtime integration products. Extensible markup language (XML). Conclusions. 14. Change-Flexibility. Understanding large applications. Airline example. Bank example. Batch. Conclusions. 15. Building an IT Architecture. Integrated applications architecture. Business process design. Managing information. The organizational and project management context. Understanding existing systems. Business process change design. Application functional design. Implementation design. Implementation-coding. Implementation-testing. Deployment. Project management. Breaking down the barriers. The future. Index. 0201709074T05142003