从 IBM CICS、MQ 到 BEA Tuxedo:国外金融中间件如何影响中国国产化起点#
引言:国产化为什么从中间件开始?#
今天谈金融 IT 国产化,大家经常想到:
- 国产数据库
- 国产服务器
- 国产操作系统
但是在 2000 年左右,中国证券行业面临的最大技术瓶颈,其实不是数据库。
而是:
谁控制交易系统运行平台?
因为证券核心交易系统不是简单的数据查询,而是:
客户下单
↓
交易处理
↓
资金冻结
↓
风险检查
↓
交易所通讯
↓
成交回报
↓
清算这个过程中:
数据库负责保存数据。
但是:
谁负责调度交易?
谁负责事务?
谁负责消息传输?
谁负责系统扩展?
答案就是:
交易中间件。
一、IBM时代:大型机交易处理的霸主#
1. IBM CICS:交易处理平台的代表#
20世纪70年代开始:
IBM 在大型机时代建立了金融交易处理体系。
核心产品:
IBM Mainframe|
CICS
|
DB2 / IMS
CICS:
(Customer Information Control System)
本质:
一个大型交易处理监控器。
它负责:
- 请求调度
- 事务管理
- 会话管理
- 高可靠运行
银行柜台、信用卡、证券清算大量依赖类似体系。
2. IBM MQ:消息世界标准#
除了交易处理:
金融系统还需要系统之间通信。
例如:
银行核心
|
支付系统
|
清算系统
|
监管系统IBM MQ 解决:
消息可靠传输。
特点:
- 异步通信
- 消息持久化
- 事务一致性
IBM MQ 成为金融行业事实标准之一。
二、开放系统时代:BEA Tuxedo 崛起#
90年代:
金融行业开始从:
大型机
↓
Unix服务器转向:
开放系统
Unix
Oracle
C/C++这时出现:
BEA Tuxedo#
Tuxedo 最初来源于 AT&T Bell Labs,后来经过 USL、Novell、BEA 发展成为商业交易处理中间件。:contentReference[oaicite:0]{index=0}
它解决的问题:
不是数据库。
而是:
如何让大量分布式服务器像一个大型交易系统一样运行。
三、BEA Tuxedo到底做了什么?#
架构:
Client
|
Tuxedo
|
Application Server
|
Database1. 事务管理#
例如股票交易:
扣资金
*
生成委托
*
写交易流水
*
通知交易所可能涉及:
多个资源。
Tuxedo通过分布式事务管理协调多个系统,并支持 XA 两阶段提交模型。:contentReference[oaicite:1]{index=1}
2. 服务路由#
客户端:
不知道:
哪个服务器处理。
调用:
BUY_STOCK()Tuxedo:
找到:
TradeServer01或者:
TradeServer023. 集群能力#
例如:
100万交易请求:
Tuxedo
/ | \
Server1 Server2 Server3
|
Database
实现:
- 横向扩展
- 负载均衡
- 故障恢复
4. 屏蔽底层环境#
Tuxedo设计目标:
让应用不依赖:
- 操作系统
- 网络
- 数据库
它提供分布式客户端/服务器应用运行框架。:contentReference[oaicite:2]{index=2}
四、Oracle做了什么?#
Oracle 在这个时代主要提供:
1. 企业数据库#
金融行业大量采用:
Unix
*
Oracle Database
*
Tuxedo形成经典架构:
交易中间件
*
关系数据库2. 数据库成为金融核心存储#
Oracle 强项:
- SQL
- 事务
- RAC
- 高可靠存储
但是:
Oracle不是交易调度平台。
它负责:
数据不是:
交易流程五、为什么国外技术推动国产中间件诞生?#
2000年前后中国证券行业遇到问题:
问题1:核心技术受制于人#
当时:
核心架构:
客户端
↓
国外中间件
↓
Oracle交易最核心的位置:
由国外软件控制。
问题2:成本巨大#
大型金融中间件:
许可证昂贵。
集中交易系统:
需要大量授权。
问题3:中国证券进入集中交易时代#
90年代:
营业部模式:
营业部
↓
数据库2000年后:
需要:
全国集中:
全国客户
↓
中央交易中心
↓
多个营业网点规模完全不同。
六、中国国产中间件的出现#
于是:
2000年前后:
中国证券 IT 开始研发自己的交易中间件。
代表:
金证#
KCXP
*
KCBP对应:
MQ
*
Transaction Monitor恒生#
AR
*
AS
↓
CRES对应:
Router
*
Application Server七、国产中间件实际上继承了什么?#
很多人认为:
国产中间件是重新创造。
其实更准确:
是吸收国际交易中间件思想,然后针对中国证券业务重新设计。
继承:
| 国外技术 | 国产对应 |
|---|---|
| IBM CICS | KCBP / AS |
| IBM MQ | KCXP |
| BEA Tuxedo Transaction Monitor | 证券交易中间件 |
| XA事务 | 金融事务控制 |
| Server Cluster | 交易集群 |
| Message Routing | 通讯交换 |
八、为什么不是直接用Oracle存储过程?#
因为:
Oracle解决:
数据一致而证券交易需要:
业务一致
系统一致
通讯一致
交易一致例如:
股票买入:
不是:
INSERT ORDER而是:
资金检查
↓
风控检查
↓
冻结资金
↓
生成委托
↓
发送交易所
↓
等待成交
↓
清算这是交易平台问题。
不是数据库问题。
九、国产化真正突破在哪里?#
真正突破:
不是:
Oracle换国产数据库而是:
国外交易运行平台
↓
国产交易运行平台也就是:
掌握:
- 交易调度
- 消息交换
- 集群管理
- 事务控制
十、历史意义#
2000年前后:
中国证券行业完成了一次架构迁移:
第一阶段#
IBM大型机
+
CICS
+
DB2第二阶段#
Unix
+
Tuxedo
+
Oracle第三阶段#
中国自主:
KCBP/KCXP
AS/AR
+
国产交易系统结语:国产化首先是掌握“运行平台”#
数据库是金融系统的仓库。
但是:
中间件才是金融系统的交通管理中心。
IBM CICS、
IBM MQ、
BEA Tuxedo、
Oracle Database
这些产品推动了全球金融 IT 工业化。
同时也让中国证券行业意识到:
如果交易运行平台不能自主掌握,核心金融系统就无法真正自主可控。
因此:
2000年前后的 KCBP/KCXP、AS/AR 研发,不只是两个软件产品诞生。
它代表:
中国金融 IT 从“使用国外基础软件”
走向:
“掌握核心交易基础设施”。
这也是国产金融中间件发展的真正起点。