TRAINING

 

COMMUNITY

MORE

API Design & Management

Artificial Intelligence (AI)

Big Data

Blockchain

Cloud Computing

Containerization

DevOps

Digital Transformation (coming soon)

Internet of Things (IoT)

Machine Learning

Microservices

Service Governance

Service Security

Service Technology

Service-Oriented Architecture (SOA)

Spanish Training (coming soon)

Arcitura Patterns Site

Arcitura on YouTube

Arcitura on LinkedIn

Arcitura on Facebook

Arcitura on Twitter

Community Home

Arcitura Books Published by Pearson Education

Contact Arcitura

eLearning Solutions

Home Study Solutions

Junior Programs (for ages 16-20+)

 

Public Workshop Calendar

Private Workshops

Download Catalog (PDF)

       

CERTIFICATIONS

     

Artificial Intelligence Specialist

Big Data Architect

Big Data Consultant

Big Data Engineer

Big Data Governance Specialist

Big Data Professional

Big Data Science Professional

Big Data Scientist

Blockchain Architect

Cloud Architect

Cloud Governance Specialist

Cloud Professional

Cloud Security Specialist

Cloud Storage Specialist

Cloud Technology Professional

Cloud Virtualization Specialist

Containerization Architect

DevOps Specialist

Digital Transformation Architect
(coming soon)

Digital Transformation Technology
Professional (coming soon)

IoT Architect

Junior Big Data Science
Professional

Junior Cloud Computing
Professional

Junior Digital Transformation
Professional

Machine Learning Specialist

Microservice Architect

Service API Specialist

Service Governance Specialist

Service Security Specialist

Service Technology Consultant

SOA Analyst

SOA Architect

SOA Professional

 

Acclaim/Credly Badges

Pearson Vue Exams

CCP   SOACP   BDSCP  
NEXT-GEN IT   JUNIOR

SOA Principles of Service Design

Preface
Chapter 1: Introduction

1.1 Objectives of this Book
1.2 Who this Book is For
1.3 What this Book Does Not Cover
Topics Covered by Other Books
SOA Standardization Efforts
1.4 How this Book is Organized
Part I: Fundamentals
Part II: Design Principles
Part III: Supplemental
Appendices
1.5 Symbols, Figures, and Style Conventions
Symbol Legend
How Color is Used
The Service Symbol
1.6 Additional Information
Updates, Errata, and Resources
Master Glossary
Referenced Specifications
Service-Oriented Computing Poster
The SOA Magazine
Notification Service
Contact the Author

Chapter 2: Case Study

2.1 How Case Study Examples are Used
2.2 Case Study Background: Cutit Saws Ltd.
History
Technical Infrastructure and Automation Environment
Business Goals and Obstacles

Part I. Fundamentals
Chapter 3: Service-Oriented Computing and SOA

3.1 Design Fundamentals
Design Characteristic
Design Principle
Design Paradigm
Design Pattern
Design Pattern Language
Design Standard
Best Practice
A Fundamental Design Framework
Summary of Key Points
3.2 Introduction to Service-Oriented Computing
Service-Oriented Architecture
Service-Orientation, Services, and Service-Oriented Solution Logic
Service Compositions
Service Inventory
Understanding Service-Oriented Computing Elements
Service Models
SOA and Web Services
Service Inventory Blueprints
Service-Oriented Analysis and Service Modeling
Service-Oriented Design
“Service-Oriented Architecture: Concepts, Technology, and Design,”
Summary of Key Points
3.3 Goals and Benefits of Service-Oriented Computing
Increased Intrinsic Interoperability
Increased Federation
Increased Vendor Diversification Options
Increased Business and Technology Domain Alignment
Increased ROI
Increased Organizational Agility
Reduced IT Burden
Summary of Key Points
3.4 Case Study Background

Chapter 4: Service-Orientation

4.1 Introduction to Service-Orientation
Services in Business Automation
Services are Collections of Capabilities
Service-Orientation as a Design Paradigm
Service-Orientation and Interoperability
Summary of Key Points
4.2 Problems Solved by Service-Orientation
Life Before Service-Orientation
The Need for Service-Orientation
Summary of Key Points
4.3 Challenges Introduced by Service-Orientation
Design Complexity
Need for Design Standards
Top-Down Requirements
Counter-Agile Delivery
Governance Demands
Summary of Key Points
4.4 Additional Considerations
It is Not a Revolutionary Paradigm
Enterprise-wide Standardization is not Required
Reuse is Not an Absolute Requirement
Summary of Key Points
4.5 Effects of Service-Orientation on the Enterprise
Service-Orientation and the Concept of “Application”
Service-Orientation and the Concept of “Integration”
The Service Composition
Application, Integration, and Enterprise Architectures
Summary of Key Points
4.6 Origins and Influences of Service-Orientation
Object-Orientation
Web Services
Business Process Management (BPM)
Enterprise Application Integration (EAI)
Aspect-Oriented Programming (AOP)
Summary of Key Points
4.7 Case Study Background

