第1章 TUXEDO系统概述 1
1.1 什么是TUXEDO系统 1
1.1.1 事务监视器 1
1.1.2 交易中间件 2
1.1.3 应用服务器 2
1.2 TUXEDO系统的产生 3
1.3 TUXEDO系统的发展 4
1.3.1 TUXEDO 1.0 4
1.3.2 TUXEDO 3.0 4
1.3.3 TUXEDO 4.0 5
1.3.4 TUXEDO 4.2 5
1.3.5 TUXEDO 5.0 6
1.3.6 TUXEDO 6.1 6
1.3.7 TUXEDO 6.5 6
1.3.8 TUXEDO 7.1 7
1.3.9 TUXEDO 8.0 8
1.3.10 TUXEDO 8.1 8
1.3.11 TUXEDO 9.0 9
1.3.12 TUXEDO 9.1 9
1.4 TUXEDO系统的关键特性 9
1.4.1 名字服务和位置透明性 9
1.4.2 强大的C/S通信功能 10
1.4.3 强大的联机交易性能 11
1.4.4 强大的分布式事务协调能力 11
1.4.5 完善的负载均衡机制 12
1.4.6 数据依赖路由 13
1.4.7 请求优先权 13
1.4.8 容错和透明故障迁移 13
1.4.9 安全性和可管理性 14
1.4.10 开放性和易用性 15
1.4.11 先进的组织构架 15
1.5 TUXEDO的成功案例 16
1.5.1 FedEx——从容处理海量交易 16
1.5.2 E*TRADE——面向未来的构架 17
1.5.3 VISA ——All it takes 17
1.5.4 TUXEDO ——助飞西北航空 17
1.5.5 香港国际货柜码头 18
1.6 小结 18
第2章 TUXEDO系统的体系结构 21
2.1 客户机/服务器体系结构 21
2.1.1 两层客户机/服务器模型 22
2.1.2 三层客户机/服务器模型 23
2.1.3 TUXEDO的客户机/服务器模型 24
2.2 TUXEDO ATMI体系结构 27
2.2.1 TUXEDO ATMI的OLTP模型 27
2.2.2 TUXEDO ATMI的命名服务 28
2.2.3 TUXEDO ATMI的消息通信方式 28
2.2.4 TUXEDO ATMI的消息缓冲区 31
2.2.5 TUXEDO ATMI消息处理流程 32
2.3 TUXEDO CORBA体系结构 33
2.3.1 TUXEDO CORBA的OLTP模型 34
2.3.2 TUXEDO CORBA的ORB 34
2.3.3 TUXEDO CORBA的命名服务 35
2.3.4 TUXEDO CORBA的通知服务 36
2.4 小结 36
第3章 TUXEDO系统的安装 39
3.1 TUXEDO系统的组成部件 39
3.2 TUXEDO系统的安装 40
3.2.1 TUXEDO对系统的要求 40
3.2.2 TUXEDO在NT平台上的安装 41
3.2.3 TUXEDO在UNIX上的安装 43
3.2.4 TUXEDO的无人值守安装 46
3.2.5 TUXEDO的卸载 47
3.3 TUXEDO系统的升级 47
3.3.1 执行文件备份 47
3.3.2 执行冷升级 47
3.3.3 执行热升级 48
3.4 调整内核参数 49
3.4.1 IPC资源 49
3.4.2 调内核参数 51
3.5 小结 53
第4章 TUXEDO系统的应用基础 55
4.1 ATMI应用程序的构成 55
4.1.1 ATMI客户机的处理流程 56
4.1.2 ATMI服务器的处理流程 56
4.2 常用的ATMI函数介绍 57
4.2.1 客户端常用函数介绍 58
4.2.2 服务端常用函数介绍 60
4.3 简单的ATMI应用程序 61
4.3.1 设置环境变量 62
4.3.2 编写服务器 63
4.3.3 编译服务器 64
4.3.4 编写客户机 65
4.3.5 编译客户机 67
4.3.6 编写配置文件 68
4.3.7 加载配置文件 68
4.3.8 启动应用程序 69
4.3.9 测试 70
4.3.10 执行简单管理任务 70
4.3.11 关闭应用程序 71
4.4 TUXEDO/WS的配置 72
4.4.1 WSL的工作原理 73
4.4.2 WSL的配置 73
4.5 配置MSSQ 74
4.5.1 MSSQ的原理及配置 75
4.5.2 配置可重启特性 76
4.6 小结 78
第5章 TUXEDO系统的通信缓冲区 79
5.1 类型缓冲区的分配和回收 80
5.1.1 缓冲区的分配 80
5.1.2 缓冲区的回收 82
5.2 CARRAY缓冲区 82
5.3 STRING缓冲区 84
5.4 VIEW缓冲区 86
5.4.1 创建VIEW描述文件 87
5.4.2 编译VIEW描述文件 88
5.4.3 编写VIEW客户机 88
5.4.4 编写VIEW服务器 89
5.4.5 设置环境变量 90
5.4.6 关于VIEW缓冲区的补充说明 91
5.5 FML缓冲区 91
5.5.1 常用的FML函数 91
5.5.2 创建FML描述文件 93
5.5.3 编译FML描述文件 94
5.5.4 编写FML客户机 94
5.5.5 编写FML服务器 95
5.5.6 设置环境变量 96
5.5.7 FML与VIEW的混合使用 96
5.5.8 在FML中使用嵌套缓冲区 98
5.6 XML缓冲区 100
5.6.1 XML缓冲区的分配和传输 100
5.6.2 基于XML标记的DDR 101
5.6.3 XML缓冲区的分析 102
5.7 MBSTRING缓冲区 105
5.7.1 常用的MBSTRING函数 106
5.7.2 MBSTRING缓冲区的使用实例 107
5.8 小结 109
第6章 TUXEDO系统的通信方式 111
6.1 “请求/应答”式通信 111
6.1.1 同步调用 111
6.1.2 异步调用 111
6.1.3 嵌套调用 114
6.1.4 转发调用 114
6.2 会话通信 115
6.2.1 建立会话 116
6.2.2 交换数据 116
6.2.3 关闭会话 116
6.3 消息通告 119
6.3.1 设置消息处理器 120
6.3.2 检测通知消息 120
6.3.3 发送通知消息 120
6.4 事件代理 122
6.4.1 事件订阅 123
6.4.2 事件发布 123
6.4.3 事件处理 124
6.4.4 事件代理服务器的配置 125
6.5 队列通信 127
6.5.1 可靠的消息存储机制 128
6.5.2 消息转发机制 129
6.5.3 队列服务器的配置 130
6.6 TxRPC 131
6.6.1 基于事务的RPC 132
6.6.2 与DCE系统的集成 135
6.7 小结 138
第7章 TUXEDO系统的配置文件 141
7.1 TUXEDO的配置文件 141
7.2 *RESOURCES段的配置 142
7.3 *MACHINES段的配置 148
7.4 *GROUPS段的配置 151
7.5 *NETGROUPS段的配置 152
7.6 *NETWORK段的配置 153
7.7 *SERVERS段的配置 154
7.8 *SERVICES段的配置 157
7.9 *ROUTING段的配置 159
7.10 小结 161
第8章 TUXEDO的事务系统 163
8.1 事务的基本概念 163
8.1.1 事务及其分类 163
8.1.2 事务的特性 164
8.1.3 事务的界定 165
8.2 分布式事务处理 166
8.2.1 分布式事务处理 166
8.2.2 DTP参考模型 167
8.2.3 TX接口规范 167
8.2.4 XA接口规范 168
8.2.5 两阶段提交协议 169
8.3 TUXEDO的事务系统 171
8.3.1 TUXEDO的事务模型 171
8.3.2 TUXEDO的事务函数 172
8.3.3 TUXEDO的事务配置 177
8.3.4 TUXEDO的事务状态 179
8.3.5 TUXEDO的事务管理 180
8.4 TUXEDO的DTP实例 183
8.4.1 DTP场景描述 184
8.4.2 数据库表结构 186
8.4.3 服务器的实现 186
8.4.4 应用程序配置 190
8.4.5 客户机实现 190
8.4.6 运行测试 192
8.5 TUXEDO与常见RM的互联 194
8.5.1 Oracle 194
8.5.2 INFORMIX 197
8.5.3 DB2 199
8.5.4 SYBASE 201
8.5.5 SQL Server 2000 204
8.5.6 TUXEDO/SQL 207
8.5.7 MQSeries 209
8.6 小结 214
第9章 TUXEDO的消息队列系统① 215
9.1 MOM在企业计算中的应用 215
9.2 TUXEDO/Q的特性 216
9.2.1 灵活的消息存储机制 216
9.2.2 高效的消息转发机制 216
9.2.3 多样化的出队机制 217
9.2.4 支持分布式事务 217
9.2.5 提供消息控制块 217
9.3 TUXEDO/Q的组成部件 217
9.3.1 队列空间和队列 217
9.3.2 队列管理器 218
9.3.3 消息转发器 218
9.3.4 事务管理器 219
9.4 TUXEDO/Q的管理 219
9.4.1 创建队列空间和队列 219
9.4.2 配置队列服务器 223
9.5 TUXEDO/Q的编程 224
9.5.1 编程接口 224
9.5.2 点对点通信模式 227
9.5.3 存储转发模式 230
9.6 TUXEDO/Q实现可靠数据传输 233
9.6.1 f_send的程序逻辑 234
9.6.2 b_recv的程序逻辑 237
9.6.3 f_recv的程序逻辑 238
9.6.4 配置和运行 240
9.7 小结 240
第10章 TUXEDO的安全体系 243
10.1 TUXEDO的安全插件模型 243
10.2 操作系统安全 244
10.3 TUXEDO的基本安全机制 244
10.3.1 用户验证 246
10.3.2 访问授权 251
10.3.3 操作审计 252
10.4 TUXEDO的链路级加密 253
10.4.1 LLE的工作原理 253
10.4.2 为工作站客户端配置LLE 254
10.4.3 为BRIDGE配置LLE 254
10.4.4 为tlisten配置LLE 254
10.4.5 为域网关配置LLE 255
10.5 TUXEDO的Kerberos验证 255
10.5.1 Kerberos用户验证 255
10.5.2 Kerberos插件的配置 255
10.6 TUXEDO的公钥安全机制 258
10.6.1 Cert-C PKI插件 258
10.6.2 数字签名及验证过程 258
10.6.3 数据加密及解密过程 258
10.6.4 Cert-C PKI插件的使用 259
10.7 TUXEDO与Windows实现安全集成 269
10.8 TUXEDO与WebLogic的安全集成 273
10.8.1 配置LAUTHSVR服务器 274
10.8.2 用户信息管理 275
10.9 小结 277
第11章 TUXEDO应用程序的组织模式 279
11.1 TUXEDO的单机模式 279
11.1.1 SHM应用的配置 280
11.1.2 SHM应用的特点 280
11.2 TUXEDO的多机模式 281
11.2.1 MP应用的构成 281
11.2.2 MP应用的启动流程 283
11.2.3 MP应用的配置 284
11.2.4 MP应用的管理 287
11.2.5 MP应用的特点 292
11.2.6 常见问题分析 294
11.3 TUXEDO的多域模式 294
11.3.1 多域应用的构成 296
11.3.2 多域应用的基本配置 297
11.3.3 简单的多域配置实例 299
11.3.4 多域应用的管理 303
11.3.5 多域应用的高级配置 304
11.3.6 见问题分析 312
11.4 多机模式和多域模式的比较 312
11.4.1 管理模式 312
11.4.2 适应性 313
11.4.3 成本 313
11.5 小结 313
第12章 TUXEDO系统在银行中的应用 315
12.1 使用TUXEDO构建核心业务系统 315
12.1.1 BANKAPP的体系结构 315
12.1.2 BANKAPP的运行模式 316
12.1.3 BANKAPP的数据模型 316
12.1.4 BANKAPP的数据库对象 317
12.1.5 BANKAPP的安全实现 319
12.1.6 BANKAPP用到的缓冲区 320
12.1.7 BANKAPP实现的服务 321
12.2.8 BANKAPP的客户机 328
12.1.9 BANKAPP的配置 329
12.1.10 BANKAPP的建立步骤 333
12.2 使用TUXEDO构建信用卡系统 335
12.2.1 CREDITAPP的体系结构 336
12.2.2 CREDITAPP的数据模型 336
12.2.3 CREDITAPP实现的服务 338
12.2.4 CREDITAPP的客户机 339
12.2.5 CREDITAPP的配置 340
12.2.6 CREDITAPP的建立步骤 341
12.3 信用卡系统与核心业务系统的互联 343
12.3.1 A银行IT系统现状 343
12.3.2 多机互联方案 343
12.3.3 多域互联方案 347
12.3.4 结论 350
12.4 小结 350
第13章 TUXEDO系统的多线程应用 351
13.1 多线程和多语义环境 351
13.2 客户机多线程 354
13.2.1 单语义环境多线程 354
13.2.2 多语义环境多线程 356
13.3 服务器多线程 358
13.3.1 编程实现多线程 359
13.3.2 配置实现多线程 360
13.4 小结 361
第14章 TUXEDO与WebLogic的集成 363
14.1 JOLT 364
14.1.1 JOLT的配置及使用 364
14.1.2 使用JOLT集成WebLogic 371
14.2 WTC 375
14.2.1 WTC的配置 375
14.2.2 WTC的事务处理 380
14.2.3 WTC的编程 382
14.2.4 tBridge 393
14.3 TUXEDO控件 397
14.3.1 TUXEDO控件的使用 397
14.3.2 TUXEDO控件的属性 399
14.3.3 数据类型映射 400
14.4 小结 402
第15章 TUXEDO系统的客户机编程 405
15.1 Visual Studio 6.0 405
15.1.1 Visual C++ 6.0 405
15.1.2 Visual Basic 6.0 407
15.2 Visual Studio.NET 414
15.2.1 TUXEDO.NET注册 414
15.2.2 TUXEDO.NET编程 415
15.3 PowerBuilder 420
15.3.1 常用函数声明 420
15.3.2 编程实例 422
15.4 Delphi 422
15.4.1 Tuxedo32单元介绍 423
15.4.2 编程实例 424
15.5 小结 425
第16章 TUXEDO系统的性能优化 427
16.1 TUXEDO的性能优化原则 427
16.1.1 MSSQ原则 427
16.1.2 负载均衡原则 427
16.1.3 优先级原则 428
16.1.4 服务绑定原则 429
16.1.5 服务缓冲原则 429
16.1.6 关闭附加特性原则 430
16.1.7 参数配置原则 430
16.1.8 WSL配置原则 431
16.1.9 通信方式原则 432
16.1.10 编程原则 432
16.1.11 IPC配置原则 432
16.2 TUXEDO的性能测试 432
16.2.1 测试规划 434
16.2.2 脚本录制 434
16.2.3 场景创建 439
16.2.4 场景执行 442
16.2.5 结果分析 443
16.3 小结 445