KI-Beratung Beta

Produktbild: SOA Design Patterns

SOA Design Patterns

Fr. 71.90

inkl. gesetzl. MwSt., Versandkostenfrei


Beschreibung

“SOA Design Patterns is an important contribution to the literature and practice of building and delivering quality software-intensive systems.”

- Grady Booch, IBM Fellow

“With the continued explosion of services and the increased rate of adoption of SOA through the market, there is a critical need for...

Beschreibung

“SOA Design Patterns is an important contribution to the literature and practice of building and delivering quality software-intensive systems.”

- Grady Booch, IBM Fellow

“With the continued explosion of services and the increased rate of adoption of SOA through the market, there is a critical need for comprehensive, actionable guidance that provides the fastest possible time to results. Microsoft is honored to contribute to the SOA Design Patterns book, and to continue working with the community to realize the value of Real World SOA.”

- Steven Martin, Senior Director, Developer Platform Product Management, Microsoft

“SOA Design Patterns provides the proper guidance with the right level of abstraction to be adapted to each organization’s needs, and Oracle is pleased to have contributed to the patterns contained in this book.”

- Dr. Mohamad Afshar, Director of Product Management, Oracle Fusion Middleware, Oracle

“Red Hat is pleased to be involved in the SOA Design Patterns book and contribute important SOA design patterns to the community that we and our customers have used within our own SOA platforms. I am sure this will be a great resource for future SOA practitioners.”

- Pierre Fricke Director, Product Line Management, JBoss SOA Platform, Red Hat

“A wealth of proven, reusable SOA design patterns, clearly explained and illustrated with examples. An invaluable resource for all those involved in the design of service-oriented solutions.”

- Phil Thomas, Consulting IT Specialist, IBM Software Group

“This obligatory almanac of SOA design patterns will become the foundation on which many organizations will build their successful SOA solutions. It will allow organizations to build their own focused SOA design patterns catalog in an expedited fashion knowing that it contains the wealth and expertise of proven SOA best practices.”

- Stephen Bennett, Director, Technology Business Unit, Oracle Corporation

“The technical differences between service orientation and object orientation are subtle

enough to confuse even the most advanced developers. Thomas Erl’s book provides a great service by clearly articulating SOA design patterns and differentiating them from similar OO design patterns.”

- Anne Thomas Manes, VP & Research Director, Burton Group

“SOA Design Patterns does an excellent job of laying out and discussing the areas of SOA design that a competent SOA practitioner should understand and employ.”

- Robert Laird, SOA Architect, IBM

“As always, Thomas delivers again. In a well-structured and easy-to-understand way, this book provides a wonderful collection of patterns each addressing a typical set of SOA design problems with well articulated solutions. The plain language and hundreds of diagrams included in the book help make the complicated subjects of SOA design comprehensible even to those who are new to the SOA design world. It’s a must-have reference book for all SOA practitioners, especially for enterprise architects, solution architects, developers, managers, and business process experts.”

- Canyang Kevin Liu, Solution Architecture Manager, SAP

“The concept of service oriented architecture has long promised visions of agile organizations being able to swap out interfaces and applications as business needs change. SOA also promises incredible developer and IT productivity, with the idea that key services would be candidates for cross-enterprise sharing or reuse. But many organizations’ efforts to move to SOA have been mired–by organizational issues, by conflicting vendor messages, and by architectures that may amount to little more than Just a Bunch of Web Services. There’s been a lot of confusion in the SOA marketplace about exactly what SOA is, what it’s supposed to accomplish, and how an enterprise goes about in making it work.

SOA Design Patterns is a definitive work that offers clarity on the purpose and functioning of service oriented architecture. SOA Design Patterns not only helps the IT practitioner lay the groundwork for a well-functioning SOA effort across the enterprise, but also connects the dots between SOA and the business requirements in a very concrete way. Plus, this book is completely technology agnostic—SOA Design Patterns rightly focuses on infrastructure and architecture, and it doesn’t matter whether you’re using components of one kind or another, or Java, or .NET, or Web services, or REST-style interfaces.

While no two SOA implementations are alike, Thomas Erl and his team of contributors have effectively identified the similarities in composition services need to have at a sub-atomic level in order to interact with each other as we hope they will. The book identifies 85 SOA design patterns which have been developed and thoroughly vetted to ensure that a service-oriented architecture does achieve the flexibility and loose coupling promised. The book is also compelling in that it is a living document, if you will, inviting participation in an open process to identify and formulate new patterns to this growing body of knowledge.”

- Joe McKendrick, Independent Analyst, Author of ZDNet’s SOA Blog

“If you want to truly educate yourself on SOA, read this book.”

- Sona Srinivasan, Global Client Services & Operations, CISCO

“An impressive decomposition of the process and architectural elements that support serviceoriented analysis, design, and delivery. Right-sized and terminologically consistent.

Overall, the book represents a patient separation of concerns in respect of the process and architectural parts that underpin any serious SOA undertaking. Two things stand out. First, the pattern relationship diagrams provide rich views into the systemic relationships that structure a service-oriented architecture: these patterns are not discrete, isolated templates to be applied mechanically to the problem space; rather, they form a network of forces and constraints that guide the practitioner to consider the task at hand in the context of its inter-dependencies. Second, the pattern sequence diagrams and accompanying notes provide a useful framework for planning and executing the many activities that comprise an SOA engagement.”

- Ian Robinson, Principal Technology Consultant, ThoughtWorks