Chapter 5: Understanding Design Principles

5.1 Using Design Principles
Incorporate Principles within Service-Oriented Analysis
Incorporate Principles within Formal Design Processes
Establish Supporting Design Standards
Apply Principles to a Feasible Extent
Summary of Key Points
5.2 Principle Profiles
Summary of Key Points
5.3 Design Pattern References
5.4 Principles that Implement vs. Principles that Regulate
Summary of Key Points
5.5 Principles and Service Implementation Mediums
“Capability” vs. “Operation” vs. “Method”
5.6 Principles and Design Granularity
Service Granularity
Capability Granularity
Data Granularity
Constraint Granularity
Sections on Granularity Levels
Summary of Key Points
5.7 Case Study Background
The Lab Project Business Process

Part II. Design Principles
Chapter 6: Service Contracts (Standardization and Design)

6.1 Contracts Explained
Technical Contracts in Abstract
Origins of Service Contracts
Summary of Key Points
6.2 Profiling this Principle
Summary of Key Points
6.3 Types of Service Contract Standardization
Standardization of Functional Service Expression
Standardization of Service Data Representation
Standardization of Service Policies
Summary of Key Points
6.4 Contracts and Service Design
Data Representation Standardization and Transformation Avoidance
Standardization and Service Granularity
Standardized Service Contracts and Service Models
How Standardized Service Contract Design Affects Other Principles
Summary of Key Points
6.5 Risks Associated with Service Contract Design
Versioning
Technology Dependencies
Development Tool Deficiencies
Summary of Key Points
6.6 More About Service Contracts
Non-Technical Service Contract Documents
“Web Service Contract Design for SOA”
6.7 Case Study Example
Planned Services
Design Standards
Standardized WSDL Definition Profiles
Standardized XML Schema Definitions
Standardized Service and Data Representation Layers
Service Descriptions
Conclusion

Chapter 7: Service Coupling (Intra-Service and Consumer Dependencies)

7.1 Coupling Explained
Coupling in Abstract
Origins of Software Coupling
Summary of Key Points
7.2 Profiling this Principle
Summary of Key Points
7.3 Service Contract Coupling Types
Logic-to-Contract Coupling (the coupling of service logic to the service contract)
Contract-to-Logic Coupling (the coupling of the service contract to its logic)
Contract-to-Technology Coupling (the coupling of the service contract to its underlying technology)
Contract-to-Implementation Coupling (the coupling of a service contract to its implementation environment)
Contract-to-Functional Coupling (the coupling of a service contract to external logic)
Summary of Key Points
7.4 Service Consumer Coupling Types
Consumer-to-Implementation Coupling
Standardized Service Coupling and Contract Centralization
Consumer-to-Contract Coupling
Measuring Consumer Coupling
Summary of Key Points
7.5 Service Loose Coupling and Service Design
Coupling and Service-Orientation
Service Loose Coupling and Service Granularity
Coupling and Service Models
How Service Loose Coupling Affects Other principles
Summary of Key Points
7.6 Risks Associated with Service Loose Coupling
Limitations of Logic-to-Contract Coupling
Performance Problems when Schema Coupling is “too loose”
Summary of Key Points
7.7 Case Study Example
Coupling Levels of Existing Services
Introducing the InvLegacyAPI Service
Service Design Options

Chapter 8: Service Abstraction (Information Hiding and Meta Abstraction Types)

8.1 Abstraction Explained
Origins of Information Hiding
Summary of Key Points
8.2 Profiling this Principle
Summary of Key Points
8.3 Types of Meta Abstraction
Technology Information Abstraction
Functional Abstraction
Programmatic Logic Abstraction
Quality of Service abstraction
Meta Abstraction Types and the Web service Regions of Influence
Meta Abstraction Types in the Real World
Summary of Key Points
8.4 Measuring Service Abstraction
Contract Content Abstraction Levels
Access Control Levels
Abstraction Levels and Quality of Service Meta Information
Summary of Key Points
8.5 Service Abstraction and Service Design
Service Abstraction vs. Service Encapsulation
How Encapsulation Can Affect Abstraction
Service Abstraction and Non-Technical Contract Documents
Service Abstraction and Service Granularity
Service Abstraction and Service Models
How Service Abstraction Affects Other Principles
Summary of Key Points
8.6 Risks Associated with Service Abstraction
Multi-Consumer Coupling Requirements
Misjudgment by Humans
Security and Privacy Concerns
Summary of Key Points
8.7 Case Study Example
Service Abstraction Levels
Operation-Level Abstraction Examples

