Skip to main content Site map

Service-Oriented Architecture: Analysis and Design for Services and Microservices 2nd edition


Service-Oriented Architecture: Analysis and Design for Services and Microservices 2nd edition

Paperback by Erl, Thomas

Service-Oriented Architecture: Analysis and Design for Services and Microservices

£36.99

ISBN:
9780133858587
Publication Date:
13 Feb 2017
Edition/language:
2nd edition / English
Publisher:
Pearson Education (US)
Imprint:
Pearson
Pages:
416 pages
Format:
Paperback
For delivery:
Estimated despatch 21 - 22 May 2024
Service-Oriented Architecture: Analysis and Design for Services and Microservices

Description

The Top-Selling, De Facto Guide to SOA--Now Updated with New Content and Coverage of Microservices! For more than a decade, Thomas Erl's best-selling Service-Oriented Architecture: Concepts, Technology, and Design has been the definitive end-to-end tutorial on SOA, service-orientation, and service technologies. Now, Erl has thoroughly updated the industry's de facto guide to SOA to reflect new practices, technologies, and strategies that have emerged through hard-won experience and creative innovation. This Second Edition officially introduces microservices and micro task abstraction as part of service-oriented architecture and its associated service layers. Updated case study examples and illustrations further explain and position the microservice model alongside and in relation to more traditional types of services. Coverage includes: • Easy-to-understand, plain English explanations of SOA and service-orientation fundamentals (as compiled from series titles) • Microservices, micro task abstraction, and containerization • Service delivery lifecycle and associated phases • Analysis and conceptualization of services and microservices • Service API design with REST services, web services, and microservices • Modern service API and contract versioning techniques for web services and REST services • Up-to-date appendices with service-orientation principles, REST constraints, and SOA patterns (including three new patterns) Service-Oriented Architecture: Analysis and Design for Services and Microservices, Second Edition, will be indispensable to application architects, enterprise architects, software developers, and any IT professionals interested in learning about or responsible for designing or implementing modern-day, service-oriented solutions. Chapter 1: Introduction Chapter 2: Case Study Backgrounds Part I: Fundamentals Chapter 3: Understanding Service-Orientation Chapter 4: Understanding SOA Chapter 5: Understanding Layers with Services and Microservices Part II: Service-Oriented Analysis and Design Chapter 6: Analysis and Modeling with Web Services and Microservices Chapter 7: Analysis and Modeling with REST Services and Microservices Chapter 8: Service API and Contract Design with Web Services Chapter 9: Service API and Contract Design with REST Services and Microservices Chapter 10: Service API and Contract Versioning with Web Services and REST Services Part III: Appendices Appendix A: Service-Orientation Principles Reference Appendix B: REST Constraints Reference Appendix C: SOA Design Patterns Reference Appendix D: The Annotated SOA Manifesto

Contents