“Successful implementation of SOA principles requires a shift in focus from software system means, or the way capabilities are developed, to the desired end results, or real-world effects required to satisfy organizational business processes. In SOA Design Patterns, Thomas Erl provides service architects with a broad palette of reusable service patterns that describe service capabilities that can cut across many SOA applications. Service architects taking advantage of these patterns will save a great deal of time describing and assembling services to deliver the real world effects they need to meet their organization’s specific business objectives.”

- Chuck Georgo, Public Safety and National Security Architect

“In IT, we have increasingly come to see the value of having catalogs of good solution patterns in programming and systems design. With this book, Thomas Erl brings a comprehensive set of patterns to bear on the world of SOA. These patterns enable easily communicated, reusable, and effective solutions, allowing us to more rapidly design and build out the large, complicated and interoperable enterprise SOAs into which our IT environments are evolving.”

- Al Gough, Business Systems Solutions CTO, CACI International Inc.

“This book provides a comprehensive and pragmatic review of design issues in service-centric design, development, and evolution.

- Veronica Gacitua Decar, Dublin City University

“Erl’s SOA Design Patterns is for the IT decision maker determined to make smart architecture design choices, smart investments, and long term enterprise impact. For those IT professionals committed to service-orientation as a value-added design and implementation option, Patterns offers a credible, repeatable approach to engineering an adaptable business enterprise. This is a must read for all IT architect professionals.”

- Larry Gloss, VP and General Manager, Information Manufacturing, LLC

“These SOA patterns define, encompass, and comprise a complete repertoire of best practices for developing a world-class IT SOA portfolio for the enterprise and its organizational units through to service and schema analysis and design. After many years as an architect on many SOA projects, I strongly recommend this book be on the shelf of every analyst and technical member of any SOA effort, right next to the SOA standards and guidelines it outlines and elucidates the need for. Our SOA governance standards draw heavily from this work and others from this series.”

- Robert John Hathaway III, Enterprise Software Architect, SOA Object Systems

“A wise man once told me that wisdom isn’t all about knowledge and intelligence, it is just as much about asking questions. Asking questions is the true mark of wisdom and during the writing of the SOA Design Patterns book Thomas Erl has shown his real qualities. The community effort behind this book is huge meaning that Thomas has had access to the knowledge and experience of a large group of accomplished practitioners. The result speaks for itself. This book is packed with proven solutions to recurring problems, and the documented pros and cons of each solution have been verified by persons with true experience. This book could give SOA initiatives of any scale a real boost.”

- Herbjörn Wilhelmsen, Architect and Senior Consultant, Objectware

“This book is an absolute milestone in SOA literature. For the first time we are provided with a practical guide on how the principle centric description of service orientation from a vendor-agnostic viewpoint is actually made to work in a language based on patterns. This book makes you talk SOA! There are very few who understand SOA like Thomas Erl does, he actually put’s it all together!”

- Brian Lokhorst, Solution Architect, Dutch Tax Office

“Service oriented architecture is all about best practices we have learned since IT’s existence. This book takes all those best practices and bundles them into a nice pattern catalogue. [It provides] a really excellent approach as patterns are not just documented but are provided with application scenarios through case studies [which] fills the gap between theory and practice.”

- Shakti Sharma, Senior Enterprise Architect, Sysco Corp

“An excellent and important book on solving problems in SOA [with a] solid structure. Has the potential of being among the major influential books.”

- Peter Chang, Lawrence Technical University

“SOA Design Patterns presents a vast amount of knowledge about how to successfully implement SOA within an organization. The information is clear, concise, and most importantly, legitimate.”

- Peter B. Woodhull, President and Principal Architect, Modus21

“SOA Design Patterns offers real insights into everyday problems that one will encounter when investing in services oriented architecture. [It] provides a number of problem descriptions and offers strategies for dealing with these problems. SOA design patterns highlights more than just the technical problems and solutions. Common organizational issues that can hinder progress towards achieving SOA migration are explained along with potential approaches for dealing with these real world challenges. Once again Thomas Erl provides in-depth coverage of SOA terminology and helps the reader better understand and appreciate the complexities of migrating to an SOA environment.”

- David Michalowicz, Air and Space Operations Center Modernization Team Lead,

MITRE Corporation

“This is a long overdue, serious, comprehensive, and well-presented catalog of SOA design patterns. This will be required reading and reference for all our SOA engineers and architects. The best of the series so far!

[The book] works in two ways: as a primer in SOA design and architecture it can easily be read front-to-back to get an overview of most of the key design issues you will encounter, and as a reference catalog of design techniques that can be referred to again and again…”

- Wendell Ocasio, Architecture Consultant, DoD Military Health Systems, Agilex Technologies

“Thomas has once again provided the SOA practitioner with a phenomenal collection of

knowledge. This is a reference that I will come back to time and time again as I move forward in SOA design efforts.

What I liked most about this book is its vendor agnostic approach to SOA design patterns. This approach really presents the reader with an understanding of why or why not to implement a pattern, group patterns, or use compound patterns rather than giving them a marketing spiel on why one implementation of a pattern is better than another (for example, why one ESB is better than another). I think as SOA adoption continues to advance, the ability for architects to understand when and why to apply specific patterns will be a driving factor in the overall success and evolution of SOA. Additionally, I believe that this book provides the consumer with the understanding required to chose which vendor’s SOA products are right for their specific needs.”

