Figures. Boxes. Preface. Acknowledgments. 1. The Problem. Example: Moving to e-business. What is IT architecture? Why is this different from what we did before? Rewrite or evolve? Who develops the architecture? Summary. 2. The Emergence of Standard Middleware. Early days. Preliminaries. Remote procedure calls. Remote database access. Distributed transaction processing. Message queuing. Message queuing versus distributed transaction processing. What happened to all this technology? Summary. 3. Objects, Components, and the Web. Using object middleware. Transactional component middleware. COM_. EJB. Final comments on TCM. Internet Applications. Summary. 4. Web Services. Service concepts. Web services. Using Web services: A pragmatic approach. Summary. 5. A Technical Summary of Middleware. Middleware elements. The communications link. The middleware protocol. The programmatic interface. Data presentation. Server control. Naming and directory services. Security. System management. Comments on Web services. Vendor architectures. Vendor platform architectures. Vendor-distributed architectures. Using vendor architectures. Positioning. Strawman for user target architecture. Marketing. Implicit architectures. Middleware interoperability. Summary. 6. Using Middleware to Build Distributed Applications. What is middleware for? Support for business processes. Information retrieval. Collaboration. Tiers. The presentation tier. The processing tier. The data tier. Services versus tiers. Architectural choices. Middleware bus architectures. Hub architectures. Web services architectures. Loosely coupled versus tightly coupled. Summary. 7. Resiliency. Using backup servers. Detecting failure. Cleanup work in progress. Activating the application. Reprocessing "lost" messages. Dual active. Applying resiliency techniques. System software failure. Planned downtime. Application software failure. Developing a resiliency strategy. Summary. 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 about real time. Batch. Is distribution an alternative? Load balancing. Business intelligence systems. Ad hoc database queries. Data replication. Backups and recovery. Web services. Design for scalability and performance. Summary. 9. Systems Management. Functions and users. Functional categories. Inter-relationships and organization. From silos to distributed environments. Systems management technology. Putting it together. Summary. 10. Security. What security is needed. Traditional distributed system security. Web services security. Architecture and security. Summary. 11. Application Design and IT Architecture. Problems with today's design approaches. Design up front or as needed? The role of business rules. Existing systems. Reuse. Silo and monolithic development. The role of architecture. Levels of design. Reconciling design approaches. Summary. 12. Implementing Business Processes. What is a process? Business processes. Information and processes. Architecture process patterns. Clarification and analysis. Error Handling. Timing. Migration. Flexibility. Summary. 13. Integration Design. The context for integration design. Recovery and long transactions. How to do integration design. What makes a good integration design? Summary. 14. 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. Summary. 15. Changing and Integrating Applications. Creating a presentation layer. Screen-scraping task. Interface size mismatch. Turning existing applications into services. Wrapping. Building a middle tier. Business processing change with new interfaces. Changing the middleware between transaction servers. Batch. Summary. 16. Building an IT Architecture. Case studies. Case 1: Providing an integration infrastructure. Case 2: Creating a service-oriented architecture. Case 3: Developing a new application. Remarks on common mistakes. What does the future hold? The key points to remember. Middleware technology alternatives. IT architecture guidelines. Distributed systems technology principles. Distributed systems implementation design. Appendix: Acronyms. Index.
This book will help IT architects and managers to navigate the choppy waters of IT architecture and middleware, with a focus on objective, practical information that will guide them in developing optimal architectures that blend both new and more mature technologies. When web services entered center stage, it became a fundamental driver for more "loosely-coupled" architectures. Similarly, the arrival of agile methods also challenged familiar processes. Vendor marketers make it sound easy; but IT professionals will need this thorough, practical book source, to successfully use web services to create loosely-coupled applications, just as they must retain already existing critical processes in the quest to become agile.
Chris Britton is an independent consultant, specializing in IT architecture. He has worked in IT for the last twenty-seven years doing a variety of jobs--programming, technical support, system software design, program management, technical consultancy, and even marketing. More recently he has been spending his time developing an IT modeling tool. Peter Bye has had a long career in IT as a programmer, analyst, and project manager, focusing on telecommunications, transaction processing, and distributed systems. Currently a system architect for Unisys Corporation, his experience includes work in software development centers and field projects around the world. Peter is a contributor to international standards in systems management, the author of a number of papers on middleware and other IT topics, and a frequent speaker at conferences and other events.