Essential Software Architecture

Job titles like “Technical Architect” and “Chief Architect” nowadays abound in software industry, yet many people suspect that “architecture” is one of the most overused and least understood terms in professional software development.Gorton’s book tries t

  • PDF / 8,173,782 Bytes
  • 251 Pages / 439.37 x 666.142 pts Page_size
  • 8 Downloads / 232 Views

DOWNLOAD

REPORT


.

Ian Gorton

Essential Software Architecture Second Edition

Ian Gorton Laboratory Fellow Pacific Northwest National Laboratory PO Box 999 MSIN: K7-90 Richland, WA 99352 USA [email protected]

ACM Computing Classification (1998): D.2 ISBN 978-3-642-19175-6 e-ISBN 978-3-642-19176-3 DOI 10.1007/978-3-642-19176-3 Springer Heidelberg Dordrecht London New York Library of Congress Control Number: 2011926871 # Springer-Verlag Berlin Heidelberg 2006, 2011 This work is subject to copyright. All rights are reserved, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilm or in any other way, and storage in data banks. Duplication of this publication or parts thereof is permitted only under the provisions of the German Copyright Law of September 9, 1965, in its current version, and permission for use must always be obtained from Springer. Violations are liable to prosecution under the German Copyright Law. The use of general descriptive names, 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 protective laws and regulations and therefore free for general use. Cover design: KuenkelLopka GmbH Printed on acid-free paper Springer is part of Springer Science+Business Media (www.springer.com)

Preface

Welcome to the second edition of Essential Software Architecture. It is 5 years since the first edition was published, and in the software architecture world, 5 years is a long time. Hence this updated version, with refreshed chapters to capture new developments in methods and technologies, and to relate relevant experiences from practise. There’s new material covering enterprise architecture, agile development, enterprise service bus technologies and RESTful Web services. All chapters have an updated and more extensive list of recommended reading, capturing many of the best new books, papers, web sites and blogs that I know of. Most notably, the completely new Chap. 10 provides a case study on the design of the MeDICi technology, which extends an open source enterprise service bus with a component-based programming model. The MeDICi technology is open source and freely downloadable (http://www.medici.pnl.gov), making it a highly suitable tool for teaching the advanced concepts of middleware and architecture described in this text. At its heart however, this remains a book that aims to succinctly impart a broad sweep of software architecture knowledge relating to systems built from mainstream middleware technologies. This includes a large, diverse spectrum of systems, ranging from Web-based ecommerce sites to scientific data management and high performance financial data analysis systems.

Motivation What hasn’t changed in the last 5 years is that many projects I work with or review lack an explicit notion of an architectural design. Functional requirements are usually captured using traditio