- Bryan Brew, SOA Consultant, Booz Allen Hamilton

“A must have for every SOA practitioner.”

- Richard Van Schelven, Principal Engineer, Ericsson

“This book is a long-expected successor to the books on object-oriented design patterns and integration patterns. It is a great reference book that clearly and thoroughly describes design patterns for SOA. A great read for architects who are facing the challenge of transforming their enterprise into a service-oriented enterprise.”

- Linda Terlouw, Solution Architect, Ordina

“The maturation of Service-Orientation has given the industry time to absorb the best practices of service development. Thomas Erl has amassed this collective wisdom in SOA Design Patterns, an absolutely indispensible addition to any Service Oriented bookshelf.”

- Kevin P. Davis, Ph.D

“The problem with most texts on SOA is one of specificity. Architects responsible for SOA implementation in most organizations have little time for abstract theories on the subject, but are hungry for concrete details that they can relate to the real problems they face in their environment. SOA Design Patterns is critical reading for anyone with service design responsibilities. Not only does the text provide the normal pattern templates, but each pattern is applied in detail against a background case study to provide exceptionally meaningful context to the information. The graphic visualizations of the problems and pattern solutions are excellent supplementary companions to the explanatory text. This book will greatly stretch the knowledge of the reader as much for raising and addressing issues that may have never occurred to the reader as it does in treating those problems that are in more common occurrence. The real beauty of this book is in its plain English prose. Unlike so many technical reference books, one does not find themselves re-reading sections multiple times trying to discern the intent of the author. This is also not a reference that will sit gathering dust on a shelf after one or two perusings. Practitioners will find themselves returning over and over to utilize the knowledge in their projects. This is as close as you’ll come to having a service design expert sitting over your shoulder.”

- James Kinneavy, Principal Software Architect, University of California

“As the industry converges on SOA patterns, Erl provides an outstanding reference guide to composition and integration–and yet another distinctive contribution to the SOA practice.”

- Steve Birkel, Chief IT Technical Architect, Intel Corp.

“With SOA Design Patterns, Thomas Erl adds an indispensable SOA reference volume to the technologist’s library. Replete with to-the-point examples, it will be a helpful aid to any IT organization.”

- Ed Dodds, Strategist, Systems Architect, Conmergence

“Again, Thomas Erl has written an indispensable guide to SOA. Building on his prior successes, his patterns go into even more detail. Therefore, this book is not only helpful to the SOA beginner, but also provides new insight and ideas to professionals.”

- Philipp Offermann, Research Scientist, Technische Universität Berlin, Germany

“SOA Design Patterns is an extraordinary contribution to SOA best practices! Once again, Thomas has created an indispensable resource for any person or organization interested in or actively engaged in the practice of Service Oriented Architecture. Using case studies based on three very different business models, Thomas guides the reader through the process of selecting appropriate implementation patterns to ensure a flexible, well-performing, and secure SOA ecosystem.”

- Victor Brown, Managing Partner and Principal Consultant,

Cypress Management Group Corporation

In cooperation with experts and practitioners throughout the SOA community, best-selling author Thomas Erl brings together the de facto catalog of design patterns for SOA and service-orientation. More than three years in development and subjected to numerous industry reviews, the 85 patterns in this full-color book provide the most successful and proven design techniques to overcoming the most common and critical problems to achieving modern-day SOA. Through numerous examples, individually documented pattern profiles, and over 400 color illustrations, this book provides in-depth coverage of: •  Patterns for the design, implementation, and governance of service inventories–collections of services representing individual service portfolios that can be independently modeled, designed, and evolved. •   Patterns specific to service-level architecture which pertain to a wide range of design areas, including contract design, security, legacy encapsulation, reliability, scalability, and a variety of implementation and governance issues. •   Service composition patterns that address the many aspects associated with combining services into aggregate distributed solutions, including topics such as runtime messaging and message design, inter-service security controls, and transformation. •   Compound patterns (such as Enterprise Service Bus and Orchestration) and recommended pattern application sequences that establish foundational processes. The book begins by establishing SOA types that are referenced throughout the patterns and then form the basis of a final chapter that discusses the architectural impact of service-oriented computing in general. These chapters bookend the pattern catalog to provide a clear link between SOA design patterns, the strategic goals of service-oriented computing, different SOA types, and the service-orientation design paradigm.

This book series is further supported by a series of resources sites, including

Produktdetails

Einband

Taschenbuch

Erscheinungsdatum

28.09.2024

Verlag Pearson Education Limited
Seitenzahl

864

Produktdetails

Einband

Taschenbuch

Erscheinungsdatum

28.09.2024

Verlag Pearson Education Limited
Seitenzahl

864

Maße (L/B/H)

23.5/17.8/4.6 cm

Gewicht

1411 g

Auflage

1

Sprache

Englisch

ISBN

978-0-13-476742-0

Herstelleradresse

Pearson
St.-Martin-Straße 82
81541 München
DE

Email: salesde@pearson.com

Noch keine Bewertungen vorhanden

Verfassen Sie die erste Bewertung zu diesem Artikel

Helfen Sie anderen Kundinnen und Kunden durch Ihre Meinung.

Kundinnen und Kunden meinen

Bewertungen (0)

