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.

Servicebus presentation for DotNed UserGroup

1,264 views

Published on

Presentation on Messaging, ServiceBus and Broker in general and NServiceBus in particular.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Servicebus presentation for DotNed UserGroup

  1. 1. Dennis van der Stelt brokers need to sit at the back of the bus Dennis van der Stelt Software Architect http://dennis.bloggingabout.net/ dennis@bloggingabout.net NServiceBus Community Champ SERVICE BUS @dvdstelt #dotned
  2. 2. Dennis van der Stelt
  3. 3. Dennis van der Stelt AGENDA
  4. 4. Dennis van der Stelt Messaging What is it and why do I need it?
  5. 5. Dennis van der Stelt enterprise application integration
  6. 6. Dennis van der Stelt ENTERPRISE APPLICATION INTEGRATION HISTORY Spaghettiintegration
  7. 7. Dennis van der Stelt ENTERPRISE APPLICATION INTEGRATION HISTORY Spaghettiintegration
  8. 8. Dennis van der Stelt ENTERPRISE APPLICATION INTEGRATION HISTORY Filetransfer File transfer Shared database Remote Procedure Invocation Messaging 02 03 04 01
  9. 9. Dennis van der Stelt ENTERPRISE APPLICATION INTEGRATION HISTORY Shared database File transfer Shared database Remote Procedure Invocation Messaging 02 03 04 01
  10. 10. Dennis van der Stelt
  11. 11. Dennis van der Stelt ENTERPRISE APPLICATION INTEGRATION HISTORY RemoteProcedureInvocation(RPC) File transfer Shared database Remote Procedure Invocation Messaging 02 03 04 01 Application A stub Application B skeleton function result
  12. 12. Dennis van der Stelt ENTERPRISE APPLICATION INTEGRATION HISTORY Messaging File transfer Shared database Remote Procedure Invocation Messaging 02 03 04 01
  13. 13. reduce coupling
  14. 14. Dennis van der Stelt SpatialTemporalPlatform coupling aspects
  15. 15. Dennis van der Stelt PLATFORM Alsoknownas ‘interoperability’ http, json, xml, xsd, etc…
  16. 16. Dennis van der Stelt TEMPORAL Store Front End Shipping Service
  17. 17. Dennis van der Stelt TEMPORAL Store Front End Shipping ServiceShipping Service
  18. 18. Dennis van der Stelt TEMPORAL Store Front End Shipping ServiceOrder Queue
  19. 19. Dennis van der Stelt TEMPORAL Store Front End Shipping ServiceOrder Queue
  20. 20. Dennis van der Stelt TEMPORAL Store Front End Shipping ServiceOrder Queue
  21. 21. Dennis van der Stelt SPATIAL
  22. 22. Dennis van der Stelt SPATIAL .net application .net application ShipOrder AssignTask
  23. 23. Dennis van der Stelt Messaging  Reduces spatial coupling  XML/JSON for platform coupling  Asynchronous for temporal coupling
  24. 24. demo Messaging using WCF
  25. 25. Dennis van der Stelt PERFORMANCE RPCversusMessaging
  26. 26. Dennis van der Stelt ServiceBus What are the options and what is the competition?
  27. 27. Dennis van der Stelt BUS VS BROKER Commonalities Both Bus & Broker attempt to handle spatial coupling. Both handle it differently though.
  28. 28. Dennis van der Stelt BROKER ARCHITECTURAL STYLE Alsoknownas ‘huband spoke’or‘mediator’,usedin EAI broker
  29. 29. Dennis van der Stelt BROKER ARCHITECTURAL STYLE Alsoknownas ‘huband spoke’or‘mediator’,usedin EAI broker Broker characteristics 1. Broker is physically separate 2. All communication goes through the broker 3. Broker handles failover, routing, etc. 4. Broker is single point of failure. Must be robust & performant.
  30. 30. Dennis van der Stelt BizTalk WebSphere Sonic ESB Broker Technologies BPEL engines CORBA UDDI
  31. 31. Dennis van der Stelt BROKERS Communicate with 1 entity Data transformation Enables ‘intelligent’ routing and orchestration No changes to surrounding applications02 03 04 01 Broker Advantages
  32. 32. Dennis van der Stelt BROKERS Communicate with 1 entity Data transformation Enables ‘intelligent’ routing and orchestration No changes to surrounding applications02 03 04 01 Broker Disadvantages Embodies the 11th fallacy01 Procedural code03 Broker Advantages No autonomy02 No unit test & source control04
  33. 33. Dennis van der Stelt BUS ARCHITECTURAL STYLE  Event sources and event sinks use bus for pub/sub  Designed to allow independent evolution of sources and sinks source sourcesink sink
  34. 34. Dennis van der Stelt BUS ARCHITECTURAL STYLE source sourcesink sink Bus characteristics 1. Bus not necessarily physically separate 2. Communication is distributed No single point of failure 3. Bus is simpler no routing or failover 4. Orthogonal to the broker style
  35. 35. Dennis van der Stelt BUS TOPOLOGY
  36. 36. Dennis van der Stelt RabbitMQTibo Rendezvous Rhino Service Bus.NET Platform NServiceBus MassTransit Federated AMQP BUS TECHNOLOGY
  37. 37. Dennis van der Stelt Advanced ServiceBus The theory & practice behind important principles
  38. 38. Dennis van der Stelt command message
  39. 39. Dennis van der Stelt event message
  40. 40. Dennis van der Stelt document message
  41. 41. Dennis van der Stelt message delivery once and only once at least once best effort
  42. 42. Dennis van der Stelt publish / subscribe
  43. 43. Dennis van der Stelt sagas
  44. 44. Dennis van der Stelt msmq
  45. 45. Dennis van der Stelt rabbitmq
  46. 46. Dennis van der Stelt CAP Theorem Eric Brewer, PODC Conference 2000
  47. 47. Dennis van der Stelt CAP THEOREM Youcan onlypick2
  48. 48. Dennis van der Stelt CAP THEOREM Youcan onlypick2 centralized system partition tolerantconsistencyavailability
  49. 49. Dennis van der Stelt CAP THEOREM Youcan onlypick2 centralized system partition tolerantconsistencyavailability
  50. 50. Dennis van der Stelt CAP THEOREM Youcan onlypick2 centralized system partition tolerantconsistencyavailability distributed system partition tolerantconsistencyavailability
  51. 51. Dennis van der Stelt CAP THEOREM Youcan onlypick2 centralized system partition tolerantconsistencyavailability distributed system partition tolerantconsistencyavailability when there’s network partition, which do you sacrifice?
  52. 52. Dennis van der Stelt Match the business perspective
  53. 53. Dennis van der Stelt
  54. 54. Dennis van der Stelt
  55. 55. Dennis van der Stelt
  56. 56. Dennis van der Stelt But I can’t drop consistency!
  57. 57. Dennis van der Stelt Basically Available BASE What is BASE? Soft state Eventually consistent
  58. 58. Dennis van der Stelt Eventual Consistency
  59. 59. Dennis van der Stelt Eventual Consistency
  60. 60. Dennis van der Stelt Eventual Consistency
  61. 61. Dennis van der Stelt Eventual Consistency your “enterprise” is already eventual consistent with reality
  62. 62. Dennis van der Stelt Eventual Consistency your “enterprise” is already eventual consistent with reality
  63. 63. Dennis van der Stelt Distributed Transactions
  64. 64. Dennis van der Stelt BUS TOPOLOGY
  65. 65. Dennis van der Stelt IDEM POTENCY Solvingthedistributedtransactionissues Sender {0C836F44-6587-416E-B97A-5615615600D5}
  66. 66. Dennis van der Stelt IDEM POTENCY Solvingthedistributedtransactionissues Sender {0C836F44-6587-416E-B97A-5615615600D5}
  67. 67. Dennis van der Stelt IDEM POTENCY Solvingthedistributedtransactionissues Sender Event Subscriber {5EDC4993-AB01-4F17-A238-71C4521F750F} {0C836F44-6587-416E-B97A-5615615600D5}
  68. 68. Dennis van der Stelt IDEM POTENCY Solvingthedistributedtransactionissues Sender Event Subscriber {5EDC4993-AB01-4F17-A238-71C4521F750F} {0C836F44-6587-416E-B97A-5615615600D5}
  69. 69. Dennis van der Stelt
  70. 70. Dennis van der Stelt what is a life changingevent worth to you?
  71. 71. Dennis van der Stelt advanceddistributedsystemsdesign 5 days that’ll change your live only once in Europe this year after NDC Oslo, June 22nd – 26th otherlocationsthisyearincludeAustin,Texas&Australia
  72. 72. Dennis van der Stelt advanceddistributedsystemsdesign 5 days that’ll change your live $1000worth of videofrom first 2 days of the training only availablefrom March 26 – April 8 http://go.particular.net/DOTNED code : IYTGFE
  73. 73. Dennis van der Stelt find me. http://dennis.bloggingabout.net dvdstelt@outlook.com

×