请输入您要查询的百科知识:

 

词条 XCOM
释义

创建XCOM共享空间,众人拾柴火焰高,让我们在此空间种子、浇水、开花、结果

iXcom技术白皮书

1.   前言... 1

2.   iXcom简介... 2

3.   iXcom的功能... 3

4.   iXcom的特点... 4

5.   基本概念... 5

5.1.   应用... 5

5.2.   节点... 5

5.3.   电文... 6

5.4.   电文号... 7

5.4.1.    映射电文号... 7

5.5.   回线... 7

5.6.   主机名... 8

5.7.   主机代号... 8

5.8.   电文实时传输... 8

5.9.   电文可靠传输... 8

5.10.    静态连接... 9

5.11.   动态连接... 9

5.12.    队列... 10

5.12.1.   发送队列... 10

5.12.2.   接收队列... 11

5.13.    分组发送... 11

5.14.    分组接收... 11

6.   体系结构... 11

6.1.   系统核心... 12

6.1.1.    基础平台构件层... 12

6.1.2.    数据处理构件层... 13

6.2.   通信管理... 14

6.3.   应用适配器层... 15

1.  前言

本文档介绍宝信软件的中间件产品iXcom。iXcom属于消息通信中间件,它的主要功能是在应用程序间传递消息,这些消息可以在不同的通信协议(基于TCP/IP Socket)、不同的主机系统和不同的应用系统。

iXcom 提供简单易用、高效可靠的分布式应用开发和通信平台,利用它可以快速方便地开发可靠、高效的分布式应用。

iXcom 提供远程监控和控制功能,可以方便的控制通信线路和得知通信运行状况。

iXcom提供对多种主流数据库的支持,支持Oracle,SQLServer等数据库。

iXcom提供对多种开发语言的支持,支持C/C++ , Java, .NET, VB , Delphi等语言。

2.  iXcom简介

iXcom 是面向分布式应用的消息中间件,它为网络环境下客户机/服务器(C/S)结构的应用系统的开发和运行,提供了灵活和易用的基础平台。

iXcom提供两种通讯模式,实时传输模式和可靠传输模式。在实时传输模式上,iXcom提供快速地数据发送能力,但在通信出现异常时不能保证数据地可靠到达。在可靠传输模式下,iXcom提供可靠的数据发送能力,严格按照应用发送电文的先后顺序进行电文发送,保证电文的可靠传输。

一个iXcom 的基本工作示意图如图1 所示。应用程序分布在网络上的两个结点上,当应用程序之间要传送消息时,应用程序只需将消息电文号和消息的内容通过iXcom提供的接口传给iXcom。iXcom 便会利用网络结点上的各个iXcom运行系统组成的虚拟网,将消息输送到消息接收者所在的结点上,然后提交给消息的接收者。

图1

3.  iXcom的功能

iXcom的主要功能如下:

Ø    提供端到端的实时通信服务。应用不必关心网络通信和其它的网络细节,应用只需关注应用业务层,减少学习和使用的难度。

Ø    提供端到端的可靠通信服务。适用于分布式环境下各种不同类型的应用开发,特别是对通信的可靠性要求较高的应用,提供多层次的异步通信机制。通信的应用双方在处理时间上可以互不相关,发送方在发送数据时接收方应用可以还未启动。

Ø    提供对发送电文的并发传输(通信规约必须是动态连接的)和接收电文的并发处理,适用于对效率要求比较高的业务领域。

Ø    提供简单易用、快速、高效可靠的分布式应用系统的开发平台,应用编程接口(API)简单且易学易用。网络异构环境和细节对用户完全透明并且支持多种网络底层环境,并提供了跨操作系统的C/C++/Java接口;

Ø    iXcom可以和具有不同通信规约的节点进行通信。

Ø    提供WebService,XML-RPC接口,可以和J2EE和.NET进行集成。

Ø    支持工业通信协议Modbus、3964R等协议。

Ø    通过iXcom提供的协议框架,可以对通信协议进行扩展。

Ø    可靠传输方式下,支持电文的广播和多播发送。

Ø    提供对多种消息格式(ASCII和二进制)传输的支持;提供快速可靠的面向事务处理的数据递送功能,保证数据的完整性和可靠性;

Ø    提供分布式(C/S和B/S)的管理平台,通过DNS服务和应用管理等方式,提供对iXcom的管理和监控。

4.  iXcom的特点

iXcom有以下特点:

Ø    支持多种操作系统,如IBM AIX、HP-UX 、Linux、Windows 2000/NT/XP/2003 等。

Ø    支持多种开发工具。iXcom在所有平台上都支持C、C++、Fortran和JAVA;在Windows 系列平台上,提供VB/Delphi/C# 等接口。

Ø    网络节点数的支持量大:网络节点数的支持可从数十个到上千个,具体上限的多少与主机的性能有关。