Die Leseprobe wird geladen.
  • Produktbild: SOA Design Patterns
  • Foreword...xxxvii

    CHAPTER 1: Introduction...1

    1.1 Objectives of this Book ... 4

    1.2 Who this Book is For ... 4

    1.3 What this Book Does Not Cover...  4

    Topics Covered by Other Books  ...4

    Web Service and REST Service Design Patterns ... 5

    SOA Standardization Efforts...  5

    1.4 Recommended Reading ... 6

    1.5 How this Book is Organized...  7

    Part I: Fundamentals...  8

    Part II: Service Inventory Design Patterns...  8

    Part III: Service Design Patterns  . . 8

    Part IV: Service Composition Design Patterns  . . 9

    Part V: Supplemental. . . 10

    Part VI: Appendices . . . 10

    1.6 Symbols, Figures, Style Conventions  . . . 11

    Symbol Legend  . . . 11

    How Color is Used  11

    Data Flow and Directionality Conventions  . . 11

    Pattern Documentation Conventions  . 11

    1.7 Additional Information    11

    Notification Service  13

    Contact the Author  13

    CHAPTER 2: Case Study Background  . 15

    2.1 Case #1 Background: Cutit Saws Ltd  17

    History  18

    Technical Infrastructure and Automation Environment  .  18

    Business Goals and Obstacles.  . 18

    2.2 Case #2 Background: Alleywood Lumber Company  . 19

    History  19

    Technical Infrastructure and Automation Environment  .  20

    Business Goals and Obstacles.  . 20

    2.3 Case #3 Background: Forestry Regulatory

    Commission (FRC) . . 21

    History  21

    Technical Infrastructure and Automation Environment  .  21

    Business Goals and Obstacles.  . 22

    PART I: FUNDAMENTALS

    CHAPTER 3: Basic Terms and Concepts  .  . . . . 25

    Purpose of this Introductory Chapter  . . . 26

    3.1 Architecture Fundamentals  26

    A Classic Analogy for Architecture and Infrastructure  .  27

    Technology Architecture 27

    Technology Infrastructure  . 30

    Software Program  . 32

    Relationship to Design Framework   . 33

    3.2 Service-Oriented Computing Fundamentals.  .  . . 35

    Service-Oriented Computing  . . . 35

    Service-Orientation  36

    Service-Oriented Architecture (SOA)  . . . 37

    Service  .  . . . . 37

    Service Capability  . 38

    Service Consumer.  38

    Service Composition . . . 40

    Service Inventory.  . 42

    Service-Oriented Analysis.  43

    Service Candidate.  44

    3.3 Service Implementation Mediums  . . . 44

    Services as Components  . 45

    Services as Web Services  45

    REST Services.  . . . 46

    CHAPTER 4: The Architecture of Service-Orientation . . 47

    Purpose of this Introductory Chapter  . . . 48

    4.1 The Method of Service-Orientation  48

    Principles of Service-Orientation.  48

    Strategic Goals of Service-Oriented Computing.  .  . . . . 51

    4.2 The Four Characteristics of SOA   52

    Business-Driven  . . 53

    Vendor-Neutral  . . . 54

    Enterprise-Centric  . 58

    Composition-Centric . . . 59

    4.3 The Four Common Types of SOA  . 61

    Service Architecture . . . 62

    Information Hiding  . . . . 64

    Design Standards  .  64

    Service Contracts  .  65

    Service Agents  .  . . 67

    Service Capabilities  . . . 68

    Service Composition Architecture   . 68

    Nested Compositions  . . 72

    Task Services and Alternative Compositions  . 73

    Compositions and Infrastructure.    74

    Service Inventory Architecture  . . 74

    Service-Oriented Enterprise Architecture   76

    Architecture Types and Scope  . . 77

    Architecture Types and Inheritance   77

    Other Forms of Service-Oriented Architecture  . 78

    Inter-Business Service Architecture  . . 78

    Service-Oriented Community Architecture  . . 78

    4.4 The End Result of Service-Orientation  . . 79

    CHAPTER 5: Understanding SOA Design Patterns  . 85

    Purpose of this Introductory Chapter  . . . 86

    5.1 Fundamental Terminology.  86

    What’s a Design Pattern?  . 86

    What’s a Compound Pattern?  . . . 88

    What’s a Design Pattern Language?  . 88

    What’s a Design Pattern Catalog?  . . . 89

    5.2 Historical Influences  89

    Alexander’s Pattern Language  . . 90

    Object-Oriented Patterns  . 91

    Software Architecture Patterns  . . 92

    Enterprise Application Architecture Patterns  . . 93

    EAI Patterns  .  93

    SOA Patterns  . . . . 94

    5.3 Pattern Notation . 95

    Pattern Symbols  . . 95

    Pattern Figures  . . . 96

    Pattern Application Sequence Figures  96

    Pattern Relationship Figures. 96

    Compound Pattern Hierarchy Figures  99

    Capitalization.  . . . 100

    Page Number References.    100

    5.4 Pattern Profiles . 100

    Requirement  . . . . 101

    Icon  . 101

    Summary  .  . 102

    Problem  .  . . . 102

    Solution  .  . . . 102

    Application  .  103

    Impacts  .  . . . 103

    Relationships.  . . . 103

    Case Study Example. . 103

    5.5 Patterns with Common Characteristics.  104

    Canonical Patterns . . . 104

    Centralization Patterns 105

    5.6 Key Design Considerations  . . 106

    “Enterprise” vs. “Enterprise-wide”  . . 106

    Design Patterns and Design Principles  106

    Design Patterns and Design Granularity  . . 107

    Measures of Design Pattern Application  . . 108

    PART II: SERVICE INVENTORY DESIGN PATTERNS

    CHAPTER 6: Foundational Inventory Patterns  . . . 111

    How Inventory Design Patterns Relate to SOA Design

    Characteristics  . . 113

    How Foundational Inventory and Service Patterns Relate  . 114

    How Case Studies are Used in this Chapter.  . 114

    6.1 Inventory Boundary Patterns  . 114

    Enterprise Inventory  . 116

    Problem  .  . . . 116

    Solution  .  . . . 117

    Application.  .  118

    Impacts  .  . . . 120

    Relationships.  . . . 121

    Case Study Example. . 122

    Domain Inventory . 123

    Problem  .  . . . 123

    Solution  .  . . . 124

    Application.  .  125

    Impacts  .  . . . 126

    Relationships.  . . . 127

    Case Study Example. . 128

    6.2 Inventory Structure Patterns   130

    Service Normalization.    131

    Problem  .  . . . 131

    Solution  .  . . . 132

    Application.  .  132

    Impacts  .  . . . 133

    Relationships.  . . . 133

    Case Study Example. . 135

    Logic Centralization  . 136

    Problem  .  . . . 136

    Solution  .  . . . 137

    Application.  .  137

    Impacts  .  . . . 139

    Relationships.  . . . 140

    Case Study Example. . 142

    Service Layers  143

    Problem  .  . . . 143

    Solution  .  . . . 144

    Application.  .  145

    Impacts  .  . . . 147

    Relationships.  . . . 147

    Case Study Example. . 148

    6.3 Inventory Standardization Patterns   149

    Canonical Protocol 150

    Problem  .  . . . 151

    Solution  .  . . . 152

    Application.  .  153

    Impacts  .  . . . 155

    Relationships.  . . . 155

    Case Study Example. . 157

    Canonical Schema 158

    Problem  .  . . . 158

    Solution  .  . . . 159

    Application.  .  159

    Impacts  .  . . . 159

    Relationships.  . . . 160

    Case Study Example. . 161

    CHAPTER 7: Logical Inventory Layer Patterns  . . . 163

    Combining Layers  164

    Business Logic and Utility Logic  . . . 166

    Agnostic Logic and Non-Agnostic Logic   166

    Service Layers and Logic Types  . . . 167

    Utility Abstraction . 168

    Problem  .  . . . 168

    Solution  .  . . . 169

    Application.  .  170

    Impacts  .  . . . 171

    Relationships.  . . . 171

    Case Study Example. . 173

    Entity Abstraction . 175

    Problem  .  . . . 175

    Solution  .  . . . 176

    Application.  .  176

    Impacts  .  . . . 178

    Relationships.  . . . 178

    Case Study Example. . 180

    Process Abstraction  . 182

    Problem  .  . . . 182

    Solution  .  . . . 183

    Application.  .  184

    Impacts  .  . . . 185

    Relationships.  . . . 185

    Case Study Example. . 187

    CHAPTER 8: Inventory Centralization Patterns  . . 191

    Process Centralization    193

    Problem  .  . . . 193

    Solution  .  . . . 194

    Application.  .  195

    Impacts  .  . . . 196

    Relationships.  . . . 197

    Case Study Example. . 198

    Schema Centralization    200

    Problem  .  . . . 200

    Solution  .  . . . 201

    Application.  .  202

    Impacts  .  . . . 202

    Relationships.  . . . 203

    Case Study Example. . 203

    Policy Centralization  . 207

    Problems  .  . . 207

    Solution  .  . . . 208

    Application.  .  209

    Impacts  .  . . . 210

    Relationships.  . . . 211

    Case Study Example. . 213

    Rules Centralization  . 216

    Problem  .  . . . 216

    Solution  .  . . . 217

    Application.  .  217

    Impacts  .  . . . 218

    Relationships.  . . . 219

    Case Study Example. . 222

    CHAPTER 9: Inventory Implementation Patterns  . 225

    Dual Protocols  227

    Problem  .  . . . 228

    Solution  .  . . . 228

    Application.  .  228

    Impacts  .  . . . 233

    Relationships.  . . . 234

    Case Study Example. . 235

    Canonical Resources  237

    Problem  .  . . . 238

    Solution  .  . . . 238

    Application.  .  239

    Impacts  .  . . . 239

    Relationships.  . . . 239

    Case Study Example. . 241

    State Repository . . 242

    Problem  .  . . . 242

    Solution  .  . . . 243

    Application.  .  244

    Impacts  .  . . . 244

    Relationships.  . . . 244

    Case Study Example. . 246

    Stateful Services . . 248

    Problem  .  . . . 248

    Solution  .  . . . 248

    Application.  .  250

    Impacts  .  . . . 250

    Relationships.  . . . 250

    Case Study Example. . 251

    Service Grid  . . 254

    Problem  .  . . . 254

    Solution  .  . . . 255

    Application.  .  256

    Impacts  .  . . . 257

    Relationships.  . . . 258

    Case Study Example. . 259

    Inventory Endpoint 260

    Problem  .  . . . 260

    Solution  .  . . . 261

    Application.  .  262

    Impacts  .  . . . 263

    Relationships.  . . . 263

    Case Study Example. . 265

    Cross-Domain Utility Layer  267

    Problem  .  . . . 267

    Solution  .  . . . 268

    Application.  .  269

    Impacts  .  . . . 269

    Relationships.  . . . 270

    Case Study Example. . 270

    CHAPTER 10: Inventory Governance Patterns  . . . 273

    Canonical Expression.    275

    Problem  .  . . . 275

    Solution  .  . . . 275

    Application.  .  276

    Impacts  .  . . . 277

    Relationships.  . . . 278

    Case Study Example. . 279

    Metadata Centralization  . . . 280

    Problem  .  . . . 280

    Solution  .  . . . 281

    Application.  .  282

    Impacts  .  . . . 283

    Relationships.  . . . 283

    Case Study Example. . 284

    Canonical Versioning  286

    Problem  .  . . . 286

    Solution  .  . . . 287

    Application.  .  287

    Impacts  .  . . . 288

    Relationships.  . . . 288

    Case Study Example. . 290

    PART III: SERVICE DESIGN PATTERNS

    CHAPTER 11: Foundational Service Patterns  . . . . 295

    Case Study Background    297

    11.1 Service Identification Patterns  . 299

    Functional Decomposition  . 300

    Problem  .  . . . 300

    Solution  .  . . . 301

    Application.  .  302

    Impacts  .  . . . 302

    Relationships.  . . . 303

    Case Study Example. . 303

    Service Encapsulation    305

    Problem  .  . . . 305

    Solution  .  . . . 306

    Application.  .  307

    Impacts  .  . . . 309

    Relationships.  . . . 309

    Case Study Example. . 310

    11.2 Service Definition Patterns   311

    Agnostic Context. . 312

    Problem  .  . . . 313

    Solution  .  . . . 314

    Application.  .  315

    Impacts  .  . . . 315

    Relationships.  . . . 316

    Case Study Example. . 317

    Non-Agnostic Context    319

    Problem  .  . . . 319

    Solution  .  . . . 320

    Application.  .  321

    Impacts  .  . . . 322

    Relationships.  . . . 322

    Case Study Example. . 323

    Agnostic Capability324

    Problem  .  . . . 324

    Solution  .  . . . 325

    Application.  .  326

    Impacts  .  . . . 327

    Relationships.  . . . 327

    Case Study Example. . 328

    CHAPTER 12: Service Implementation Patterns.  . 331

    Service Façade . . . 333

    Problem  .  . . . 333

    Solution  .  . . . 334

    Application.  .  335

    Impacts  .  . . . 341

    Relationships.  . . . 342

    Case Study Example. . 343

    Redundant Implementation  345

    Problem  .  . . . 345

    Solution  .  . . . 346

    Application.  .  346

    Impacts  .  . . . 347

    Relationships.  . . . 348

    Case Study Example. . 349

    Service Data Replication  . . 350

    Problem  .  . . . 350

    Solution  .  . . . 352

    Application.  .  353

    Impacts  .  . . . 353

    Relationships.  . . . 353

    Case Study Example. . 354

    Partial State Deferral  . 356

    Problem  .  . . . 356

    Solution  .  . . . 357

    Application.  .  358

    Impacts  .  . . . 359

    Relationships.  . . . 359

    Case Study Example. . 360

    Partial Validation . . 362

    Problem  .  . . . 362

    Solution  .  . . . 363

    Application.  .  364

    Impacts  .  . . . 364

    Relationships.  . . . 364

    Case Study Example. . 365

    UI Mediator.  . . 366

    Problem  .  . . . 366

    Solution  .  . . . 367

    Application.  .  368

    Impacts  .  . . . 369

    Relationships.  . . . 370

    Case Study Example. . 370

    CHAPTER 13: Service Security Patterns  .  . . 373

    Case Study background    374

    Exception Shielding  . 376

    Problem  .  . . . 376

    Solution  .  . . . 377

    Application.  .  378

    Impacts  .  . . . 379

    Relationships.  . . . 379

    Case Study Example. . 380

    Message Screening381

    Problem  .  . . . 381

    Solution  .  . . . 382

    Application  .  382

    Impacts  .  . . . 384

    Relationships.  . . . 385

    Case Study Example. . 385

    Trusted Subsystem 387

    Problem  .  . . . 387

    Solution  .  . . . 388

    Application.  .  388

    Impacts  .  . . . 391

    Relationships.  . . . 391

    Case Study Example. . 392

    Service Perimeter Guard  394

    Problem  .  . . . 394

    Solution  .  . . . 395

    Application  .  395

    Impacts  .  . . . 396

    Relationships.  . . . 396

    Case Study Example. . 397

    CHAPTER 14: Service Contract Design Patterns  . 399

    Decoupled Contract  . 401

    Problem  .  . . . 401

    Solution  .  . . . 402

    Application.  .  403

    Impacts  .  . . . 405

    Relationships.  . . . 405

    Case Study Example. . 407

    Contract Centralization  . 409

    Problem  .  . . . 409

    Solution  .  . . . 410

    Application.  .  410

    Impacts  .  . . . 411

    Relationships.  . . . 411

    Case Study Example. . 413

    Contract Denormalization.  . 414

    Problem  .  . . . 414

    Solution  .  . . . 415

    Application.  .  416

    Impacts  .  . . . 417

    Relationships.  . . . 417

    Case Study Example. . 418

    Concurrent Contracts  421

    Problem  .  . . . 421

    Solution  .  . . . 422

    Application.  .  423

    Impacts  .  . . . 425

    Relationships.  . . . 425

    Case Study Example. . 426

    Validation Abstraction    429

    Problem  .  . . . 429

    Solution  .  . . . 430

    Application.  .  431

    Impacts  .  . . . 432

    Relationships.  . . . 432

    Case Study Example. . 433

    Chapter 15: Legacy Encapsulation Patterns  . . . 439

    Legacy Wrapper. . . 441

    Problem  .  . . . 441

    Solution  .  . . . 442

    Application.  .  443

    Impacts  .  . . . 444

    Relationships.  . . . 444

    Case Study Example. . 446

    Multi-Channel Endpoint  . . . 451

    Problem  .  . . . 451

    Solution  .  . . . 452

    Application.  .  453

    Impacts  .  . . . 454

    Relationships.  . . . 454

    Case Study Example. . 456

    File Gateway  . 457

    Problem  .  . . . 457

    Solution  .  . . . 458

    Application.  .  458

    Impacts  .  . . . 459

    Relationships.  . . . 460

    Case Study Example. . 461

    CHAPTER 16: Service Governance Patterns.  . . . . 463

    Compatible Change465

    Problem  .  . . . 465

    Solution  .  . . . 466

    Application.  .  466

    Impacts  .  . . . 469

    Relationships.  . . . 469

    Case Study Example. . 470

    Version Identification  472

    Problem  .  . . . 472

    Solution  .  . . . 473

    Application.  .  473

    Impacts  .  . . . 474

    Relationships.  . . . 474

    Case Study Example. . 475

    Termination Notification  . . . 478

    Problem  .  . . . 478

    Solution  .  . . . 479

    Application.  .  480

    Impacts  .  . . . 480

    Relationships.  . . . 481

    Case Study Example. . 481

    Service Refactoring484

    Problem  .  . . . 484

    Solution  .  . . . 485

    Application.  .  485

    Impacts  .  . . . 486

    Relationships.  . . . 486

    Case Study Example. . 488

    Service Decomposition  . 489

    Problem  .  . . . 489

    Solution  .  . . . 491

    Application.  .  492

    Impacts  .  . . . 492

    Relationships.  . . . 494

    Case Study Example. . 495

    Proxy Capability . . 497

    Problem  .  . . . 497

    Solution  .  . . . 498

    Application.  .  498

    Impacts  .  . . . 500

    Relationships.  . . . 500

    Case Study Example. . 501

    Decomposed Capability  . . . 504

    Problem  .  . . . 504

    Solution  .  . . . 506

    Application.  .  507

    Impacts  .  . . . 507

    Relationships.  . . . 508

    Case Study Example. . 508

    Distributed Capability  510

    Problem  .  . . . 510

    Solution  .  . . . 511

    Application.  .  512

    Impacts  .  . . . 513

    Relationships.  . . . 513

    Case Study Example. . 514

    PART IV: SERVICE COMPOSITION DESIGN PATTERNS

    CHAPTER 17: Capability Composition Patterns  . . 519

    Capability Composition  . . . 521

    Problem  .  . . . 521

    Solution  .  . . . 521

    Application.  .  523

    Impacts  .  . . . 523

    Relationships.  . . . 523

    Case Study Example. . 524

    Capability Recomposition  . 526

    Problem  .  . . . 526

    Solution  .  . . . 527

    Application.  .  527

    Impacts  .  . . . 527

    Relationships.  . . . 529

    Case Study Example. . 530

    CHAPTER 18: Service Messaging Patterns.  .  531

    Service Messaging 533

    Problem  .  . . . 533

    Solution  .  . . . 533

    Application.  .  534

    Impacts  .  . . . 534

    Relationships.  . . . 535

    Case Study Example. . 536

    Messaging Metadata  538

    Problem  .  . . . 538

    Solution  .  . . . 538

    Application.  .  539

    Impacts  .  . . . 540

    Relationships.  . . . 541

    Case Study Example. . 542

    Service Agent  543

    Problem  .  . . . 543

    Solution  .  . . . 544

    Application.  .  544

    Impacts  .  . . . 546

    Relationships.  . . . 546

    Case Study Example. . 548

    Intermediate Routing  549

    Problem  .  . . . 549

    Solution  .  . . . 551

    Application.  .  552

    Impacts  .  . . . 553

    Relationships.  . . . 553

    Case Study Example. . 556

    State Messaging . . 557

    Problem  .  . . . 557

    Solution  .  . . . 558

    Application.  .  560

    Impacts  .  . . . 561

    Relationships.  . . . 561

    Case Study Example. . 562

    Service Callback . . 566

    Problem  .  . . . 566

    Solution  .  . . . 568

    Application.  .  568

    Impacts  .  . . . 570

    Relationships.  . . . 570

    Case Study Example. . 571

    Service Instance Routing  . . 574

    Problem  .  . . . 574

    Solution  .  . . . 576

    Application.  .  576

    Impacts  .  . . . 578

    Relationships.  . . . 578

    Case Study Example. . 579

    Asynchronous Queuing  . . . 582

    Problem  .  . . . 582

    Solution  .  . . . 584

    Application.  .  584

    Impacts  .  . . . 587

    Relationships.  . . . 588

    Case Study Example. . 589

    Reliable Messaging 592

    Problem  .  . . . 592

    Solution  .  . . . 593

    Application.  .  593

    Impacts  .  . . . 594

    Relationships.  . . . 595

    Case Study Example. . 596

    Event-Driven Messaging  599

    Problem  .  . . . 599

    Solution  .  . . . 600

    Application.  .  602

    Impacts  .  . . . 602

    Relationships.  . . . 602

    Case Study Example. . 604

    CHAPTER 19: Composition Implementation Patterns . . 605

    Agnostic Sub-Controller  607

    Problem  .  . . . 607

    Solution  .  . . . 608

    Application.  .  610

    Impacts  .  . . . 610

    Relationships.  . . . 610

    Case Study Example. . 612

    Composition Autonomy  . . . 616

    Problem  .  . . . 616

    Solution  .  . . . 618

    Application.  .  619

    Impacts  .  . . . 619

    Relationships.  . . . 620

    Case Study Example. . 620

    Atomic Service Transaction  623

    Problem  .  . . . 623

    Solution  .  . . . 624

    Application.  .  626

    Impacts  .  . . . 626

    Relationships.  . . . 628

    Case Study Example. . 629

    Compensating Service Transaction  . . 631

    Problem  .  . . . 631

    Solution  .  . . . 633

    Application.  .  633

    Impacts  .  . . . 635

    Relationships.  . . . 635

    Case Study Example. . 636

    CHAPTER 20: Service Interaction Security Patterns . . 639

    Data Confidentiality641

    Problem  .  . . . 641

    Solution  .  . . . 643

    Application.  .  643

    Impacts  .  . . . 644

    Relationships.  . . . 645

    Case Study Example. . 646

    Data Origin Authentication.  649

    Problem  .  . . . 649

    Solution  .  . . . 650

    Application.  .  651

    Impacts  .  . . . 652

    Relationships.  . . . 653

    Case Study Example. . 653

    Direct Authentication  656

    Problem  .  . . . 656

    Solution  .  . . . 657

    Application.  .  657

    Impacts  .  . . . 658

    Relationships.  . . . 659

    Case Study Example. . 660

    Brokered Authentication  661

    Problem  .  . . . 661

    Solution  .  . . . 662

    Application.  .  663

    Impacts  .  . . . 665

    Relationships.  . . . 665

    Case Study Example. . 666

    CHAPTER 21: Transformation Patterns  .  . . . 669

    Data Model Transformation  671

    Problem  .  . . . 671

    Solution  .  . . . 672

    Application.  .  673

    Impacts  .  . . . 674

    Relationships.  . . . 674

    Case Study Example. . 677

    Data Format Transformation  . . . 681

    Problem  .  . . . 681

    Solution  .  . . . 681

    Application.  .  683

    Impacts  .  . . . 683

    Relationships.  . . . 683

    Case Study Example. . 685

    Protocol Bridging . 687

    Problem  .  . . . 687

    Solution  .  . . . 688

    Application.  .  688

    Impacts  .  . . . 690

    Relationships.  . . . 690

    Case Study Example. . 692

    PART V: SUPPLEMENTAL

    CHAPTER 22: Common Compound Design Patterns . . . 697

    “Compound” vs. “Composite”  . . . 698

    Compound Patterns and Pattern Relationships  .  . . 698

    Joint Application vs. Coexistent Application.  .  . . . . 699

    Compound Patterns and Pattern Granularity  .  . . . . 700

    Orchestration.  701

    Enterprise Service Bus  . 704

    Service Broker  707

    Canonical Schema Bus  . 709

    Official Endpoint . . 711

    Federated Endpoint Layer  . 713

    Three-Layer Inventory.    715

    CHAPTER 23: Strategic Architecture Considerations. . 717

    Increased Federation  . 718

    Increased Intrinsic Interoperability  . . 721

    Increased Vendor Diversification Options.  . 723

    Increased Business and Technology Alignment.  .  . 725

    Increased ROI  . 727

    Increased Organizational Agility   728

    Reduced IT Burden. 729

    CHAPTER 24: Principles and Patterns at the

    U.S. Department of Defense  . 731

    The Business Operating Environment (BOE)  .  . . . . 733

    Principles, Patterns, and the BOE  . . 734

    Incorporation of Information Assurance (IA)  . . 736

    Adherence to Standards  . 736

    Data Visibility, Accessibility, and Understandability to

    Support Decision Makers  736

    Loosely Coupled Services    736

    Authoritative Sources of Trusted Data   737

    Metadata-Driven Framework for Separation from

    Technical Details  . 737

    Support Use of Open Source Software  . . . 738

    Emphasize Use of Service-Enabled Commercial

    Off-the-Shelf (COTS) Software  . 738

    Participation in the DoD Enterprise   738

    Support Mobility — Users & Devices  . . 738

    The Future of SOA and the DoD   739

    PART VI: APPENDICES

    APPENDIX A: Case Study Conclusion  743

    Cutit Saws Ltd.  744

    Alleywood Lumber Company  744

    Forestry Regulatory Commission (FRC)  . . . 745

    APPENDIX B: Candidate Patterns  . . 747

    APPENDIX C: Principles of Service-Orientation  . . 749

    Standardized Service Contract   . 751

    Service Loose Coupling    753

    Service Abstraction . 755

    Service Reusability . 756

    Service Autonomy . . 758

    Service Statelessness  . 760

    Service Discoverability  762

    Service Composability  764

    APPENDIX D: Patterns and Principles

    Cross-Reference  . . . 767

    APPENDIX E: Patterns and Architecture Types

    Cross-Reference  . . . 775

    About the Author  . . . 783

    About the Contributors   . 784

    Index of Patterns  . . . 791

    Index  . 795