用Delphi建立通讯与数据交换服务器—Transceiver技术剖析(上)2011-04-23引言在国内常见的信息化开发及实施项目中,大多数开发的工作量都集中于为适应不同客户的 需求差异,对特定模块进行修改,最终达到客户期望的软件功能特性。但是对于开发厂商来 说,面对不同的客户开发不同的软件版本,将导致重复劳动、成本上升、维护量加大、兼容 和稳定性下降等一系列问题。所以,开发者认识到实现软件的产品化,才能具备较短的项目 周期与较强的市场竞争力,尽可能地适应不同客户的需求,而不会因此而泥足深陷,是客户 满意度与商业利益的一个平衡点。Transceiver 概念Transceiver 就是为满足不同应用程序和业务项目具有差异性的通讯需求而设计开发的通 用通讯产品化软件。可用于在多个应用系统间进行平台中立应用中立的统一管控的通讯和数 据交换,设计初衷就是为了减少通讯模块的重复开发与增强通讯软件的集中管理。通过将发 送(Send)与接收(Receive)抽象为等同的一个从信源(Source)到信宿(Target)的数据流过程 ,集成现有常用通讯方式的收发处理,及对通讯异常的容错缓冲处理(Queue),构成了 Transceiver 足以满足企业级通讯需求的强大功能。以下为Transceiver 应用举例
通讯方向 | 信源(Source) | 缓冲(Queue) | 信宿(Target) | 实现功能 |
C1.发送数据 | S1.从本地FILE获得 | 如信宿出现异常,数据可在Transceiver中缓冲,并由Transceiver负 责重发 | T1.提交到远端TCP端口 | 向远端传输文件 |
C2.接收数据 | S2.从远端POP3获得 | T2.提交到另一SMTP账号 | 邮件转发 |
C3.发送数据 | S3.从本地DB获得 | T3.提交到远端HTTP页面 | 从数据库读取并提交到网页 |
C4.接收数据 | S4.从远端FTP获得 | T4.提交到本地COM进行处理 | 从远端获取并交由COM处理 |
C5.接收数据 | S5.从远程DCOM获得 | T5.提交到本地MSMQ队列 | 从远程组件获取存入消息队列等待处理 |
在Transceiver 中信源(Source)和信宿(Target)都被统一视为端口(Port),如S1~S5、T1 ~T5,它们都是由Transceiver在运行时创建和管控的通讯组件;而类似C1~C5的几个通讯过 程定义被视为信道(Channel),一个可以完成基本通讯功能的Channel由两个Port构成(一个为 Source,一个为Target) ,Queue为通讯异常时的容错处理层。 如表所示, Transceiver 可 以为发送/接收两类通讯过程提供全程支持。并且对信源和信宿的类型、数量和对应关系不做 任何限定,可以自由设置Source与Target的匹配关系。以上表格只是列举了Transceiver通讯功能的几个用例,Transceiver抽象整合了 Application、Data和Protocol三个层面的数据通讯元素,可以适应复杂多变的通讯需求,为 应用程序的通讯需求提供最大化的灵活性和重用性。 附图1: Transceiver 通讯端口(Port) 的交互能力