用Delphi建立通讯与数据交换服务器—Transceiver…

2008-02-23 07:17:47来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

引言 在国内常见的信息化开发及实施项目中,大多数开发的工作量都集中于为适应不同客户的需求差异,对特定模块进行修改,最终达到客户期望的软件功能特性。但是对于开发厂商来说,面对不同的客户开发不同的软件版本,将导致重复劳动、成本上升、维护量加大、兼容和稳定性下降等一系列问题。所以,开发者认识到实现软件的产品化,才能具备较短的项目周期与较强的市场竞争力,尽可能地适应不同客户的需求,而不会因此而泥足深陷,是客户满意度与商业利益的一个平衡点。 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)的交互能力 Transceiver 功能 1. LAN/WAN、不同操作系统/应用系统间的数据发送(Send)/接收(Receive)服务
Transceiver目前可支持的通讯端口(Port)有: 通讯方式 交互层 发送端 接收端 推荐环境 TCP 协议 √ √ 企业快速以太网/没有防火墙的网络 FTP 协议 √ √ 网络间的文件传输/具有文件服务器的环境 SMTP 协议 √ B2C情况/具有邮件发送服务器 POP3 协议 √ B2C情况/具有邮件接收服务器 HTTP 协议 √ √ 跨越防火墙的网络/Internet环境 FILE 数据 √ √ 从本地文件读取/写入到本地文件 MSMQ 数据 √ √ 与大型主机等其它系统/不同应用间 DB 数据 √ √ 定制的数据库结构下/不同应用间 COM/DCOM 应用 √ √ 业务逻辑映射到专用模块接口/有特定数据处理需求的环境 正如Transceiver 应用举例所示, 按Transceiver对Port和Channel的定义,以上Send/Receive两端各八种Port自由组合,即可实现8x8共64种灵活的通讯方式,足以满足复杂多变的企业应用通讯环境。 注:由于UDP协议的需求环境与TCP类似而缺乏连接安全性,所以作者没有专门实现,如有需要可以灵活增加;而在应用层面,用Delphi也很容易实现CORBA和EJB的组件接口(Port),成为Transceiver Shell的有机组成部分。 2. 用于缓冲处理的Queue机制,可对通讯异常情况进行数据缓冲队列跟踪与数据重发。 3. 数据日志记录,可对数据的时间、内容、来源、去向、缓冲次数、当前状态 进行全程记录。 4. 多语言支持,提供数据转换与用户界面的多语言支持接口,用户可根据语言需求自由添加界面语言类型和数据转码组件。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Delphi编程技巧(一)内存管理

下一篇:在Delphi7中实现停靠功能