Why soa DDD South West 6
-
Upload
sean-farmar -
Category
Software
-
view
58 -
download
0
Transcript of Why soa DDD South West 6
Why Service Oriented
Architecture? Sean Farmar
@farmar
The Evolution
•Small monolith
•Success == growth == features ++
•Team Scaling
•Maintenance nightmare == high risk
•So we end up with …
Big Ball of Mud
So I went to my master
Solve the problem you want?
•Coupling your problem is
•SOA your solution is
Why SOA?
•SOA's tenets are about reducing coupling.
•Afferent (dependents)
•Efferent (depend on)
•Temporal (time, RPC)
•Spatial (deployment, endpoint address)
•Platform (protocols, .Net Remoting)
Coupling
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)
Coupling: Solutions
Temporal:
•Asynchronous messaging
•Publish Subscribe
Coupling: Solutions
Spatial:
•Application level code should not need to know where cooperating services are on the network
In practice
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)
n-tier architecture
Vertical Slicing
Publish Subscribe [pub/sub]
Publish Subscribe [pub/sub]
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
Summary
•SOA
•NServiceBus
•Particular.net
•You can do it
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
Q&A
Thank You!Sean Farmartwitter: @farmarParticular.net