ebook img

Patterns of Enterprise Application Architecture Patterns of Enterprise Application Architecture PDF

487 Pages·2009·2.98 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Patterns of Enterprise Application Architecture Patterns of Enterprise Application Architecture

[[ TTeeaamm LLiiBB ]] •• TTaabbllee ooff CCoonntteennttss PPaatttteerrnnss ooff EEnntteerrpprriissee AApppplliiccaattiioonn AArrcchhiitteeccttuurree BByy MMaarrttiinn FFoowwlleerr,, DDaavviidd RRiiccee,, MMaatttthheeww FFooeemmmmeell,, EEddwwaarrdd HHiieeaatttt,, RRoobbeerrtt MMeeee,, RRaannddyy SSttaaffffoorrdd PPuubblliisshheerr :: AAddddiissoonn WWeesslleeyy PPuubb DDaattee :: NNoovveemmbbeerr 0055,, 22000022 IISSBBNN :: 00--332211--1122774422--00 PPaaggeess :: 556600 TThhee pprraaccttiiccee ooff eenntteerrpprriissee aapppplliiccaattiioonn ddeevveellooppmmeenntt hhaass bbeenneeffiitteedd ffrroomm tthhee eemmeerrggeennccee ooff mmaannyy nneeww eennaabblliinngg tteecchhnnoollooggiieess.. MMuullttii--ttiieerreedd oobbjjeecctt--oorriieenntteedd ppllaattffoorrmmss,, ssuucchh aass JJaavvaa aanndd ..NNEETT,, hhaavvee bbeeccoommee ccoommmmoonnppllaaccee.. TThheessee nneeww ttoooollss aanndd tteecchhnnoollooggiieess aarree ccaappaabbllee ooff bbuuiillddiinngg ppoowweerrffuull aapppplliiccaattiioonnss,, bbuutt tthheeyy aarree nnoott eeaassiillyy iimmpplleemmeenntteedd.. CCoommmmoonn ffaaiilluurreess iinn eenntteerrpprriissee aapppplliiccaattiioonnss oofftteenn ooccccuurr bbeeccaauussee tthheeiirr ddeevveellooppeerrss ddoo nnoott uunnddeerrssttaanndd tthhee aarrcchhiitteeccttuurraall lleessssoonnss tthhaatt eexxppeerriieenncceedd oobbjjeecctt ddeevveellooppeerrss hhaavvee lleeaarrnneedd.. PPaatttteerrnnss ooff EEnntteerrpprriissee AApppplliiccaattiioonn AArrcchhiitteeccttuurree iiss wwrriitttteenn iinn ddiirreecctt rreessppoonnssee ttoo tthhee ssttiiffff cchhaalllleennggeess tthhaatt ffaaccee eenntteerrpprriissee aapppplliiccaattiioonn ddeevveellooppeerrss.. TThhee aauutthhoorr,, nnootteedd oobbjjeecctt--oorriieenntteedd ddeessiiggnneerr MMaarrttiinn FFoowwlleerr,, nnoottiicceedd tthhaatt ddeessppiittee cchhaannggeess iinn tteecchhnnoollooggyy----ffrroomm SSmmaallllttaallkk ttoo CCOORRBBAA ttoo JJaavvaa ttoo ..NNEETT----tthhee ssaammee bbaassiicc ddeessiiggnn iiddeeaass ccaann bbee aaddaapptteedd aanndd aapppplliieedd ttoo ssoollvvee ccoommmmoonn pprroobblleemmss.. WWiitthh tthhee hheellpp ooff aann eexxppeerrtt ggrroouupp ooff ccoonnttrriibbuuttoorrss,, MMaarrttiinn ddiissttiillllss oovveerr ffoorrttyy rreeccuurrrriinngg ssoolluuttiioonnss iinnttoo ppaatttteerrnnss.. TThhee rreessuulltt iiss aann iinnddiissppeennssaabbllee hhaannddbbooookk ooff ssoolluuttiioonnss tthhaatt aarree aapppplliiccaabbllee ttoo aannyy eenntteerrpprriissee aapppplliiccaattiioonn ppllaattffoorrmm.. TThhiiss bbooookk iiss aaccttuuaallllyy ttwwoo bbooookkss iinn oonnee.. TThhee ffiirrsstt sseeccttiioonn iiss aa sshhoorrtt ttuuttoorriiaall oonn ddeevveellooppiinngg eenntteerrpprriissee aapppplliiccaattiioonnss,, wwhhiicchh yyoouu ccaann rreeaadd ffrroomm ssttaarrtt ttoo ffiinniisshh ttoo uunnddeerrssttaanndd tthhee ssccooppee ooff tthhee bbooookk''ss lleessssoonnss.. TThhee nneexxtt sseeccttiioonn,, tthhee bbuullkk ooff tthhee bbooookk,, iiss aa ddeettaaiilleedd rreeffeerreennccee ttoo tthhee ppaatttteerrnnss tthheemmsseellvveess.. EEaacchh ppaatttteerrnn pprroovviiddeess uussaaggee aanndd iimmpplleemmeennttaattiioonn iinnffoorrmmaattiioonn,, aass wweellll aass ddeettaaiilleedd ccooddee eexxaammpplleess iinn JJaavvaa oorr CC##.. TThhee eennttiirree bbooookk iiss aallssoo rriicchhllyy iilllluussttrraatteedd wwiitthh UUMMLL ddiiaaggrraammss ttoo ffuurrtthheerr eexxppllaaiinn tthhee ccoonncceeppttss.. AArrmmeedd wwiitthh tthhiiss bbooookk,, yyoouu wwiillll hhaavvee tthhee kknnoowwlleeddggee nneecceessssaarryy ttoo mmaakkee iimmppoorrttaanntt aarrcchhiitteeccttuurraall ddeecciissiioonnss aabboouutt bbuuiillddiinngg aann eenntteerrpprriissee aapppplliiccaattiioonn aanndd tthhee pprroovveenn ppaatttteerrnnss ffoorr uussee wwhheenn bbuuiillddiinngg tthheemm.. TThhee ttooppiiccss ccoovveerreedd iinncclluuddee:: Dividing an enterprise application into layers The major approaches to organizing business logic An in-depth treatment of mapping between objects and relational databases Using Model-View-Controller to organize a Web presentation Handling concurrency for data that spans multiple transactions Designing distributed object interfaces [ Team LiB ] [ Team LiB ] • Table of Contents Patterns of Enterprise Application Architecture By Martin Fowler, David Rice, Matthew Foemmel, Edward Hieatt, Robert Mee, Randy Stafford Publisher : Addison Wesley Pub Date : November 05, 2002 ISBN : 0-321-12742-0 Pages : 560 Copyright The Addison-Wesley Signature Series Preface Who This Book Is For Acknowledgments Colophon Introduction Architecture Enterprise Applications Kinds of Enterprise Application Thinking About Performance Patterns Part 1. The Narratives Chapter 1. Layering The Evolution of Layers in Enterprise Applications The Three Principal Layers Choosing Where to Run Your Layers Chapter 2. Organizing Domain Logic Making a Choice Service Layer Chapter 3. Mapping to Relational Databases Architectural Patterns The Behavioral Problem Reading in Data Structural Mapping Patterns Building the Mapping Using Metadata Database Connections Some Miscellaneous Points Further Reading Chapter 4. Web Presentation View Patterns Input Controller Patterns Further Reading Chapter 5. Concurrency Concurrency Problems Execution Contexts Isolation and Immutability Optimistic and Pessimistic Concurrency Control Transactions Patterns for Offline Concurrency Control Application Server Concurrency Further Reading Chapter 6. Session State The Value of Statelessness Session State Chapter 7. Distribution Strategies The Allure of Distributed Objects Remote and Local Interfaces Where You Have to Distribute Working with the Distribution Boundary Interfaces for Distribution Chapter 8. Putting It All Together Starting with the Domain Layer Down to the Data Source Layer Some Technology-Specific Advice Other Layering Schemes Part 2. The Patterns Chapter 9. Domain Logic Patterns Transaction Script Domain Model Table Module Service Layer Chapter 10. Data Source Architectural Patterns Table Data Gateway Row Data Gateway Active Record Data Mapper Chapter 11. Object-Relational Behavioral Patterns Unit of Work Identity Map Lazy Load Chapter 12. Object-Relational Structural Patterns Identity Field Foreign Key Mapping Association Table Mapping Dependent Mapping Embedded Value Serialized LOB Single Table Inheritance Class Table Inheritance Concrete Table Inheritance Inheritance Mappers Chapter 13. Object-Relational Metadata Mapping Patterns Metadata Mapping Query Object Repository Chapter 14. Web Presentation Patterns Model View Controller Page Controller Front Controller Template View Transform View Two Step View Application Controller Chapter 15. Distribution Patterns Remote Facade Data Transfer Object Chapter 16. Offline Concurrency Patterns Optimistic Offline Lock Pessimistic Offline Lock Coarse-Grained Lock Implicit Lock Chapter 17. Session State Patterns Client Session State Server Session State Database Session State Chapter 18. Base Patterns Gateway Mapper Layer Supertype Separated Interface Registry Value Object Money Special Case Plugin Service Stub Record Set References [ Team LiB ] [ Team LiB ] Copyright Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and Addison-Wesley was aware of a trademark claim, the designations have been printed with initial capital letters or in all capitals. The author and publisher have taken care in the preparation of this book, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained herein. The publisher offers discounts on this book when ordered in quantity for bulk purchases and special sales. For more information, please contact: U.S. Corporate and Government Sales (800) 382-3419 [email protected] For sales outside of the U.S., please contact: International Sales (317) 581-3793 [email protected] Visit Addison-Wesley on the Web: www.awprofessional.com Library of Congress Cataloging-in-Publication Data Fowler, Martin, 1963- Patterns of enterprise application architecture / Martin Fowler. p. cm. Includes bibliographical references and index. ISBN 0-321-12742-0 (alk. paper) 1. System design. 2. Computer architecture. 3. Application software—Development. 4. Business—Data processing. I. Title. QA76.9.S88 F69 2003 005.1—dc21 2002027743 Copyright © 2003 by Pearson Education, Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form, or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior consent of the publisher. Printed in the United States of America. Published simultaneously in Canada. For information on obtaining permission for use of material from this work, please submit a written request to: Pearson Education, Inc. Rights and Contracts Department 75 Arlington Street, Suite 300 Boston, MA 02116 Fax: (617) 848-7047 Text printed on recycled paper 1 2 3 4 5 6 7 8 9 10—MA—06 05 04 03 02 First printing, October 2002 Dedication For Denys William Fowler, 1922–2000 in memoriam —Martin [ Team LiB ] [ Team LiB ] The Addison-Wesley Signature Series The Addison-Wesley Signature Series provides readers with practical and authoritative information on the latest trends in modern technology for computer professionals. The series is based on one simple premise: great books come from great authors. Books in the series are personally chosen by expert advisors, world-class authors in their own right. These experts are proud to put their signatures on the covers, and their signatures ensure that these thought leaders have worked closely with authors to define topic coverage, book scope, critical content, and overall uniqueness. The expert signatures also symbolize a promise to our readers: you are reading a future classic. THE ADDISON-WESLEY SIGNATURE SERIES SIGNERS: KENT BECK & MARTIN FOWLER Martin Fowler has been a pioneer of object technology in enterprise applications. His central concern is how to design software well. He focuses on getting to the heart of how to build enterprise software that will last well into the future. He is interested in looking behind the specifics of technologies to the patterns, practices, and principles that last for many years; these books should be usable a decade from now. Martin's criterion is that these are books he wished he could write. Kent Beck has pioneered people-oriented technologies like JUnit, Extreme Programming, and patterns for software development. Kent is interested in helping teams do well by doing good – finding a style of software development that simultaneously satisfies economic, aesthetic, emotional, and practical constraints. His books focus on touching the lives of the creators and users of software. TITLES IN THE SERIES Patterns of Enterprise Application Architecture Martin Fowler, ISBN: 0321127420 Beyond Software Architecture: Creating and Sustaining Winning Solutions Luke Hohmann, ISBN: 0201775948 Test-Driven Development: By Example Kent Beck, ISBN: 0321146530 For more information, check out the series Web site at http://www.awprofessional.com/ [ Team LiB ]

Description:
Patterns of Enterprise Application Architecture is written in direct response to . it's written by business people to capture business, where odd small
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.