连接外部系统|如何设计系统
问题描述:
我有一个关于如何配置我的系统与外部系统接口的问题。连接外部系统|如何设计系统
以下是各部分,我想放在一起的:
选项1
- 我有3个,其带来了3种不同类型的信息到系统的外部服务。
- 我有一个WCF服务,它监听所有这些外部服务,这些服务将消息转换为通用格式。
- 我有一个使用双工tcp绑定与WCF服务连接的WPF UI,并且消息在UI上得到更新。
- 用户界面还将任何传出消息发送到服务,服务又将其发送到外部服务。
我的问题是,您认为这是一种可扩展,可维护,经济高效的方法来构建解决方案吗?如果我在Intranet方案中部署这些问题,您是否看到可能遇到的任何特定问题?
的其他考虑我给了以下内容:
选项2
- 具有连接到外部服务3个窗口服务。
- 每种服务都会将消息转换为规范格式,并将其放在特定主题的消息总线上。
- 有一个WCF服务,它监听消息总线上的主题以获取新消息。
- 使用双工绑定来更新带有任何传入消息的客户端。
- 客户端将传出消息发送到WCF服务,WCF服务又将其放到由Windows服务侦听的特定主题上,这些主题将它们发送到外部系统。
我在这里有点困惑,你能否帮我解决一个更好的方法,如果可以的话,请指点我讨论这些场景的任何链接?
数据交换量是每5分钟发送400条消息,分为多个外部系统。
我相信很多人可能会遇到这种情况,所以如果你有更好的方法,请让我知道。
感谢, -Mike
答
我当然认为与3种相似,但不同的消息格式打交道时,你的选择2是正确的。这实现了两种集成模式,adapter和canonical message。
但是,我认为使用相同的“适配器”服务作为消息传输方向相反的导管将是一个错误。将响应通道抽象出请求处理流水线会更好。
您可以实现一个分发者(或router)模式来处理响应消息路由回请求源。