Download presentation
Presentation is loading. Please wait.
Published byAnneleen Verstraeten Modified 6年之前
1
中间件 定义:中间件是介于应用与操作系统之间的系统软件,是相关应用的基准平台 三大基础软件:操作系统、数据库、中间件
消息中间件MOM(BEA MessageQ、IBM MQSeries、TongLink/Q、Microsoft MSMQ)、交易中间件TPM (Tuxedo、TXSeries、TongEasy)、对象中间件(Corba、COM、MTS)
2
TPM中间件 Transaction Process Monitor 支持联机交易服务(OLTP) 提供用户实时的交易请求与响应
支持分布式交易服务 支持多个数据源、异种数据源、和分布式协同应用,支持两阶段提交
3
CICS三层结构
4
南京医保前台三层结构
5
分布式系统CICS (TXSeries)的历史
1969年IBM CICS (Customer Information Control System)第一版发布 1993年IBM推出UNIX平台的CICS产品,最终命名为TXSeries 1999年IBM发布WebSphere EE,即TXSeries 4.3 2002年IBM发布TXSeries 5.0 2004年IBM发布TXSeries 5.1 2005年IBM发布TXSeries 6.0 2006年11月IBM发布TXSeries 6.1 2007年底IBM发布TXSeries 6.2
6
TXSeries 6.2安装 Windows 2003、Windows XP 安装:TXSeriesV62-windows.exe
去掉DCE, Encina等组件 无须再启动DCE,但SFS仍保留 增加Web控制台 XA容错性增强
7
TXSeries 6.2配置-环境变量 set NLSPATH=C:\opt\cics\MSG\en_US\@N
set set LANG=zh_CN set CICSPATH=c:\opt\cics set CICS_SFS_SERVER=/.:/cics/sfs/VMWINXP set CICS_SFS_SIZE=128 set ORACLE_HOME=C:\oracle\ora92 set ORACLE_SID=ORA92 set CICS_PROGRAM_PATH=C:\var\cics_regions\CICS01\bin
8
TXSeries 6.2配置-Region SFS(Windows下会自动创建) 创建 region
cicscp -v create region CICS01 DefaultFileServer=%CICS_SFS_SERVER%
9
TXSeries 6.2配置-监听 icsadd -c ld -r CICS01 L1435 Protocol=TCP TCPAddress="" TCPService="cics_1435" 在 %system32%\drivers\etc\services 中增加 cics_ /tcp
10
TXSeries 6.2配置-用户管理 cicsadd -c ud -r CICS01 TEST CICSPassword=TEST
11
TXSeries 6.2配置-XA nmake –f oracle1pc.mk Oracle
cicsadd -c xad -r CICS01 OraXA SwitchLoadFile="oracle1pc"
12
分布式事务 XA:XA接口标准是事务处理系统与数据库服务器的事务管理接口 一阶段、二阶段
13
TXSeries 6.2启动与停止 cicscp -v start sfs_server %CICS_SFS_SERVER% StartType=cold cicscp -v start region CICS01 StartType=cold cicscp -v stop region CICS01 cicscp -v stop sfs_server %CICS_SFS_SERVER%
14
CICS服务程序开发 #include <time.h> #include "easycics.h" void main(){
struct tm *newtime; time_t aclock; if( InitEasyCics() ) ExitEasyCics(); BeginWrite(); time( &aclock ); /* Get time in seconds */ newtime= localtime( &aclock ); /* Convert time to struct tm form */ SetValue( "TIME", asctime(newtime) ); PrintStatus("GETTIME"); ExitEasyCics(); }
15
CICS服务程序开发 set EC_SRV=C:\gettime\srv nmake -f easycics.win.mk
nmake -f gettime.win.mk cicsadd -B -c pd -r CICS01 gettime PathName="gettime.dll" RSLKey=public
16
CICS服务程序开发-EasyCICS 参考easycics.h文件 InitEasyCics(); GetValue();
BeginWrite(); RsCreate(); RsAddRow(); RsSetCol(); RsSaveRow(); ExitEasyCics();
17
CICS客户程序开发 #include "ec.h" void main(){ char s[200]; int r;
r= ConnectServer( "NJ_186", "TEST", "TEST" ); printf( "ConnectServer: return code= %d\n", r ); r= CallProgramAndCommit("GETTIME"); printf( "CallProgramAndCommit: return code= %d\n", r ); GetValue( "TIME", s ); printf( "Server Time= %s\n", s ); }
18
CICS客户程序开发 set EC_CLI=X:\CICS\Client\Get2K
set path=%path%;X:\CICS\Client\Get2K nmake -f gettime.nmk
19
CICS客户程序开发 多线程客户端DllEcx.dll dllCreateHandleX dllConnectServerX
dllBeginWriteX dllSetValueX dllCallProgramAndCommitX RsOpen dllRsGetRowNumX、dllRsGetColNumX、dllRsFetchRowX、dllGetValueX、dllRsGetColX RsClose dllDisConnectX dllDestroyHandleX
20
CTG、CUC CTG:CICS Transaction Gateway CUC:CICS Universal Client
CTG包含了CUC和Java Gateway
Similar presentations