new tier for wcf?

Coordinator
Mar 10, 2012 at 8:37 AM

In the current architecture, the topmost layer of the system is the Event Dispatcher. This hosts a WCF service facade, and the dispatcher processes. Their knowledge and responsibilities are the following:

Service facade

  • Knows the domain plugins, from which it can construct a strongly typed service facade
  • Knows the dispatcher input queue, to which it posts the incoming messages
  • Knows the dispatcher message map from which it can retrieve status and result of processing

Dispatcher

  • Contains the input queue and message map, used by service facade
  • Knows the domain plugins, from which it can serialize and de-serialize incoming messages
  • Knows the processor and persister queues, and their plugin configuration
  • Knows the logic of processing messages (should a result be re-routed or not, etc)

The two module shares a little, and has a definite interface, so they can be separated, at least, logically. However, physical separation is a question: do we gain anything from having two different processing nodes? Can we say that the service interface is actually the dispatcher input queue? How will we handle security, retrieving response, and input validation in this case?