Why soa DDD South West 6

20
Why Service Oriented Architecture? Sean Farmar @farmar

Transcript of Why soa DDD South West 6

Page 1: Why soa DDD South West 6

Why Service Oriented

Architecture? Sean Farmar

@farmar

Page 2: Why soa DDD South West 6

The Evolution

•Small monolith

•Success == growth == features ++

•Team Scaling

•Maintenance nightmare == high risk

•So we end up with …

Page 3: Why soa DDD South West 6

Big Ball of Mud

Page 4: Why soa DDD South West 6

So I went to my master

Page 5: Why soa DDD South West 6

Solve the problem you want?

•Coupling your problem is

•SOA your solution is

Page 6: Why soa DDD South West 6

Why SOA?

•SOA's tenets are about reducing coupling.

Page 7: Why soa DDD South West 6

•Afferent (dependents)

•Efferent (depend on)

•Temporal (time, RPC)

•Spatial (deployment, endpoint address)

•Platform (protocols, .Net Remoting)

Coupling

Page 8: Why soa DDD South West 6

Coupling: SolutionsPlatform:

•XML on the wire.

•XSD (schema) describing XML structure

•Use standards based transfer protocol like http

•Standards based description of message flow

•WSDL (only supports request/response)

•SSDL(supports richer semantics)

Page 9: Why soa DDD South West 6

Coupling: Solutions

Temporal:

•Asynchronous messaging

•Publish Subscribe

Page 10: Why soa DDD South West 6

Coupling: Solutions

Spatial:

•Application level code should not need to know where cooperating services are on the network

Page 11: Why soa DDD South West 6

In practice

Page 12: Why soa DDD South West 6

In practice• Vertical Slicing

•Using asynchronous messaging

•Using publish subscribe

• Business domain decomposition

• Explicit intentions [naming, context]

• Single Responsibility

• Command Query Separation

• “Clean Code” (Uncle Bob)

Page 13: Why soa DDD South West 6

n-tier architecture

Page 14: Why soa DDD South West 6

Vertical Slicing

Page 15: Why soa DDD South West 6

Publish Subscribe [pub/sub]

Page 16: Why soa DDD South West 6

Publish Subscribe [pub/sub]

Page 17: Why soa DDD South West 6

Subscribe to

Customer Status Updated

Publish

Customer Status Updated

Save status locally

Subscribe to Product Product Pricing UpdatedPricing Updated

Publish

Product Pricing Updated

Save pricing locally

Place Order

Publish Order Accepted

Sales

Marketing

Customer Care

Page 18: Why soa DDD South West 6

Summary

•SOA

•NServiceBus

•Particular.net

•You can do it

Page 19: Why soa DDD South West 6

Learn to build better systemsfrom Udi Dahan

Advanced Distributed Systems Design

2 days (out of 5) for FREE

Join us at the Particular boothfor more information

Page 20: Why soa DDD South West 6

Q&A

Thank You!Sean Farmartwitter: @farmarParticular.net