TongEASY (for UNIX)
快速开发指南
V5.2版适用于TongEASY Server & TongEASY Client
北京东方通科技公司
前言
中间件是一个通道, 保障应用信息的可靠传递
中间件是一个框架, 促成企业应用的完整集成
中间件以自身的复杂换取了企业应用的简捷疏通各种复杂的基础技术细节部署与管理变得轻松和谐
使中间件软件成为分布式应用的关键性基础设施
种类越来越多应用范围越来越广阔
中间件在操作系统
应用软件的下层高效地开发和集成复杂的应用软件商务应用包括三个逻辑层次业务逻辑和基础逻辑基础逻辑贯穿了通讯换言之
东方通科技是中国目前一家重要的专业中间件产品供应商
我们的产品包括消息中间件TongLINK/Q基于PKI的安全中间件TongSEC
本手册将通过一个具体的实例讲述使用交易中间件TongEASY开发应用程序的过程
目录
第一章 应用程序开发实例...........................................3第二章 系统安装.................................................4
2.1操作系统核心参数调整...................................................42.2安装步骤...............................................................52.3 产品文件列表...........................................................72.4系统运行...............................................................82.4.1 系统启动..........................................................82.4.2 系统停止..........................................................9
第三章 系统参数配置.............................................103.1配置运行环境..........................................................103.2 通信管理模块节点参数配置..............................................123.2.1 通信管理模块配置文件.............................................123.2.2 通信管理模块配置界面.............................................153.2.3 通信路由文件的配置...............................................163.2.4 通信流量控制.....................................................183.2.5 修改网络配置文件.................................................203.3 事务管理模块参数配置..................................................213.3.1 TongEASY系统描述表...............................................213.3.2 名字服务配置.....................................................233.4服务程序的配置........................................................253.4.1数据库描述文件....................................................253.4.2服务描述文件......................................................29
第四章 编写应用程序.............................................31
4.1 客户端应用程序流程....................................................314.1.1 TongEASY Server做客户端的应用程序流程............................314.1.2 TongEASY Client应用程序流程......................................334.2 服务端应用程序流程....................................................38
第五章 应用程序的编译...........................................40
5.1 使用TongEASY Server系统的应用程序编译方法...........................405.2 使用TongEASY Client的应用程序编译方法...............................41
第一章应用程序开发实例
下面是一个应用程序开发实例的网络结构图
主要包括以下几个方面的内容各种配置文件的配置方法
在此实例中作如下的约定
cliA
服务节点svrCsvrE
名字服务节点
oracle
第二章系统安装
安装过程以TongEASY Server系统为例
2.1操作系统核心参数调整
共享内存
TongEASY使用两个共享内存段用于存放系统运行信息
一段作为应用接口通讯区
在中也会显示各共享内存段的大小
l SHMMAX TongEASY 使用两个共享内存段
其大小为在系统配置界面中显示的“ 内部共享内存大小”??′óD??a“接口共享内存大小”
SHMMAX 应大于这两段的最大值
每个进程可链接的最多共享内存段数
l SHMALLó|′óóúSHMMAX*SHMSEG
ó?óúo?D?í?ó|ó?3ìDò??DDêy?Y′?μY
?μí32?êyó|ó??óáD′óD????????¢μ?3¤?è?a40字节l MSGTQL???μ′óóúTongEASY系统参数文件中
一个消息队列的最大字节数, 大于消息个数*一个消息的字节数
一个消息队列的最大字节数
信号灯
TongEASY使用一个信号灯集应当保证下面参数的正确配置(一般情况下操作系统的缺省参数即可满足该要求)
信号灯集的个数
每个信号灯集中信号灯的最大个数
l SEMMNS′óóú10
大于中的同时递送文件数+7
?μí32?êy?÷òaé??°á???2?êy
操作系统中的最大进程数
一个用户可以启动的最大进程数
2.2安装步骤
第一步tongeasy或使用其它用户名建立用户
l加入用户tongeasy”用户
用户名
/home/tongeasy
group
sh
#useradd -g group -d /home/tongeasy -m -s sh tongeasy
# passwd tongeasy
Setting password for user: tongeasy
Password change is forced for tongeasy.
Choose password
You can choose whether you pick a password,
Or have the system create one for you.
1. Pick a password
2. Pronounceable password will be generated for you
Enter choice (default is 1):1
Please enter new password:
New password:******
Re-enter password:*****
第二步
TongEASY交易中间件
第三步
l以root用户登录
该目录可由用户任意设定
#mount /dev/cd0 /c drom
注请查阅该操作系统的相关手册/dev/cd0
l查看光盘上的目录及文件
#ls–l /cdrom
注
第四步
l以用户注册
tongeasy
$>cp /cdrom/VERDIR/FILENAME $HOME
注FILENAME指TongEASY软件的打包文件名$>tar xvf FILENAME
注
第五步安装完毕
l umount光盘
安装结束
将license拷贝到/etc目录下
TongEASY提供了一个安装工具TE_install
使用方法
然后根据提示进行操作
$ TE_install
安装程序正在加载数据
第一次安装时使用
建立一个TongEASY实例
安装完后将license拷贝到/etc目录下
2.3 产品文件列表
文件目录描述
bin/*TongEASY 的可执行程序
TE/incl/teapi.h开发接口头文件
TE/obj/teapilib开发接口函数
TE/obj/teapithreadlib开发接口函数
TE/java/*TongEASY JAVA类及动态库
TE/sample Demo程序及运行环境(含配置模版)
2.4系统运行
在TongEASY的运行管理中
2.4.1 系统启动
系统的启动采用命令行方式tminit
$>tminit
DELETE IPC SOURCE
QUE APPQ delete = -1 2
SEM TM delete = -1 2
SHM SYS delete = -1 2
SHM TXPKT delete = -1 2
Init Common source
Create Queue OK
Create Sem OK
Create SHM OK
Table Init OK
Read apusrdesc OK
Read dbdesc OK
Read svcdesc OK
Read appreg OK
Read nsdesc OK.
Read txrevdef OK
Now recovery, ...
Recovery OK
Start tonglink process OK
Start process OK
tminit OK
2.4.2 系统停止
系统的停止采用命令行方式tmend [–97|-99] $tmend
Stop TongEASY are you sure (Y/N) ?y
Link to SHM OK
Now send stop signal to tmmng
Now send stop signal to kernel
....
Now send stop signal to tmcmt
..
Now stop process
Now stop thread
Write process message to syslog
Write Tx message to syslog
DELETE IPC SOURCE
QUE APPQ delete = 0 0
QUE TXMNGQ delete = 0 0
QUE TXCMTQ delete = 0 0
SEM TM delete = 0 0
SHM SYS delete = 0 0
SHM TXPKT delete = 0 0
tmend OK
Look for syslog, then clear it !!!
Now stop TongLink
命令可以有参数
非交互方式执行
终止时自动清理日志syslog
第三章系统参数配置
根据实例介绍如何进行TongEASY系统参数的配置以及其它相关的准备工作
运行环镜的准备工作包括以下几方面
建立用户
应用程序的运行用户与TongEASY核心的运行用户必须一致
建立用户进程的拥有者
BSHELL或KSHELLéè??è????·?3±?á?
指向TongEASY的安装目录
指明TongEASY配置模板文件及本节点配置文件所在的目录
run
l TELOGDIR
l TEFILESDIR
l设置不同数据库的环境变量
其他与数据库相关的环境变量
1
ORACLE_HOME=/home/oracle/product/8.1.7
export ORACLE_HOME
ORACLE_SID=tong
export ORACLE_SID
PATH=$PATH:$ORACLE_HOME/bin:/opt/java1.3/bin
export PATH
2
INFORMIXDIR=/usr/informix #可以根据不同的环境进行相应的改变
export INFORMIXSERVER INFORMIXDIR
3
以数据库
SYBASE=/home/Sybase
export SYBASE
PATH=.:$SYBASE/OCS-12_0/bin: $SYBASE/ASE-12_0/bin
SYBPLATFORM=nthread_hpux
SHLIB_PATH=$SYBASE/OCS-12_0/lib:/usr/lib:/usr/lib/Motif1.2
SYBASE_OCS=OCS-12_0
SYBASE_ASE=ASE-12_0
export PATH SYBPLATFORM SHLIB_PATH SYBASE_OCS SYBASE_ASE
说明
指定编译平台的环境变量不同操作系统的编译环境使用不同的变量
SYBPLATFORM=sun_svr4(/nthread_sun_svr4/hpux/nthread_hpux/rs6000/
dce_rs6000/nthread_rs6000/sgi|nthread_sgi/
sgi64|nthread_sgi64/axposf/nthread_axposf/ *对xaconfig文件的修改
lrm
Server?éò?′óSybase用户下的
例如
3.2 通信管理模块节点参数配置
通信管理模块节点参数配置分为两种方式
以下将分别进行详细介绍
以下是各节点的配置文件
NS1节点
################################################## # tonglink配置文件# ################################################## ################
# NodeConfig #
################
*SelfPort5202
*MyName NS1
*Alias
*MyPassWD cancel
*loglevel 2
*nAllNetNodes100
*CommBufNum1000
*ThinCntID0000
#
#
##################
# UpNodeConfig #
##################
############# UpName Port Alias
*UpNode svrB 5203
*UpNode svrC 5204
#
#
##################
# DnNodeConfig #
##################
############# DnName PassWD Statue
*DnNode cliA cancel 0
#
#
svrB节点
################################################## # tonglink配置文件# ################################################## ################
# NodeConfig #
################
*SelfPort5203
*MyName svrB
*Alias
*MyPassWD cancel
*loglevel 2
*nAllNetNodes100
*CommBufNum1000
*ThinCntID0000
#
#
##################
# UpNodeConfig #
##################
############# UpName Port Alias
*UpNode svrD 5205
#
#
##################
# DnNodeConfig #
##################
############# DnName PassWD Statue
*DnNode NS1 cancel 0
#
#
节点svrC节点svrE的配置文件与节点svrB的配置相似
配置项说明
*开头的为配置行
*SelfPorf为本地端口号
*Alias为本地节点别名
为加密后的字符cancel *loglevel为日志级别
*nAllNetNodes最大下级节点数
即有多少块buf
·?êY?í?§2?±?éè??
??????ê??a
*DnNode为下级节点配置
*DnName PassWD Statue
下级节点名?úμ?×′ì?
0不可用节点
3.2.2 通信管理模块配置界面
在命令行中tlmenu -W?é??è?í¨D?1üàí?£?éTongLINK的配置界面
2.Configuration Managementí¨??2?êy±£′??ú???????tTongLINK.conf中
通信管理模块配置界面
界面配置比较简单在此不再详细介绍
3.2.3 通信路由文件的配置
如果是不相邻的两个节点之间进行通信通过配置route.conf文件实现
目的节点名转发节点名
server2server3
server1server4
server2server5
配置项说明
指自本地节点发送数据到最终目的节点的节点名*
l转发节点名
也就是路由网关
cliA节点
#目的节点转发节点
svrD svrB
svrE svrC
svrB节点
#目的节点转发节点
*NS1
svrD节点
#目的节点转发节点
*svrC
使用提示
表示非相邻节点发送数据当一条通路不通时
示例
对于本节点需要通过通信管理模块向其发出消息的所有不相邻节点
l转发节点只能是相邻节点
3.2.4 通信流量控制
为了使节点间的通信流量达到一个比较理想的水平
通过配置流量控制文件对于某个节点来说
则需要在配置文件中进行描述系统将按照缺省配置控制其流量
通信流量控制文件的格式
通信流量控制文件的文件名为TLlinedef.conf
???t??ê??a
l nodename±?D?ê??àáù?úμ??éò?ê1ó?í¨??·?
初始发送字节限制
通常取值为 16384
最大发送速率如是-1表示该线路上不做流控
l BlkWaitTimeμ¥??ê?oá??
l SendBufMaxò?í¨??1üàí?£?éμ?êy?Y?é?aμ¥??
?μ???·?a256字节/块
l LineType01
l SendFPktNum?éò?ê1TongEASY的传输文件效率优化
心跳时间间隔
线路维持时间间隔
连接重建时间间隔
文件传输超时时间
文件重发尝试次数
l若线路状况为GOOD建议使用缺省配置即在TLlinedef.conf中不做配置
16384-1 50 6005305010206
l若线路状况为BAD
2048 1024 100 60 153********
LineType=0做如下配置可将文件传输效率调至最高
16384-1 50 60015305010206
l调至最高文件传输效率的配置文件同时传输时从而影响文件传输的效率
16384-1 50 60010305010206
说明
TongEASY传输文件效率优化
文件传输方式为面向连接的点对点传输可通过TLlinedef.conf配置发送方任一SOCKET连接在线文件包的最大值无论传输单个
文件还是多个文件同时传输多个文件时后续文件传输请求在链表中统一排队发送方在该SOCKET连接上的在线文件包也会达到该最大值若A点流控参数均取默认值AB间的SOCKET 连接上可能会同时存在10个文件包则该SOCKET 连接上的包数会更多