在我从事的工作中,我最喜欢的一个软件就是中间件。技术不断发展,中间件的概念也不断进行。我所说的中间件,还是传统意义上的。业界使用比较多的中间件,我所涉及的有三个,有BEA的Tuxedo(目前在Oracle旗下),Borland的Visibroker,还有国内东方通的TongEASY。
我使用时间最长的是Tuxedo. 一年前一个机会,甲方准备测试一下这三个中间件谁优谁劣,我作为业务开发负责人,让我可以接触其他两个。
现在想起来,这个机会实在难得。现在把当时培训TongEASY的学习笔记晒一下,省得发霉。
今天在公司听取了东方通中间件产品介绍。对这种中间件产品进行详细的了解。通过听讲座,学到了很多有关的东方通的知识。
一.
与东方通
TongEASY
有关的基本概念
东方通中间件的组成:由三层组成。通信管理模块、事务管理模块、应用开发
API
。
u
节点:是中间件的提供服务的基本单位,独立配置,独立启动,提供服务。可以进行集群配置。配置时分为上下级节点,下级节点调用上级节点所提供的服务。
u
客户端:分为节点客户端(胖客户端)和瘦客户端。
u
连接:分为常连接和动态链接,上下级节点之间的连接为常连接;瘦客户端采用动态连接,调用时需设置代理节点。
u
事务:分为全局事务,分支事务。东方通支持
XA
式两阶段提交,由中间件管理事务的中间状态;也支持有应用自己管理事务的非
XA
方式。
二.
TongEASY
的安装和配置
接下来我们学习的是
TongEASY
的安装和配置,安装过程非常的简单,只需要将
TongEASY
的压缩包解压就可以,在配置四个环境变量。
系统要求:对于
AIX
,只需要检查系统参数
maxuproc > 1000
就可以了,其他平台还需要调整共享内存、消息队列、信号量、打开文件数、并发进程数等参数。
环境变量:需要配置
4
个系统参数
TONGEASYHOMEDIR
(指向
TongEASY
安装目录)
TONGEASYDIR
(指向
TongEASY
配置文件存放目录
etc
)
TEFILESDIR
(指向
TongEASY
发送、接收文件的目录
file
)
TELOGDIR
(指向
TongEASY
日志文件的存放目录
log
)
编译环境:系统需要有
CC
编译器,
C
标准库,多线程支持库,
PROC
编译。
配置文件:
通信管理模块配置文件
srcpara.txt
中间件参数配置文件
TongLINK.conf
节点配置文件
route.txt
路由配置文件
事务管理模块
dbdesc.txt
数据库配置文件
svcdesc.txt
服务配置文件
常用命令:
tminit
中间件启动
tmend
中间件结束
tlmenu
节点配置工具
loadnode
重新加载配置文件
三.
应用
Demo
介绍
今天还介绍了一个同步调用的
Demo
,来了解
TongEASY
的开发过程。
配置服务有以下步骤:
配置数据库连接配置文件
dbdesc.txt
配置服务配置文件
svcdesc.txt
编译客户端
,
编译方法跟普通的
PROC
程序没有分别。
编译服务端,需要使用
Tebuild
命令进行编译服务
四.
TongEASY
提供的
API
TongEASY
面向不同的数据库
(Oracle,Informix,Sybase)
提供不同的编译库,但是具有相同的编程接口。对于语言支持上,不但提供了
C
库,还提供了供
Java
调用的类库。
C
程序会应用到的
API
:
TE_tpinit()
应用注册
TE_tpterm()
应用注销
TE_tpcall()
同步方式调用服务
TE_tpacall()
异步方式调用服务
TE_tpgetrply()
接收异步请求应答
TE_tpreturn()
服务端返回
TE_tpforword()
转发请求
五.
与
TUXEDO
相比
TongEASY
的优劣
在中间件的产品中,
TongEASY
算是后期之秀,很多面有着比
TUXEDO
更方便的应用,更灵活的设计。尤其是它拥有的节点的概念,是中间件集群配置更加的方便,他的名字服务给了服务逻辑别名,使得配置更加灵活。同时名字服务集成的负载均衡功能,更有利于它的这种分布式设计结构。
和
TUXEDO
相比,他也存在着一些不足。①
TongEASY
不支持服务级重启,只支持节点级重启,这样对于
7*24
系统可能会有一些影响②
TongEASY
不支持按照服务分别记录日志。一个节点上的日志,会记录到一个日志文件中。这样大型的系统会造成日志文件相当的大,并且不利于通过日志文件查找问题。