Documentation/Messaging: Difference between revisions

From Commontk
Jump to navigationJump to search
No edit summary
No edit summary
Line 1: Line 1:
=Use cases=
==Event Management ==
Each component/application generates many different types of events. A centralized event manager (Hub and Spoke) can be used to aggregate/dispatch events
* Synchronization: Window/Leveling events in one window should be synchronized across all viewer windows
* Temporal calibration: Different components have different update frequency, a centralized manager can be used to filter UpdateEvents, so the whole system is updating at the same frequency
[[File:Amqp.jpg|thumb|300px|<big>AMQP model</big><br>Source: http://upload.wikimedia.org/wikipedia/en/9/9d/The-amqp-model-for-wikipedia.svg]]
==System Integration==
Different system/application have different data format or are running on different physical devices. A event bus can be used for system integration
=Implementation=
Using [http://msdn.microsoft.com/en-us/library/ff647328.aspx Message Bus] and [http://msdn.microsoft.com/en-us/library/ff649664(v=pandp.10).aspx Publisher/Subscriber] design pattern for system integration
Using [http://msdn.microsoft.com/en-us/library/ff647328.aspx Message Bus] and [http://msdn.microsoft.com/en-us/library/ff649664(v=pandp.10).aspx Publisher/Subscriber] design pattern for system integration
* OpenIGTLink can be used to define the common message schema, and ZeroMQ can be used to handle the transportation layer abstraction
* OpenIGTLink can be used to define the common message schema, and ZeroMQ can be used to handle the transportation layer abstraction

Revision as of 19:15, 27 May 2010

Home < Documentation < Messaging

Use cases

Event Management

Each component/application generates many different types of events. A centralized event manager (Hub and Spoke) can be used to aggregate/dispatch events

  • Synchronization: Window/Leveling events in one window should be synchronized across all viewer windows
  • Temporal calibration: Different components have different update frequency, a centralized manager can be used to filter UpdateEvents, so the whole system is updating at the same frequency


System Integration

Different system/application have different data format or are running on different physical devices. A event bus can be used for system integration

Implementation

Using Message Bus and Publisher/Subscriber design pattern for system integration