Ø    基于TCP/IP Socket 。

Ø    支持客户/服务器(Client/Server)方式。

5.  基本概念

5.1. 应用

与具体业务有关的程序,包括客户端处理输入输出的客户程序(Client)、服务端负责业务逻辑的服务程序(Server)。

5.2. 节点

节点就是通信程序的宿主主机。一个iXcom可以和多个节点通信。一个节点主要有五个属性:IP地址、Port号、通信规约、主机名称和主机代号。

Ø    IP地址

节点的IP地址,可以有备用IP地址。

Ø    Port号

节点通信程序的监听端口号

Ø    通信规约(Protocol)

iXcom和外部主机互相通信的规约

Ø    主机名称(HostName)

标识节点名称,不大于8个ascii字符

Ø    主机代号(HostDC)

标识节点代号,用做发送电文时的目的地,用2个ascii字符表示。

注:在本文章,没有特殊指名的话,节点和主机是同一概念。

5.3. 电文

在通信中间件之间传送的数据包,一般由电文头、电文体(数据块)和结束符组成。

其中电文头长度an>1-2个字符,对于特定的通信规约而言,结束符是确定不变的。

Ø    数据电文(Data Message)

用于传送应用系统的数据块,iXcom不对该类型电文进行拆分,但该电文有可能被底层的TCP协议进行拆分和重组。

Ø    应答电文(ACK Message)

由通信的接收方发送,用于告知发送方电文是否已被正确接收。

Ø    心跳电文(Heartbeat message)

用于监视回线和对方通信程序的状态,用作状态检测,双方可根据实际需要决定是否发送心跳电文。

注:

1.     应答电文是用于保证通信的可靠传输。

2.    控制电文、心跳电文是通信相关的电文,应用不用关心此类电文。

5.4. 电文号

用于标识一条电文的类型和目的,一般在电文头部中有电文号字

段。电文号是通信双方按业务划分共通制定的,它一般用长度不大于6位的ASCII字符表示。

5.4.1.   映射电文号

用于历史问题等原因,可能在同一项目中出现电文号重复的现

象。为了便于应用方便处理电文,iXcom提供映射电文号的功能,应用可以根据需对每个电文号定义它的映射电文号,该映射电文号必须是全局唯一的,也就是说在同一项目中虽然电文号可以重复,但映射电文号必须是唯一的。

注:若项目中有重复电文号,iXcom和应用之间的接口有如下约定:

1)  应用发送电文时,提供的电文号必须是映射电文号。当iXcom发送电文时,iXcom会把映射电文号转化成实际的电文号进行发送。

2)  iXcom收到电文后,将把收到电文的映射电文号发送给应用,而不是原有电文号。

5.5. 回线

在通信程序双方之间建立的一条TCP 连接,一条回线既可以接收也可以发送数据。一般来说,通信双方通信程序之间需要建立两条回线。

一般情况下,在iXcom中采用的回线模式如下:

5.6. 通信模式

通常来说,XCOM间通信,双方都有一个客户端和服务端。甲方要发数据给乙方,甲方XCOM的客户端把数据发给乙方的服务端。反之,乙方发数据给甲方,是乙方的客户端把数据发给甲方的服务端。

Socket类型

对应值

说明

WRITE

C

客户端session读写:本方作为客户端,主动连接对方,连接建立后,该Socket连接可以发送电文。

READ

S

服务器端session读写:本方作为服务器端,等待对方主动连接,连接建立后,该Socket连接上可以接收电文并且发送底层应答(按规约情况而定)。

READ_WRITE

CS

客户端和服务端两个session都读写,融合以上两个session的功能。

5.7. 主机名

用于在通信时标识通信节点的主机名字。

5.8. 主机代号

用于在电文收发时标识发送方和接收方,一般在电文头部中有主机代号的字段,用2个大写ascii码字母表示。

5.9. 电文实时传输

电文实时传输指电文必须在规定的时间内必须传递到目标节点。iXcom在规定时间内提供快速可靠的传输机制,保证消息传递的实时性和可靠性,但在异常(网络设备异常或对等机进程异常)时不保证消息的可靠传输。在异常情况下,应用发送给iXcom的电文数据将被丢弃,iXcom将给应用错误返回值,应用必须考虑电文重发或其它处理机制。

5.10.   电文可靠传输

电文可靠传输指电文的传递在时间上无特殊的要求,在网络连通的情况下必须保证消息可靠的传递到目标节点。电文发送时,在遇到可恢复的故障(包括机器故障或网络故障)情况下,通过后续重发电文能够保证消息的可靠传输。

5.11.   静态连接

指通信双方建立的TCP/IP连接一直保持,直到停止通信程序或异常终止。当通信出现异常时,客户端必须具备重新连接服务端功能,保证通信的可靠性。静态连接示意图如下:

