630 likes | 790 Views
Context is King. Finding Service Boundaries. Derek Comartin @codeopinion codeopinion.com. Context. What is a Service?. Meaningless Term…. Tenets of SOA. Service-Oriented Architecture. Tenets of SOA. Service-Oriented Architecture. Tenets of SOA. Boundaries are Explicit. Function.
E N D
Context is King Finding Service Boundaries Derek Comartin @codeopinion codeopinion.com
What is a Service? Meaningless Term…
Tenets of SOA Service-Oriented Architecture
Tenets of SOA Service-Oriented Architecture
Tenets of SOA Boundaries are Explicit
Function Behavior without Data
Database Data without Behavior
Tenets of SOA Service-Oriented Architecture
Tenets of SOA Services are Autonomous
Tenets of SOA Service-Oriented Architecture
Tenets of SOA Share Schema not Class
Tenets of SOA Service-Oriented Architecture
Tenets of SOA Service Compatibility based on Policy
Services Boundaries Who Cares? Why do we want services boundaries?
Big Ball of Mud High Coupling
Distributed Big Ball of Mud Request/Response over HTTP
Service Self Governing Application Database
Autonomous Service Self Governing Sales Service Application Database Shipping Service Application Database
Autonomous Service Self Governing Sales Service Application Database Shipping Service Application Database
Autonomous Service Self Governing Application Database Broker
Autonomous Service Self Governing Sales Service Application Database Broker Order Placed Event Shipping Service Application Database
Little Balls of Mud Low Coupling Service A Service C Service B Event Message Broker Service E Service D
Service Counter Intuitive
Service Authority • A service is the authority • of a set of business capabilities.
Bounded Context Language
Bounded Context Product isn’t a Product
Bounded Context Product isn’t a Product
Bounded Context Price vs Cost Sales vs Purchasing
Bounded Context Taken out of Context If a statement or remark is quoted out of context, the circumstances in which it was said are not correctly reported, so that it seems to mean something different from the meaning that was intended.
Service Boundaries Context Matters
Service Boundaries Perspective
Service Boundaries 4+1 Architecture View Model
Finding Service Boundaries Entities
Finding Service Boundaries Entities
Finding Service Boundaries Right Questions Does sales need the product quantity?
Finding Service Boundaries Available to Promise
Service Boundaries Wrong Questions Is the sale price ever dictated by the product description?
Implementation Vertical Slices not Layers
Application Layers Web Framework Authorization Validation Data Access Model Database
Feature Driven Feature Feature Feature Feature Feature Model Database
Single Feature Controller Authorization Validation Execution Model Database
Single Feature ASP.NET MVC Policy Auth Fluent Validation Entity Framework Model Database