Chapter 9: Service Reusability (Commercial and Agnostic Design)

9.1 Reuse Explained
Reuse in Abstract
Origins of Reuse
Summary of Key Points
9.2 Profiling this Principle
Summary of Key Points
9.3 Measuring Service Reusability and Applying Commercial Design
Commercial Design Considerations
Measures of Planned Reuse
Measuring Actual Reuse
Commercial Design Versus Gold-Plating
Summary of Key Points
9.4 Service Reuse in SOA
Reuse and the Agnostic Service
The Service Inventory Blueprint
Summary of Key Points
9.5 Standardized Service Reuse and Logic Centralization
Understanding Logic Centralization
Logic Centralization as an Enterprise Standard
Logic Centralization and Web Services
Logic Centralization and Contract Centralization
Challenges to Achieving Logic Centralization
Summary of Key Points
9.6 Service Reusability and Service Design
Service Reusability and Service Modeling
Service Reusability and Service Granularity
Service Reusability and Service Models
How Service Reusability Affects Other Principles
Summary of Key Points
9.7 Risks Associated with Service Reusability and Commercial Design
Cultural Concerns
Governance Concerns
Reliability Concerns
Security Concerns
Commercial Design Requirement Concerns
Agile Delivery Concerns
Summary of Key Points
9.8 Case Study Example
The Inventory Service Profile
Assessing Current Capabilities
Modeling for a Targeted Measure of Reusability
The New EditItemRecord Operation
The New ReportStockLevels Operation
The New AdjustItemsQuantity Operation
Revised Inventory Service Profile

Chapter 10: Service Autonomy (Processing Boundaries and Control)

10.1 Autonomy Explained
Autonomy in Abstract
Origins of Autonomy
Summary of Key Points
10.2 Profiling this Principle
Summary of Key Points
10.3 Types of Service Autonomy
Runtime Autonomy (execution)
Design-Time Autonomy (governance)
Summary of Key Points
10.4 Measuring Service Autonomy
Service Contract Autonomy (services with normalized contracts)
Shared Autonomy
Service Logic Autonomy (partially isolated services)
Pure Autonomy (isolated services)
Services with Mixed Autonomy
Summary of Key Points
10.5 Autonomy and Service Design
Service Autonomy and Service Modeling
Service Autonomy and Service Granularity
Service Autonomy and Service Models
How Service Autonomy Affects Other Principles
Summary of Key Points
10.6 Risks Associated with Service Autonomy
Misjudging the Service Scope
Wrapper Services and Legacy Logic Encapsulation
Overestimating Service Demand
Summary of Key Points
10.7 Case Study Example
Existing Implementation Autonomy of the GetItem Operation
New Operation-Level Architecture with Increased Autonomy
Effect on the Run Lab Project composition

Chapter 11: Service Statelessness (State Deferral and Stateless Design)

11.1 State Management Explained
State Management in Abstract
Origins of State Management
Deferral vs. Delegation
Summary of Key Points
11.2 Profiling this Principle
Summary of Key Points
11.3 Types of State
Active and Passive
Stateless and Stateful
Session and Context Data
Summary of Key Points
11.4 Measuring Service Statelessness
Non-Deferred State Management (low-to-no statelessness)
Partially Deferred Memory (reduced statefulness)
Partial Architectural State Management Deferral (moderate statelessness)
Full Architectural State Management Deferral (high statelessness)
Internally Deferred State Management (high statelessness)
Summary of Key Points
11.5 Statelessness and Service Design
Messaging as a State Deferral Option
Service Statelessness and Service Instances
Service Statelessness and Service Granularity
Service Statelessness and Service Models
How Service Statelessness Affects Other Principles
Summary of Key Points
11.6 Risks Associated with Service Statelessness
Dependency on the Architecture
Increased Runtime Performance Demands
Underestimating Delivery Effort
Summary of Key Points
11.7 Case Study Example
Solution Architecture with State Management Deferral

Chapter 12: Service Discoverability (Interpretability and Communication)