Chapter 1: Introduction 1 1.1 How Patterns Are Used in this Book 3 1.2 Series Books That Cover Topics from the First Edition 4 1.3 How this Book Is Organized 6 Part I: Fundamentals 6 Chapter 3: Understanding Service-Orientation 6 Chapter 4: Understanding SOA 6 Chapter 5: Understanding Layers with Services and Microservices 6 Part II: Service-Oriented Analysis and Design 7 Chapter 6: Analysis and Modeling with Web Services and Microservices 7 Chapter 7: Analysis and Modeling with REST Services and Microservices 7 Chapter 8: Service API and Contract Design with Web Services 7 Chapter 9: Service API and Contract Design with REST Services and Microservices 7 Chapter 10: Service API and Contract Versioning with Web Services and REST Services 7 Part III: Appendices 7 Appendix A: Service-Orientation Principles Reference 7 Appendix B: REST Constraints Reference 7 Appendix C: SOA Design Patterns Reference 8 Appendix D: The Annotated SOA Manifesto 8 1.4 Page References and Capitalization for Principles, Constraints, and Patterns 8 Additional Information 9 Symbol Legend 9 Updates, Errata, and Resources (www.servicetechbooks.com) 9 Service-Orientation (www.serviceorientation.com) 10 What Is REST? (www.whatisrest.com) 10 Referenced Specifications (www.servicetechspecs.com) 10 SOASchool.com SOA Certified Professional (SOACP) 10 CloudSchool.com Cloud Certified Professional (CCP) 10 BigDataScienceSchool.com Big Data Science Certified Professional (BDSCP) 11 Notification Service 11 Chapter 2: Case Study Backgrounds 13 2.1 How Case Studies Are Used 14 2.2 Case Study Background #1: Transit Line Systems, Inc. 14 2.3 Case Study Background #2: Midwest University Association 15 PART I: FUNDAMENTALS Chapter 3: Understanding Service-Orientation 19 3.1 Introduction to Service-Orientation 20 Services in Business Automation 21 Services Are Collections of Capabilities 22 Service-Orientation as a Design Paradigm 24 Service-Orientation Design Principles 26 3.2 Problems Solved by Service-Orientation 29 Silo-based Application Architecture 29 It Can Be Highly Wasteful 31 It's Not as Efficient as It Appears 32 It Bloats an Enterprise 32 It Can Result in Complex Infrastructures and Convoluted Enterprise Architectures 33 Integration Becomes a Constant Challenge 34 The Need for Service-Orientation 34 Increased Amounts of Reusable Solution Logic 35 Reduced Amounts of Application-Specific Logic 36 Reduced Volume of Logic Overall 36 Inherent Interoperability 37 3.3 Effects of Service-Orientation on the Enterprise 38 Service-Orientation and the Concept of "Application" 38 Service-Orientation and the Concept of "Integration" 40 The Service Composition 42 3.4 Goals and Benefits of Service-Oriented Computing 43 Increased Intrinsic Interoperability 44 Increased Federation 46 Increased Vendor Diversification Options 47 Increased Business and Technology Domain Alignment 48 Increased ROI 48 Increased Organizational Agility 50 Reduced IT Burden 52 3.5 Four Pillars of Service-Orientation 54 Teamwork 54 Education 55 Discipline 55 Balanced Scope 55 Chapter 4: Understanding SOA 59 Introduction to SOA 60 4.1 The Four Characteristics of SOA 61 Business-Driven 61 Vendor-Neutral 63 Enterprise-Centric 66 Composition-Centric 68 Design Priorities 69 4.2 The Four Common Types of SOA 70 Service Architecture 71 Service Composition Architecture 77 Service Inventory Architecture 83 Service-Oriented Enterprise Architecture 85 4.3 The End Result of Service-Orientation and SOA 86 4.4 SOA Project and Lifecycle Stages 91 Methodology and Project Delivery Strategies 91 SOA Project Stages 94 SOA Adoption Planning 95 Service Inventory Analysis 96 Service-Oriented Analysis (Service Modeling) 97 Step 1: Define Business Automation Requirements 99 Step 2: Identify Existing Automation Systems 99 Step 3: Model Candidate Services 100 Service-Oriented Design (Service Contract) 101 Service Logic Design 103 Service Development 103 Service Testing 103 Service Deployment and Maintenance 105 Service Usage and Monitoring 105 Service Discovery 106 Service Versioning and Retirement 106 Project Stages and Organizational Roles 107 Chapter 5: Understanding Layers with Services and Microservices 111 5.1 Introduction to Service Layers 113 Service Models and Service Layers 113 Service and Service Capability Candidates 115 5.2 Breaking Down the Business Problem 115 Functional Decomposition 115 Service Encapsulation 116 Agnostic Context 117 Agnostic Capability 119 Utility Abstraction 120 Entity Abstraction 121 Non-Agnostic Context 122 Micro Task Abstraction and Microservices 123 Process Abstraction and Task Services 123 5.3 Building Up the Service-Oriented Solution 124 Service-Orientation and Service Composition 124 Capability Composition and Capability Recomposition 127 Capability Composition 129 Capability Composition and Microservices 130 Capability Recomposition 132 Logic Centralization and Service Normalization 134 PART II: SERVICE-ORIENTED ANALYSIS AND DESIGN Chapter 6: Analysis and Modeling with Web Services and Microservices 139 6.1 Web Service Modeling Process 140 Case Study Example 141 Step 1: Decompose the Business Process (into Granular Actions) 142 Case Study Example 142 Step 2: Filter Out Unsuitable Actions 144 Case Study Example 145 Step 3: Define Entity Service Candidates 146 Case Study Example 146 Step 4: Identify Process-Specific Logic 149 Case Study Example 149 Step 5: Apply Service-Orientation 150 Step 6: Identify Service Composition Candidates 151 Case Study Example 151 Step 7: Analyze Processing Requirements 152 Case Study Example 152 Step 8: Define Utility Service Candidates 153 Case Study Example 154 Step 9: Define Microservice Candidates 154 Case Study Example 155 Step 10: Apply Service-Orientation 155 Step 11: Revise Service Composition Candidates 156 Case Study Example 156 Step 12: Revise Capability Candidate Grouping 157 Chapter 7: Analysis and Modeling with REST Services and Microservices 159 7.1 REST Service Modeling Process 160 Case Study Example 162 Step 1: Decompose Business Process (into Granular Actions) 164 Case Study Example 164 Step 2: Filter Out Unsuitable Actions 165 Case Study Example 165 Step 3: Define Entity Service Candidates 166 Case Study Example 167 Step 4: Identify Process-Specific Logic 169 Case Study Example 169 Step 5: Identify Resources 170 Case Study Example 171 Step 6: Associate Service Capabilities with Resources and Methods 172 Case Study Example 173 Step 7: Apply Service-Orientation 174 Case Study Example 174 Step 8: Identify Service Composition Candidates 175 Case Study Example 175 Step 9: Analyze Processing Requirements 176 Case Study Example 177 Step 10: Define Utility Service Candidates (and Associate Resources and Methods) 178 Case Study Example 179 Step 11: Define Microservice Candidates (and Associate Resources and Methods) 180 Case Study Example 181 Step 12: Apply Service-Orientation 181 Step 13: Revise Candidate Service Compositions 181 Case Study Example 182 Step 14: Revise Resource Definitions and Capability Candidate Grouping 182 7.2 Additional Considerations 183 Uniform Contract Modeling and REST Service Inventory Modeling 183 REST Constraints and Uniform Contract Modeling 186 REST Service Capability Granularity 188 Resources vs. Entities 189 Chapter 8: Service API and Contract Design with Web Services 191 8.1 Service Model Design Considerations 193 Entity Service Design 193 Utility Service Design 194 Microservice Design 196 Task Service Design 196 Case Study Example 198 8.2 Web Service Design Guidelines 208 Apply Naming Standards 208 Apply a Suitable Level of Contract API Granularity 210 Case Study Example 212 Design Web Service Operations to Be Inherently Extensible 212 Case Study Example 213 Consider Using Modular WSDL Documents 214 Case Study Example 214 Use Namespaces Carefully 215 Case Study Example 215 Use the SOAP Document and Literal Attribute Values 216 Case Study Example 217 Chapter 9: Service API and Contract Design with REST Services and Microservices 219 9.1 Service Model Design Considerations 221 Entity Service Design 221 Utility Service Design 222 Microservice Design 223 Task Service Design 225 Case Study Example 226 9.2 REST Service Design Guidelines 231 Uniform Contract Design Considerations 231 Designing and Standardizing Methods 231 Designing and Standardizing HTTP Headers 233 Designing and Standardizing HTTP Response Codes 235 Customizing Response Codes 240 Designing Media Types 242 Designing Schemas for Media Types 244 Complex Method Design 246 Stateless Complex Methods 249 Fetch Method 249 Store Method 250 Delta Method 252 Async Method 254 Stateful Complex Methods 256 Trans Method 256 PubSub Method 257 Case Study Example 259 Chapter 10: Service API and Contract Versioning with Web Services and REST Services 263 10.1 Versioning Basics 265 Versioning Web Services 265 Versioning REST Services 266 Fine and Coarse-Grained Constraints 266 10.2 Versioning and Compatibility 267 Backwards Compatibility 267 Backwards Compatibility in Web Services 267 Backwards Compatibility in REST Services 268 Forwards Compatibility 271 Compatible Changes 273 Incompatible Changes 275 10.3 REST Service Compatibility Considerations 276 10.4 Version Identifiers 279 10.5 Versioning Strategies 282 The Strict Strategy (New Change, New Contract) 282 Pros and Cons 283 The Flexible Strategy (Backwards Compatibility) 283 Pros and Cons 284 The Loose Strategy (Backwards and Forwards Compatibility) 284 Pros and Cons 284 Strategy Summary 285 10.6 REST Service Versioning Considerations 286 PART III: APPENDICES Appendix A: Service-Orientation Principles Reference 289 Appendix B: REST Constraints Reference 305 Appendix C: SOA Design Patterns Reference 317 What's a Design Pattern? 318 What's a Design Pattern Language? 320 Pattern Profiles 321 Appendix D: The Annotated SOA Manifesto 367 The SOA Manifesto 368 The SOA Manifesto Explored 369 Preamble 370 Priorities 371 Guiding Principles 375 About the Author 383 Index 384

Back

University of West London logo