Distributed applications engineering building new applications and managing legacy applications with distributed technologies

271 19 0
Distributed applications engineering building new applications and managing legacy applications with distributed technologies

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Practitioner Series Springer London Berlin Heidelberg New York Barcelona Budapest HongKong Milan Paris Santa Clara Singapore Tokyo Series Editor Russel Winder, Kings College London Advisory Board Frank Bott, UWA, Aberystwyth Nic Holt lCL, Manchester Kay Hughes, DERA, Malvern Ray Paul, BruneI University, Uxbridge Other titles in this series: The Politics of Usability L Trenner and J Bawa 3-540-76181-0 Electronic Commerce and Business Communications M Chesher and R Kaura 3-540-19930-6 Key Java J Hunt and A McManus 3-540-76259-0 The Project Management Paradigm K.Burnett 3-540-76238-8 Finance for IT Decision Makers M BlackstafJ 3-540-76232-9 Publication due 1998 Inji Wijegunaratne and George Fernandez Distributed Applications Engineering Building New Applications and Managing Legacy Applications with Distributed Technologies Springer Indrajit Wijegunaratne, BSc, MEng, MSc, PhD inji@alphalink.com.au George Fernandez, MSc gfernandez@rmit.edu.au Distributed Computing Research Group, PO Box 71, Royal Melbourne Institute of Technology - Bundoora East Campus, Bundoora, Victoria 3083, Australia ISBN-13:978-3-540-76210-2 British Library Cataloguing in Publication Data Wijegunaratne, lnji Distributed Applications Engineering: Building New Applications and Managing Legacy Application with Distributed Technologies (Practitioner Series) Computer Engineering Computer Architecture Electronic Data Processing - Distributed Processing I Title II Fernandez, George 621.3'9 ISBN-13:978-3-540-76210-2 e-ISBN-13:978-1-4471-1550-2 001: 10.1007/978-1-4471-1550-2 Library of Congress Cataloging-in-Publication Data Wijegunaratne, Inji, 1952 Distributed Applications Engineering: Building New Applications and Managing Legacy Applications with Distributed Technologies lnji Wijegunaratne and George Fernandez p cm (Practitioner series) Includes bibliographical references ISBN-13:978-3-540-7621O-2 (pbk.: alk paper) Electronic Data Processing - Distributed processing Application Software Development I Fernandez, George, 1947 - II Title III Series: Practitioner Series (Springer-Verlag) 98-28535 QA76.9.D5W55 1998 004'.36 dc21 Apart from any fair dealing for the purposes of research or private study, or criticism or review, as permitted under the Copyright, Designs and Patents Act 1988, this publication may only be reproduced, stored or transmitted, in any form or by any means, with the prior permission in writing of the publishers, or in the case of repro graphic reproduction in accordance with the terms oflicences issued by the Copyright Licensing Agency Enquiries concerning reproduction outside those terms should be sent to the publishers © Springer-Verlag London Limited 1998 The use of registered names, trademarks etc in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant laws and regulations and therefore free for general use The publisher makes no representation, express or implied, with regard to the accuracy of the information contained in this book and cannot accept any legal responsibility or liability for any errors or omissions that may be made Typesetting: Elaine Bingham, 30 Wentworth Road, Dronfield, UK 34/3830-543210 Printed on acid-free paper Contents Acknowledgements xiii Authors and Contributors xv List of Abbreviations xvii Part - Introduction and Background Introduction 1.1 Aims and Objectives of this Book 1.2 Organization of Material 1.3 Intended Readership 6 Background and Context 2.1 Evolution of Distributed Computing Evolution of Key Technologies up to the mid 1990s 1955-1970 1970-1980 1980-late 1980s Late 1980s to mid 1990s Development of Distributed Computing to the mid 1990s 2.2 Distributed and Client/Server Computing Client/Server Computing Models of Client/Server Computing Distributed Computing Access and Security Concurrency and Maintenance of Consistency Fault Tolerance (Availability) Heterogeneity and Transparency Inter-process Communication Naming Openness Scalability Resource Sharing and Management 2.3 An Architectural Approach Application Architecture 2.4 Elements of a Technology Architecture Architecture Constituents 9 9 10 11 12 13 17 17 19 21 21 21 22 22 22 22 22 23 23 23 23 26 27 v Distributed Applications Engineering vi 2.5 Capabilities for Application Development Integration Services Information Management: Databases Systems Management Network Services Platforms Middleware and Application Development Products SQL-based Products RPC (RPC-like Mechanism)-based Products Distributed Transaction Processing Monitors Object Brokers Message-Oriented Middleware The Enterprise Forms of Organizational Structure "Traditional" Organizational Structure Challenges to Tradition Networked Organization Process Orientation The Complex Organization The Workgroup An Organizational Model Task Workgroup Function Process Organizational Unit Requirements on the Information System Changeability Formal and Informal Communication Variation from a Standard Visibility and Interoperability 27 27 28 28 28 28 28 29 29 30 30 30 30 31 31 31 31 32 32 33 34 34 36 36 36 36 36 37 37 37 37 Part - The Distributed Application The Three-Tier Application Architecture 3.1 Partitioning the Application Design Principles Classifying Types of Application Behaviour Major Organizing Themes Assignment of Work Organization of Data The Third Tier Partitioning the Components Partitioning Summary Form of the Architecture Nature of the Tiers 3.2 Development Implications 41 41 41 43 45 45 45 47 47 53 53 55 57 Contents 3.3 3.4 3.5 vii Development, Deployment and Controlling Complexity Technology Solutions Organizational Solutions The Application Perspective Designing for Reuse Logical Groupings of Software Designing for Flexible Deployment Versioning Widget Master Revisited Response to Change Requirements Deployment Configurations More Design Issues DAS and Business Objects Business Rules and the Three Tiers Application Development Revisited Order Entry Payment Allocation Separation of Presentation/Delivery from Business Rules and Data Building with Components The Architecture and the Business Model Conclusion 57 59 60 60 60 61 61 62 62 63 65 66 66 67 69 69 70 73 74 76 77 The Three-Tier Architecture: An Object-Oriented Perspective Paul Taylor 4.1 4.2 4.3 4.4 4.5 Background Basis of the Object Paradigm Classes and Objects Encapsulation Inheritance and Polymorphism Models Client Server Roles Modelling Object Interactions Organizational Model Overview of Use Cases Logical Architecture Organizing Principles Reuse and Components Services, Components and Objects Designing with Components Model the Use Cases Define Packages Model the Package and Object Collaborations Define Services Summary 79 79 79 80 80 81 81 82 82 83 84 86 86 87 88 90 90 91 92 93 94 viii Distributed Applications Engineering Part - Coupling and Dependency Coupling in Distributed Systems 5.1 Introduction 5.2 Operationalizing Coupling in Distributed Systems Types of Information Flow along the Connection Data and Control Information Administrative Information Interface Complexity Binding Binding to a Form/Structure Binding to an Implementation Binding to an Occurrence Binding - Summary Types of Connection Between Modules Classification of Communication Types Communication Types and Coupling 5.3 Coupling, Middleware and Systems Design Default Coupling Application Induced Coupling 5.4 Coupling Summary 97 97 99 99 100 100 103 103 104 105 105 106 106 106 108 108 110 110 112 Software Dependency 6.1 Introduction Types of Software Dependency Processing Dependency Informational Dependency Implementing Software Dependencies Simple Processing Dependency Transactional Dependency Informational Dependency Dependencies and Appropriate Coupling 6.2 Identifying Software Dependencies Processing versus Informational Dependencies Transactional versus Non Transactional Dependencies Dependencies between Different Entities Dependencies with Partitioned or Replicated Data 6.3 Origins of Software Dependency Business Dependency Existing Systems and Software 6.4 Managing the Implementation of Informational Dependencies 6.5 Conclusion 115 115 116 116 117 117 118 118 118 118 119 119 120 120 122 124 124 125 126 128 Contents ix Part - Distributed Computing and the Enterprise The Enterprise and the Distributed Application: Alternative Architectures 7.1 Titanic Distributors Ltd 7.2 The Current System 7.3 Analysis of Dependency Enter and Process Order Apply Payment Order Processing Application of Payments 7.4 The New Distributed System A Single Global Distributed System System Growth and Coupling A Message-Based Clustered Architecture An Approach to Clustering A Message-Based Clustered Design for Titanic Clustering: Processing and Administrative Isolation A Request/Reply-Based Clustered Architecture 7.5 Distributed Application Alternatives: Discussion 133 133 133 135 136 136 137 139 141 141 144 145 145 147 150 154 155 The Federation 8.1 Overview 8.2 The Domain Demarcating Domain Boundaries Inside the Domain 8.3 The Federal Highway The Federal Directory Services Message Delivery Mechanisms 8.4 The Gatekeeper 8.5 The Contract: A Domain's Obligations to the Federation 8.6 Processing and Administrative Isolation 8.7 Transition to the Federation 8.8 Federated Architecture and Organizational Structure 8.9 Example: an Australian Transport Company 8.10 Conclusion 159 159 160 160 162 162 163 164 165 166 168 170 171 172 174 Implementing the Federation 9.1 Introduction Overview MQSeries Queuing Middleware The Directory Services Domain The Gatekeeper Publisher's Gatekeeper Subscriber's Gatekeeper 9.2 Federation Protocols Initiate a New Publication 177 177 177 179 179 182 182 182 183 183 x Distributed Applications Engineering Subscribing to a Publication Start a Publication Publishing Delete Subscription to a Publication Delete a Publication Delete Domain Modify a Publication 184 185 185 185 187 187 189 10 Experiences in a Financial Institution 10.1 Motivation Application Data Interchange (ADI) Objectives 10.2 The Approach to ADI Balancing and Control Intelligent Gateway and Message Formats Routers and Domains Underpinning Design Principles and Requirements Minimize Change to Existing Applications No Application Specific Logic Based on Messaging and Queuing ModeL Client/Server Model Time-Out Error Handling 10.3 ADI Conceptual Design ADI Components Intelligent Gateways and Data Transportation Flow Through an Intelligent Gateway ADI Functions and Support Features Data Format Standards Router/Data Transport Mechanism ADI Directory System Utilities Recovery lOA ADI Architecture: Summary and Discussion Summary ADI Benefits Discussion 10.5 Commentary 191 191 193 193 194 194 195 197 197 198 198 199 199 199 199 200 200 200 200 201 202 202 202 203 203 203 203 205 206 206 11 Pulling it all Together 11.1 Application Software and the Enterprise 11.2 Organizational Requirements Changeability Formal and Informal Communication Variation from a Standard Visibility and Interoperability 11.3 Conclusion 209 209 213 213 214 214 214 215 Distributed Applications Engineering 254 Request raised locally MQPUT ~_:delpub Prepare message to delete publication Send to Directory (pItIIIIII.r Ill: dirser M-.ge: • itemid • publisher id • rep-t

Ngày đăng: 17/01/2020, 08:51

Tài liệu cùng người dùng

Tài liệu liên quan