12.1 Discoverability Explained
Discovery and Interpretation, Discoverability and Interpretability in Abstract
Origins of Discovery
Summary of Key Points
12.2 Profiling this Principle
Summary of Key Points
12.3 Types of Discovery and Discoverability Meta Information
Design-Time and Runtime Discovery
Discoverability Meta Information
Functional Meta Data
Quality of Service Meta Data
Summary of Key Points
12.4 Measuring Service Discoverability
Fundamental Levels
Custom Rating System
12.5 Discoverability and Service Design
Service Discoverability and Service Modeling
Service Discoverability and Service Granularity
Service Discoverability and Policy Assertions
Service Discoverability and Service Models
How Service Discoverability Affects Other Principles
Summary of Key Points
12.6 Risks Associated with Service Discoverability
Post-Implementation Application of Discoverability
Application of this Principle by Non-Communicative Resources
Summary of Key Points
12.7 Case Study Example
Service Profiles (functional meta information)
Related Quality of Service Meta Information

Chapter 13: Service Composability (Composition Member Design and Complex Compositions)

13.1 Composition Explained
Composition in Abstract
Origins of Composition
Summary of Key Points
13.2 Profiling this Principle
Summary of Key Points
13.3 Composition Roles, Models, and Service Activities
Compositions and Composition Instances
Composition Members and Controllers
Service Compositions and Web Services
Service Activities
Composition Initiators
Point-to-Point Data Exchanges and Compositions
Types of Compositions
Summary of Key Points
13.4 The Complex Service Composition
Stages in the Evolution of a Service Inventory
Defining the Complex Service Composition
Preparing for the Complex Service Composition
Summary of Key Points
13.5 Measuring Service Composability and Composition Effectiveness Potential
Evolutionary Cycle States of a Composition
Composition Design Assessment
Composition Runtime Assessment
Composition Governance Assessment
Measuring Composability
Summary of Key Points
13.6 Composition and Service Design
Service Composability and Service Granularity
Service Composability and Service Models
Service Composability and Composition Autonomy
Service Composability and Orchestration
How Service Composability Affects Other Principles
Summary of Key Points
13.7 Risks Associated with Service Composition
Composition Members as Cascading, Single Points of Failure
Composition Members as Performance Bottle-necks
Governance Rigidity of “over-reuse” in Compositions
Summary of Key Points
13.8 Case Study Example

Part III. Supplemental
Chapter 14: Service-Orientation and Object-Orientation: A Comparison of Principles and Concepts

14.1 A Tale of Two Design Paradigms
Summary of Key Points
14.2 A Comparison of Goals
Increased Business Requirements Fulfillment
Increased Robustness
Increased Extensibility
Increased Flexibility
Increased Reusability and Productivity
Summary of Key Points
14.3 A Comparison of Fundamental Concepts
Classes and Objects
Methods and Attributes
Messages
Interfaces
Summary of Key Points
14.4 A Comparison of Design Principles
Encapsulation
Inheritance
Generalization and Specialization
Abstraction
Polymorphism
Open-Closed Principle (OCP)
Don’t Repeat Yourself (DRY)
Single Responsibility Principle (SRP)
Delegation
Association
Composition
Aggregation
14.5 Guidelines for Designing Service-Oriented Classes
Implement Class Interfaces
Limit Class Access to Interfaces
Do Not Define Public Attributes in Interfaces
Use Inheritance with Care
Avoid Cross-Service “has-a” Relationships
Use Abstract Classes for Modeling, Not Design
Use Fa├žade Classes
Summary of Key Points

Chapter 15: Supporting Practices

15.1 Service Profiles
Service-Level Profile Structure
Capability Profile Structure
Additional Considerations
Summary of Key Points
15.2 Vocabularies
Service-Oriented Computing Terms
Service Classification Terms
Types and Associated Terms
Design Principle Application Levels
Summary of Key Points
15.3 Organizational Roles
Service Analyst
Service Architect
Service Custodian
Schema Custodian
Policy Custodian
Service Registry Custodian
Technical Communications Specialist
Enterprise Architect
Enterprise Design Standards Custodian (and Auditor)
Summary of Key Points

Chapter 16: Mapping Principles to Strategic Goals

16.1 Principles that Increase Intrinsic Interoperability
16.2 Principles that Increase Federation
16.3 Principles that Increase Vendor Diversification Options
16.4 Principles that Increase Business and Technology Domain Alignment
16.5 Principles that Increase ROI
16.6 Principles that Increase Organizational Agility
16.7 Principles that Reduce the Overall Burden of IT

Appendix A: Case Study Conclusion
Appendix B: Process Descriptions

B.1 Delivery Processes
Bottom-Up vs. Top-Down
The Inventory Analysis Cycle
Inventory Service Analysis and Service-Oriented Design
Choosing a Delivery Strategy
B.2 Service-Oriented Analysis Process
B.3 Service Modeling Process
B.4 Service-Oriented Design Processes
Design Processes and Service Models
Service Design Processes and Service-Orientation

Appendix C: Principles and Patterns Cross-Reference
Additional Resources
About the Author
About the Photographs
Index
X
X