1 / 20

Enterprise Integration with MassTransit

Enterprise Integration with MassTransit. Mike Hadlow http://mikehadlow.blogspot.com mikehadlow@gmail.com Twitter: mikehadlow. What I’m going to talk about. How we do application integration Introduce event driven architecture MassTransit. Why do application integration?. Re-keying

tuvya
Download Presentation

Enterprise Integration with MassTransit

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Enterprise Integration with MassTransit Mike Hadlow http://mikehadlow.blogspot.com mikehadlow@gmail.com Twitter: mikehadlow

  2. What I’m going to talk about • How we do application integration • Introduce event driven architecture • MassTransit

  3. Why do application integration? • Re-keying • Multiple data silos • Lost, inconsistent information A B

  4. Shared Database • Many applications sharing a single schema • Schema not owned by application • Schema change becomes a point of pain A B Database

  5. File Transfer • Extract – Transform – Load (ETL) • Asynchronous • You have to build it all yourself A B File

  6. RPC • Synchronous • Services must be available at invocation • Nested call stacks are fragile • Vendor lock-in • Fallacies of RPC • Applications do not go down • The network is always available • Latency is not a problem

  7. Web Services • Standards based • Explicit contract (WSDL) • But it’s still RPC A B

  8. Messaging • Store and forward A B Send Receive

  9. Asynchronous • Message producers are non-blocking • Fire and forget • Message consumers run in their own process • Introduces a more complex programming model

  10. Minimized Coupling • Eliminates temporal coupling • Services can be tested independently • Reduces dependencies, increasing service reuse

  11. Explicit contract • Agreement of producer and consumer • Internal data structure remains private • Integration points remain at application’s edge • Eliminates propagation of internal changes

  12. Fault Tolerance • Recoverable • Durable message transports

  13. Data Availability • Enables small, frequent transfers • Distribute system load over a wider time window

  14. Event Driven Architecture • A method of building enterprise system in which events flow between decoupled components and services • Service Oriented Architecture • Components assembled at run-time • Asynchronous programming model • Reactive behaviour

  15. Autonomous Components • Defined by responsibility • Independent • Self-governing – makes decisions on how to react • Self-controlling – responsible for execution context • Self-contained – not part of an application

  16. Event Producers • Publish events • Oblivious to consumer reactions • Unaffected by high number of consumers

  17. Event Consumers • React to events • Subscribe by topic/type/selector • Asynchronous operation

  18. Commands • Tell a component or service to do something • Initiated by an event, interaction, etc. • Use correlation for tracing, idempotence • Sent using messaging (not published)

  19. Events • A complete representation of a specific event • Time relevant, not time sensitive • Avoid references to internal data • Reduces dependencies, loosens coupling • Each event should have its own unique identifier • Multiple component can subscribe to the same event

  20. MassTransit • Created by • Chris Patterson • Dru Sellers • Layers a service bus on top of one-way store-and-forward messaging • MSMQ, ActiveMQ, TIBCO EMS • Open Source

More Related