注:若通信规约不存在应答电文,等待应答阶段将不存在。

5.12.   动态连接

动态socket通信是指计算机之间的TCP/IP连接方式是动态的,当一次通信结束后,计算机之间的连接随之关闭,下一次传送电文时,需要重新建立socket连接。如下图所示:

(注:发送方在收到应答电文后必须关闭socket连接。)

5.13.       队列

在可靠传输模式下,队列是消息存储的地方。消息在收发过程中将存储于队列中,可靠队列中的消息存储于数据库中,不可靠队列中的消息存储于内存缓冲区中。队列结构由消息索引和数据存储区等部分组成。iXcom 系统提供的队列基本类型为发送队列和接收队列。

5.13.1.       发送队列

发往目的地的电文存储在发送队列中,电文根据发送目的地(即主机代号)分别被放到不同的逻辑发送队列中,iXcom核心从发送队列中取出电文进行网络发送。

5.13.2.       接收队列

iXcom收到电文后,将根据发送方的设置(即主机代号)将电文放到相应的逻辑接收队列中。

5.14.   分组发送

应用可以根据业务的需求把发往某一主机的电文号按业务进行分组。每个组看作一个队列,每一组电文有对应的组号(整数)。对应于每一个队列,iXcom有一个且同一时刻只有一个进程对该队列进行操作发送,队列与队列之间的电文是互不影响的,一个队列中的电文堵塞,不会影响其他队列的电文。

注:分组发送仅限于动态连接方式,不能用于静态连接方式。

5.15.   分组接收

应用可以根据业务的需要把来自同一主机的电文按业务进行分组。每个组看作一个队列,每一组电文有对应的组号(整数)。对应于每一个队列,iXcom有一个且同一时刻只有一个进程对该队列进行操作发送(发送给应用,比如Tuxedo),队列与队列之间的电文是互不影响的,一个队列中的电文堵塞,不会影响其他队列的电文。

6.  体系结构

本节描述iXcom的基本组成和运行方式。

在应用系统进行数据通讯时,应用进程通过iXcom接口函数,将电文放入队列中。iXcom 核心进程从队列中取出消息,根椐电文中的电文号,通过iXcom 之间(或与其它通信程序)建立的数据通道,将该电文传送到接收者所在iXcom(或其它通信程序)。接收者所在的iXcom 核心收到电文后将电文写入接收队列中,接收应用进程通过调用iXcom的接口函数,从接收队列中取出电文。至此,一个电文传递完毕。

6.1. 系统核心

系统核心由两大部分组成,即基础平台构件层和数据处理构件层。

6.1.1.   基础平台构件层

基础平台构件层由以下几部分组成,包括事件分派、socket传输、进程管理、数据库连接池和线程池。

事件分派

事件分派主要工作是建立socket连接、维护监控通信链路;从通信链路中读取数据并分派给协议插件。

Socket传输

应用电文发送和处理。

进程管理

进程管理主要工作是管理和维护iXcom的各进程。

数据库连接池

数据库连接池主要工作是在电文可靠传输模式下,提高数据库访问速度的效率。

线程池

线程池主要工作在于提高在并发处理电文时的处理效率。

6.1.2.   数据处理构件层

数据处理构件层由以下几部分组成,包括电文交换、

电文时序控制、数据转换、协议插件和异常处理。

电文存储

电文存储包括电文的写入和读取。当收到一条电文时,iXcom要把它写入数据库,以便后续的应用处理;当有待发数据时,iXcom要从数据库中读取相应的数据,然后通过基础平台层发送给目的地。

电文时序控制

若应用电文存在业务关系,iXcom发送电文是严格按照应用写入电文的先后顺序进行电文发送。

数据转换

当电文中存在二进制数据时,iXcom可以通过该电文号所对应的转换格式把该电文内容全部转换成ascii码电文,方便应用的处理。

协议插件

异常处理

当iXcom收到异常数据时(如电文号不对等),会给对方发送底层负应答电文。

6.2. 通信管理

通信管理主要由几部分组成,包括运行管理、平台监控、配置管理和日志管理。

运行管理

通过运行管理功能,可以启动和关闭回线,可以置回线开启和关闭状态。

平台监控

通过平台监控,可以实时获取当前通信状态(在线或离线)。

配置管理

通过配置管理:

Ø    可以查看当前主机配置信息,可以查看当前电文号配置信息。

Ø    可以修改原有主机信息(比如IP地址或port号),可以增加电文号,可以新增回线。

日志管理

通过日志管理,可以查看各条回线的通信状态信息,从而进行通信跟踪维护和排障。

6.3. 应用适配器层

应用适配器是应用和iXcom进行沟通的桥梁,应用通过适配器

把待发数据发送给iXcom进行处理;iXcom通过适配器把待处理数据发送给应用进行处理。

随便看

 

百科全书收录594082条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2024/12/22 19:13:51