Implementing SOA: Total Architecture in... | WHSmith Books
Implementing SOA: Total Architecture in Practice

Implementing SOA: Total Architecture in Practice

By: Paul C. Brown (author)Paperback

Up to 2 WeeksUsually despatched within 2 weeks


Putting Service-Oriented Architecture (SOA) into Practice"This book is a must-have for enterprise architects implementing SOA. Through practical examples, it explains the relationship between business requirements, business process design, and service architecture. By tying the SOA implementation directly to business value, it reveals the key to ongoing success and funding." -Maja Tibbling, Lead Enterprise Architect, Con-way, Inc."While there are other books on architecture and the implementation of ESB, SOA, and related technologies, this new book uniquely captures the knowledge and experience of the real world. It shows how you can transform requirements and vision into solid, repeatable, and value-added architectures. I heartily recommend it." -Mark Wencek, SVP, Consulting Services & Alliances, Ultimo Software Solutions, Inc.In his first book, Succeeding with SOA, Paul Brown explained that if enterprise goals are to be met, business processes and information systems must be designed together as parts of a total architecture. In this second book, Implementing SOA, he guides you through the entire process of designing and developing a successful total architecture at both project and enterprise levels. Drawing on his own extensive experience, he provides best practices for creating services and leveraging them to create robust and flexible SOA solutions. Coverage includesEvolving the enterprise architecture towards an SOA while continuing to deliver business value on a project-by-project basis Understanding the fundamentals of SOA and distributed systems, the dominant architectural issues, and the design patterns for addressing them Understanding the distinct roles of project and enterprise architects and how they must collaborate to create an SOA Understanding the need for a comprehensive total architecture approach that encompasses business processes, people, systems, data, and infrastructure Understanding the strategies and tradeoffs for implementing robust, secure, high-performance, and high-availability solutions Understanding how to incorporate business process management (BPM) and business process monitoring into the enterprise architectureWhether you're defining an enterprise architecture or delivering individual SOA projects, this book will give you the practical advice you need to get the job done.

About Author

