分享
 
 
 

用Delphi建立通讯与数据交换服务器—Transceiver技术剖析(上)

王朝delphi·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

用Delphi建立通讯与数据交换服务器—Transceiver技术剖析(上)

作者:火鸟 redbirdli@hotmail.com

引言

在国内常见的信息化开发及实施项目中,大多数开发的工作量都集中于为适应不同客户的需求差异,对特定模块进行修改,最终达到客户期望的软件功能特性。但是对于开发厂商来说,面对不同的客户开发不同的软件版本,将导致重复劳动、成本上升、维护量加大、兼容和稳定性下降等一系列问题。所以,开发者认识到实现软件的产品化,才能具备较短的项目周期与较强的市场竞争力,尽可能地适应不同客户的需求,而不会因此而泥足深陷,是客户满意度与商业利益的一个平衡点。

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. 多语言支持,提供数据转换与用户界面的多语言支持接口,用户可根据语言需求自由添加界面语言类型和数据转码组件。

Transceiver 实现

Transceiver由Transceiver Service和Transceiver Console两部分组成, Transceiver Service又可划分为Transceiver Kernel和Transceiver Shell两个逻辑层。

附图2: Transceiver 设计架构

一、 Transceiver Console简介

Console的功能是以控制面板应用程序形式为Transceiver Service提供有效的Port、Channel定义与规则以及对传输日志、数据队列、环境参数等进行设置,不通过Console,用户也可以通过直接修改Transceiver的系统配置库和注册表对上述内容进行手工设置,限于篇幅,只向大家提供三幅截图,说明界面多语言动态支持、Transceiver Shell Port定义、Transceiver Channel定义三个方面的运行效果,实现细节不做赘述。

附图3: Transceiver Console的多语言动态支持(附图4、5界面语言均不同)

附图4: 通过Transceiver Console为Transceiver Server定义通讯Port

附图5: 组合SourcePort和TargetPort为Transceiver Server定义通讯Channel

作者:火鸟 redbirdli@hotmail.com

通过C#实现集合类纵览.NET Collections及相关技术

用Delphi建立通讯与数据交换服务器—Transceiver技术剖析(上)

用Delphi建立通讯与数据交换服务器—Transceiver技术剖析(下)

老东西:程序快捷方式/程序删除项/EXE自删除DIY

老东西:儿时的编程算法心得笔记

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有