Your SlideShare is downloading. ×
Asynchronous Messaging @DNUG Cologne, 07.04.2009
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Asynchronous Messaging @DNUG Cologne, 07.04.2009


Published on

A presentation by Sergey Shishkin on Asynchronous Messaging given on 07.04.2009 at .NET User Group Cologne.

A presentation by Sergey Shishkin on Asynchronous Messaging given on 07.04.2009 at .NET User Group Cologne.

Published in: Technology, Sports

1 Like
  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. Asynchronous Messaging Sergey Shishkin http:// Image source:
  • 2. Agenda Why Messaging? – And what’s wrong with good old RPC? Sample scenario – News module of the Prism’s StockTrader RI Under the hood of Message Bus – Building a Message Bus in 37 lines of code – And what those 37 lines did not cover? Image source:
  • 3. Communication Styles
    • Remote Procedure Calls
      • Synchronous
      • High coupling
    • One-Way Messages
      • Asynchronous
      • Loose coupling
  • 4. Fallacies of Distributed Computing* * http://
    • The network is reliable
    • Latency is zero
    • Bandwidth is infinite
    • The network is secure
    • Topology doesn't change
    • There is one administrator
    • Transport cost is zero
    • The network is homogeneous
    Image source:
  • 5. Composite Applications Image source: Modularized applications are similar to distributed ones
    • GUI composition is solved by:
    • Common region infrastructure
    • Event-based GUI synchronization
    • Same pattern in broader context
    • Common Message Bus infrastructure
    • Message-based components integration
  • 6. Tenets of Service-Orientation* Image source: Boundaries are explicit Services are autonomous Services share schema and contract, not class Service compatibility is based upon policy *
  • 7. Messaging Patterns * Message Bus is a central place for implementing integration patterns*
  • 8. Advantages of Messaging (I) Image source: Loose coupling Separation of concerns Orthogonal architecture
  • 9. Advantages of Messaging (II) Testing Scalability
  • 10. Disadvantages of Messaging
    • Dependency tracing
    • Who is publishing that message?
    • Is publishing of that message required?
    • Debugging
    • Same as debugging of multithreaded apps
    • Learning curve
    • It’s not a new technology, it’s a paradigm shift
    • Requires different mindset and discipline
    Image source:
  • 11. Guidelines
    • Consider messaging to loose coupling
    • Avoid RPC across modules/business services/bounded contexts*
    * In terms of DDD Image source:
  • 12. Look ahead Messaging is the default communication style for cloud-based services Silverlight does not support synchronous communication out of the box Image source:
  • 13. DEMO
  • 14. References
    • Composite WPF guidance aka “Prism”, StockTrader RI
    • StockTrader with messages (revision 12, as shown in demo)
    • Some OSS messaging frameworks
    • Fallacies of distributed computing
      • http ://
    • Four tenets of service orientation
    • Enterprise integration patterns
      • http ://