Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Mass Transit


Published on

Presentation made at the Sydney Alt.NET user group in October 2009.

Published in: Technology, Education
  • Be the first to comment

  • Be the first to like this

Mass Transit

  1. 1. MassTransit<br />David KeavenySenior DeveloperFairfax Digital<br />
  2. 2. Enterprise Service Bus<br />An infrastructure used for enterprise integration via a service-oriented approach:<br />Reliable messaging;<br />Messages exchanged between services using standard messaging patterns (e.g. request/response, publish/subscribe);<br />Messages consist of XML data and metadata;<br />Provides services for transforming and routing of messages<br />
  3. 3. What is it?<br />
  4. 4. What is it?<br />Asynchronous<br />Minimised coupling<br />Explicit contract<br />Fault tolerant<br />Data availability<br />
  5. 5. What is it?<br />Hotto cocoa okudasai<br />a.k.a. Starbucks Does Not Use Two-Phase Commit<br /><br />
  6. 6. ESB Implementations<br />Microsoft BizTalk<br />IBM WebSphere<br />TIBCO BusinessWorks<br />
  7. 7. Alt.Net ESB Implementions<br />NServiceBus<br />SimpleServiceBus<br />(ESB.NET)<br />MassTransit<br />
  8. 8. MassTransit Summary<br />Originated by Chris Patterson & Dru Sellers<br />Lightweight Service Bus Implementation<br />Loose coupling via publish/subscribe<br />Active Service pattern<br />Supports MSMQ, ActiveMQ, TIBCO EMS<br />Open Source, Apache 2.0 License<br />
  9. 9. MassTransit Architecture<br />
  10. 10. Testing<br />Individual components testable in isolation<br />Fully unit-testable using mocks and stubs<br />Test-first development helps improve data contract<br />
  11. 11. Visualisation Tools<br />Presents code-base logic in a visual form<br />Aid in identifying composition problems<br />Should be viewable on operational systems<br />
  12. 12. Real-world Usage<br />
  13. 13. Lessons Learned<br />Network services are unreliable FAIL<br />Ability to isolate services for testing WIN<br />State-machine-based workflows WIN<br />Under active developer FAIL/WIN<br />
  14. 14. Further Reading<br />