2012-04-27 71 views
2

我有一个关于如何配置我的系统与外部系统接口的问题。连接外部系统|如何设计系统

以下是各部分,我想放在一起的:

选项1

  • 我有3个,其带来了3种不同类型的信息到系统的外部服务。
  • 我有一个WCF服务,它监听所有这些外部服务,这些服务将消息转换为通用格式。
  • 我有一个使用双工tcp绑定与WCF服务连接的WPF UI,并且消息在UI上得到更新。
  • 用户界面还将任何传出消息发送到服务,服务又将其发送到外部服务。

我的问题是,您认为这是一种可扩展,可维护,经济高效的方法来构建解决方案吗?如果我在Intranet方案中部署这些问题,您是否看到可能遇到的任何特定问题?

的其他考虑我给了以下内容:

选项2

  • 具有连接到外部服务3个窗口服务。
  • 每种服务都会将消息转换为规范格式,并将其放在特定主题的消息总线上。
  • 有一个WCF服务,它监听消息总线上的主题以获取新消息。
  • 使用双工绑定来更新带有任何传入消息的客户端。
  • 客户端将传出消息发送到WCF服务,WCF服务又将其放到由Windows服务侦听的特定主题上,这些主题将它们发送到外部系统。

我在这里有点困惑,你能否帮我解决一个更好的方法,如果可以的话,请指点我讨论这些场景的任何链接?

数据交换量是每5分钟发送400条消息,分为多个外部系统。

我相信很多人可能会遇到这种情况,所以如果你有更好的方法,请让我知道。

感谢, -Mike

回答

1

我当然认为与3种相似,但不同的消息格式打交道时,你的选择2是正确的。这实现了两种集成模式,adaptercanonical message

但是,我认为使用相同的“适配器”服务作为消息传输方向相反的导管将是一个错误。将响应通道抽象出请求处理流水线会更好。

您可以实现一个分发者(或router)模式来处理响应消息路由回请求源。