Sponsors and Partners Strategic Sponsors Gold Sponsors Silver
- Slides: 25
Sponsors and Partners Strategic Sponsors Gold Sponsors Silver Sponsors
Why Service Oriented Architecture? Sean Farmar @farmar
The Evolution • Small monolith • Success == growth == features ++ • 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… • Hmmmm • SOA your solution will be
Why SOA? • SOA's tenets are about reducing coupling.
Coupling • Afferent (dependents) • Efferent (depend on) • Temporal (time, synchronous communication) • Spatial (deployment, endpoint address) • Platform (protocols, . Net Remoting)
Coupling: Afferent & Efferent • Afferent (dependents) • Efferent (depend on) Afferent & Efferent solutions: • Attempt to minimize • Zero coupling is not possible
Coupling: Temporal (time, synchronous communication) Temporal solutions: • Asynchronous messaging • Publish Subscribe
Coupling: Spatial (deployment, endpoint address) Spatial solutions: • Delegate service location to the infrastructure, not in application code
Coupling: Platform AKA Interoperability (protocols, . Net Remoting) Platform solutions: • XML on the wire. • Use standards based transfer protocol like http • “Share contract and schema, not class or type”
Fallacies of Distributed Computing 1. The network is reliable. (Bill Joy and Tom Lyon) 2. Latency is zero. (Bill Joy and Tom Lyon) 3. Bandwidth is infinite. (Bill Joy and Tom Lyon) 4. The network is secure. (Bill Joy and Tom Lyon) 5. Topology doesn’t change. (Peter Deutsch) 6. There is one administrator. (Peter Deutsch) 7. Transport cost is zero. (Peter Deutsch) 8. The network is homogeneous. (James Gosling)
Fallacies of Distributed Computing Three more. . . • The system is atomic/monolithic • The system is finished • Business logic can and should be centralized • Ted Neward’s blog: http: //blogs. tedneward. com/post/enterprisecomputing-fallacies/
The Fallacies EBook • Go to: http: //go. particular. net/developerdays 16
In practice
In practice • • Business domain decomposition (entity fields) Vertical Slicing Using asynchronous messaging for state changing operation Publish subscribe Explicit intentions [naming, context] Single Responsibility Command Query Separation “Clean Code” (Uncle Bob)
Monolith Tight Coupling Loose Coupling UI BL DAL DB
Vertical Slicing Tight Coupling Loose Coupling UI BL Sales Conten t Ops CRM DAL DB Referential Integrity Re-introduces Coupling
Publish Subscribe [pub/sub]
Publish Subscribe [pub/sub]
Place Order Sales Save status locally Save pricing locally Subscribe to Product Pricing Updated Subscribe to Customer Status Updated Publish Product Pricing Updated Publish Customer Care Customer Status Updated Publish Order Accepted Marketing
Summary • SOA/Microservices not a cookie cutter • Be Pragmatic, sometimes a monolith is a great solution • Avoid all aspects of coupling • NService. Bus • Particular. net • Just do it
Q&A Thank You! Sean Farmar twitter: @farmar Particular. net
Sponsors and Partners Strategic Sponsors Gold Sponsors Silver Sponsors
- Silver carpet bedroom/silver carpet living room
- Example of a chemical change
- Mercantilism gold and silver
- Databricks bronze silver gold
- Strategic complements and substitutes
- Strategic competitiveness
- Analysing the 6 strategic options megxit
- Laws governing medicare parts c and d
- Strategic fit vs strategic intent
- Types of sponsors
- Thanks to all our sponsors
- Essendon fc sponsors
- Calgary flames sponsors
- Jeopardy sponsors
- Notre dame football sponsors
- Berwick and partners
- Arun and balu are partners in a firm
- Dr wilson and partners bradford
- Gagner en efficience
- Peter lane and partners
- Rights and duties of partners
- Kkp adam damili & partners
- Every complete sentence contains two parts, a subject and a
- The golden kite, the silver wind
- Summary of the golden kite silver wind
- Potassium chloride silver nitrate