Paul C. Brown is Principal Software Architect at TIBCO, a world leader in enterprise software and services ( His model-based tool architectures underlie applications ranging from process control interfaces to NASA satellite mission planning. Dr. Brown's extensive work on enterprise-scale information systems led him to develop the total architecture concept introduced in his first book, Succeeding with SOA: Realizing Business Value Through Total Architecture (Addison-Wesley, 2007). He received his Ph.D. in computer science from Rensselaer Polytechnic Institute.


Preface xxviiPart I: Fundamentals 1Chapter 1: SOA and the Enterprise 3The Challenge 4The Concept of Total Architecture 5Architecture Is Structure for a Purpose 6Constant Changes 7Total Architecture Synthesis 8Making Total Architecture Work in Your Enterprise 9Key Overview Questions 10Chapter 2: Architecture Fundamentals 11Structural Organization 11Functional Organization 15Collaborative Behavior 20Total Architecture 26Nonfunctional Requirements 27Refinement 28The Role of the Architect 29Enterprise Architecture 30Summary 34Key Architecture Fundamentals Questions 35Suggested Reading 36Chapter 3: Service Fundamentals 37What Is a Service? 37Operations 38Service Interfaces 47The Rationale Behind Services 54Summary 58Key Service Fundamentals Questions 59Suggested Reading 60Chapter 4: Using Services 61Service Interaction Patterns 61Service Access 67Access Control 72Service Request Routing 76Service Composition 80Locating Services 85Enterprise Architecture for Services 86Summary 87Key Service Utilization Questions 88Suggested Reading 89Chapter 5: The SOA Development Process 91What Is Different about SOA Development? 91The Overall Development Process 92Architecture Tasks 94Architecture in Context 96Total Architecture Synthesis (TAS) 97Beware of Look-Alike Processes! 105Manage Risk: Architect Iteratively 106Summary 108Key Development Process Questions 108Suggested Reading 109Part II: The Business Process Perspective 111Chapter 6: Processes 113Triggers, Inputs, and Results 114Related Processes 115Process Maturity 116Continuous Processes 119Structured Processes 120Summary 121Key Process Questions 122Suggested Reading 122Chapter 7: Initial Project Scoping 123Assembling the Business Process Inventory 124Conducting Interviews 125Documenting the Inventory 128Ranking Business Processes 141Organizing the Remaining Work 147Summary 149Key Scoping Questions 150Chapter 8: The Artifice of Requirements 151Differentiation 153Characterizing Processes 159Patterns of Interaction 163Interaction Patterns Characterize Participants 171Requirements Reflect Design 172Summary 175Key Requirements Questions 177Suggested Reading 178Chapter 9: Business Process Architecture 179Results 180Participants and Their Roles 182Activities and Scenarios 186Modeling Scenarios 191Modeling Interactions 198How Much Detail Is Enough? 204Guidelines for Using Activity Diagrams 206Summary 207Key Business Process Architecture Questions 208Suggested Reading 209Chapter 10: Milestones 211Basic Process Milestones 211Variations in Milestone Sequences 214Grouped Milestones 215Recognizing Milestones Requires Design 216Using Milestones to Reduce Inter-Process Coupling 217Summary 218Key Milestone Questions 219Chapter 11: Process Constraints 221Business Process Constraints Drive System Constraints 222Performance Constraints 224High Availability and Fault Tolerance 231Security 238Reporting, Monitoring, and Management 240Exception Handling 242Test and Acceptance 243Compliance Constraints 245Summary 246Key Process Constraint Questions 247Suggested Reading 248Chapter 12: Related Processes 249Identifying Services 252Triggering Events 258Summary 264Key Related Process Questions 265Chapter 13: Modeling the Domain 267UML Class Notation 269ATM Example Domain Model 274Reverse Engineering the Domain Model 276Domain Modeling Summary 277Key Domain Modeling Questions 279Suggested Reading 279Chapter 14: Enterprise Architecture: Process and Domain Modeling 281Process and Domain Modeling Responsibilities 282Establishing Standards and Best Practices 283Managing Process and Domain Knowledge Transfer 285Reviewing Project Models 286Maintaining the Business Process and Domain Model Repository 287Defining Business Process Patterns 288Defining Common Data Model Representations 288Summary 289Key Enterprise Process and Domain Modeling Questions 290Part III: The Systems Perspective 291Chapter 15: Systems Architecture Overview 293The Challenge of Architecting Distributed Systems 294Learning from the CORBA Experience 294Efficiently Exploring Architectures 300Summary 303Key Systems Architecture Overview Questions 304Chapter 16: Top-Level Systems Architecture 305First-Cut Structure 305Initial Evaluation 307Communications and Modularization 309Service Identification and Performance 312Modeling System Interactions 312Modeling Deployment 318Addressing Performance 322Early Architecture Evaluation 325Key Top-Level Systems Architecture Questions 327Suggested Reading 328Part IV: Communications 329Chapter 17: Transport 331Transport Technology 332Selecting Transports 336Messaging Server Topology 340Capacity 345Point-to-Point Interaction Patterns 347Point-to-Point Intermediaries 348Transport-Supplied Services 350Summary 351Key Transport Questions 351Suggested Reading 352Chapter 18: Adapters 353API-Based Adapters 354Database-Based Adapters 355Combining API and Database Approaches 356File-Based Adapters 357Protocol-Based Adapters 357Documenting Adapter Usage 358Summary 359Key Adapter Questions 360Chapter 19: Enterprise Architecture: Communications 361Defining a Communications Strategy 361Interaction Standards 362Standardizing Adapters 363Summary 364Key Enterprise Architecture Communications Questions 364Part V: Data and Operations 367Chapter 20: Data Challenges 369Chapter 21: Messages and Operations 371Message Semantics and Operation Names 371Transport Destinations and Operation Bundling 374Content Representation 377Content Transformation 378Reference Data in Content Transformation 380Summary 381Key Messages and Operations Questions 381Chapter 22: Data Consistency: Maintaining One Version of the Truth 383Approaches to Maintaining Data Consistency 384Cached Data with a Single System of Record 385Coordinated Updates via Distributed Transactions 390Edit Anywhere, Reconcile Later 390Dealing with Data Inconsistencies 391Data Management Business Processes 393Summary 394Key Data Consistency Questions 394Suggested Reading 395Chapter 23: Common Data Models (CDM) 397What Is a Common Data Model? 397CDM Relationship to the Domain Model 402The Need for Multiple CDM Representations 405Planning for CDM Changes 407When to Use Common Data Models 411Summary 415Key Common Data Model Questions 416Chapter 24: Identifiers (Unique Names) 417Identity (Unique Name) Authorities 418Hierarchical Identifiers 419Coping with Identity Errors 423Mapping Identifiers 429Summary 433Key Identifier Questions 434Chapter 25: Results Validation 435Checking Enumerated Values 436Where and When to Validate 437Summary 438Key Data Validation Questions 439Chapter 26: Enterprise Architecture: Data 441Naming Schemes 441Architecting Content Transformation 443Systems of Record 445Common Data Models 446Identifiers 447Data Quality Management 448Summary 449Key Enterprise Architecture Data Questions 450Part VI: Coordination 451Chapter 27: Coordination and Breakdown Detection 453Activity Execution Management Patterns (AEMPs) Involving Interactions 454Coordination Pattern Styles 456Fire-and-Forget Coordination Patterns 457Request-Reply Patterns 460Delegation 465Delegation with Confirmation 467Summary 468Key Coordination Questions 469Chapter 28: Transactions: Coordinating Two or More Activities 471Two-Phase Commit Distributed Transactions 472Limitations of Two-Phase Commit Protocols 475Compensating Transactions 476Working around the Limitations of Compensating Transactions 476Summary 478Key Transaction Questions 479Suggested Reading 479Chapter 29: Process Monitors and Managers 481Process Monitoring 483Minimizing the Impact of Monitoring Breakdowns 484The Process Manager as a Monitor 485Process Management Limitations 486Summary 488Key Process Monitoring and Management Questions 488Chapter 30: Detecting and Responding to Breakdowns 489Selecting Coordination Patterns to Improve Breakdown Detection 489Responding to Breakdowns 493Summary 504Key Breakdown Detection and Recovery Questions 505Chapter 31: Enterprise Architecture: Coordination 507Preferred Coordination Patterns 507Breakdown Recording 509Breakdown Annunciation 510Recovery Processes 511Summary 511Key Enterprise Coordination Questions 512Part VII: High Availability, Fault Tolerance, and Load Distribution 513Chapter 32: High Availability and Fault Tolerance Fundamentals 515Fault Tolerance Strategies 516Failure Detection Strategies 517Failover Management 519Redirecting Clients 520Summary 522Key High-Availability and Fault Tolerance Questions 523Chapter 33: Stateless and Stateful Failover 525Stateless and Stateful Components 525Stateless Failover 525Saving Work in Progress through Coordination 526Stateful Failover 528Storage Replication 530Summary 540Key Failover Questions 541Suggested Reading 541Chapter 34: Multiple Component Failover 543Intra-Site versus Inter-Site Failover 543Clustering: An Intra-Site Failover Technique 545Coordinating Peer Application Failover with Asynchronous Replication 546Making a Business Process Fault-Tolerant 548Summary 550Key Multi-Component Failover Questions 551Chapter 35: Workload Distribution 553Work Assignment Strategies 553Distribution Management and Work Completion 554The Sequencing Problem 556Access to Shared Persistent State 557Geographic Workload Distribution 558Summary 558Key Workload Distribution Questions 559Chapter 36: Enterprise Architecture: Fault Tolerance, High Availability, and Load Distribution 561Business Process Categorization 563Information Storage 565Individual Component and Service Failover Patterns 565Composite Patterns for FT and HA Services 566Composite Patterns for FT and HA Business Processes 568Summary 568Key Enterprise Fault Tolerance, High-Availability, and Load Distribution Questions 569Suggested Reading 569Part VIII: Completing the Architecture 571Chapter 37: Process Security 573Security Information Classification 574Identity and Authentication 574Authorization 576Encryption 579Digital Signatures 580Other Security-Related Requirements 580Reference Data Servers and Performance 581Trust Zones 582Channel Enforcement 583Zone Enforcement and Policy Agents 585Multi-Zone Security 586Summary 587Key Security Questions 588Suggested Reading 589Chapter 38: Process Monitoring 591Performance Monitoring 592Monitoring Process Status 594Supervisory Processes 595The Impact of Monitoring on Performance 596Summary 596Key Process Monitoring Questions 597Chapter 39: Architecture Evaluation 599Usability 600Performance 600Cost and Schedule Feasibility 612Observability 613Ability to Evolve 613Ability to Handle Stress Situations 614Summary 615Key Architecture Evaluation Questions 616Suggested Reading 617Chapter 40: Testing 619Unit Testing, Test Harnesses, and Regression Testing 620Integration Testing and Order of Assembly 621Environments for Functional and System Testing 622Performance Testing 623Failure Mode Testing 627Summary 628Key Testing Questions 628Part IX: Advanced Topics 631Chapter 41: Representing a Complex Process 633Eliding Communications Detail 634Eliding Participant Activity Details 634Eliding Supporting Participants 636Abstracting Subprocesses 638Summary 639Key Complex Process Representation Questions 639Chapter 42: Process Management and Workflow 641Process Management 642Styles of Work Assignment 647Initiating Workflow 649Making the Management Process Fault Tolerant 649Human Interfaces 656Related Processes 660Prioritized Work 663Dynamic Work Assignments 665Dynamic Result and Process Definitions 666Summary 668Key Process Management and Workflow Questions 669Suggested Reading 670Chapter 43: The Enterprise Architecture Group 671Half a Group Is Better than None-But Not Good Enough 672Best Practice Development 672Knowledge Transfer 673Governance 675Designing with Evolving Requirements 675Summary 681Key Enterprise Architecture Group Questions 682Afterword 683Focus Your Work 683Seek the Expertise of Others 684Be Pragmatic, But Consider the Long View 685Index 687

Product Details

  • ISBN13: 9780321504722
  • Format: Paperback
  • Number Of Pages: 736
  • ID: 9780321504722
  • weight: 1074
  • ISBN10: 0321504720

Delivery Information

  • Saver Delivery: Yes
  • 1st Class Delivery: Yes
  • Courier Delivery: Yes
  • Store Delivery: Yes

Prices are for internet purchases only. Prices and availability in WHSmith Stores may vary significantly