已索引
中间件概念的引入
古代人们自己将钱财从一地传送到另一地时,不得不面对很多困难,例如土匪强盗、饮食住宿、车马挑夫、过关文书等共性问题。镖局这一中间角色的出现,使人们不必处理财物传输时的各种复杂细节。
中间件的功能与此类似:中间件,运行于操作系统、数据库与应用软件之间可以简化应用软件的复杂性、克服网络环境多种挑战的一类系统软件。
应用软件A <——> 中间件 <——> 底层资源(数据库、操作系统、网络)
应用软件A <——> 中间件 <——> 应用软件B
- 通道——保障系统消息的可靠传递
- 桥梁——达成业务系统的互联互通
- 框架——促成业务系统的完整集成
- 平台——实现分布式应用的顺利部署
中间件的作用
- 开发效率
能够提高开发效率,开发周期缩短25%~50%。 - 软件质量
层次明晰,可插拔方式对接,保障软件质量。 - 节约成本
据统计,应用系统可节省系统资源75%,运行成本减少50%。 运行环境
屏蔽底层硬件和软件运行环境带来的差异性,在异构平台间稳定运行。基于不同指令集的CPU
- ARM:鲲鹏,飞腾
- MIPS:龙芯
- X86:天津海光(AMD),兆芯(VIA)
- ALPHA:申威
不同数据库
- 国内主流数据库:达梦、人大金仓、神州通用、瀚高、优炫
- 国外主流数据库:Oracle,IBM,Mysql等
- 开源:openGauss,PostgreSQL,MariaDB
不同的操作系统发行版本
- 麒麟、统信、Redhat、SUSE……
中间件国产化替代必要性
基础软硬件是关键核心技术。
中间件:基础软件三驾马车之一。
- 网络环境下处于操作系统、数据库等系统软件和应用软件之间的一种起连接作用的分布式软件
- 主要解决异构网络环境下分布式应用软件的互连与互操作问题
- 提供标准接口、协议,屏蔽实现细节,提高应用系统易移植性
中间件在整合系统的过程中屏蔽底层技术细节
- 应用中间件
屏蔽底层的技术差异(CPU/OS等) - 消息中间件
消息要求可靠性,实时性,定制化需求高,通过IBM MQ/东方通消息中间件TongLINKQ/Kafka等 - 数据库表交换信息
一般大量结构化数据、实时或非实时需求,通过ETL/CDC/数据交换平台等 - 文件共享
非机构化数据,半结构化数据,需要脱耦合等场景,通过FTP/RSYNC/NAS/通用文件传输平台 - 服务接口
实时性要求高,数据量少,数据拥有方对于数据比较敏感等,通过ESB/API网关等 - 其他方式
如线下,邮件等方式
大型机构通常有消息交换、库表交换、文件交换、服务接口交换等,经常混合使用!
东方通中间件产品及全替代能力
东方通中间件产品
| 东方通产品 | 对标/替换国外产品 | 备注 |
| 应用中间件TongWeb | WAS、Weblogic、Tomcat、Jboss、Glassfish等 | XC目录、基础软件,支持容器云版/嵌入版,全行业海量替换案例 |
| 消息中间件TongLINK/Q | IBM MQ | 功能完善、性能优越,国内领先,全行业应用,出货量30万+套 |
| 交易中间件TongEASY | Oracle Tuxedo、IBM CICS | 金融、运营商、社保等行业核心交易系统应用 |
| 分布式数据缓存TongRDS | Redis | 成功应用在运营商、金融等行业业务系统中 |
| 高速传输平台TongHTP | Kafka、RocketMQ、RabbitMQ等 | 支持万级并发的接入与可靠传输、亿级消息堆积能力 |
| 负载均衡TongTHS | Apache、Nginx等 | 负载均衡软件,支持万级并发接入 |
| 服务总线TongESB | IBM ESB、Oracle ESB等 | 基于SOA,易用、易管的服务集成框架,政务、电信、企业等领域应用系统集成 |
| 数据集成TongETL | Informatica、IBM DataStage、Oracle Data Integration 等 | 数据集成工具,全行业替换 |
| 文件传输TongGTP/WTP | IBM Sterling Connect:Direct 、开源FTP | 可管理文件传输平台,金融领域市占率遥遥领先 |
| 数据交换平台TongDXP | 国外无相关产品 | 打破数据孤岛,国家级平台、15+省级平台等大量应用 |
东方通应用服务器中间件TongWeb
TongWeb 属于应用服务器中间件,是东方通的明星产品。
同类中间件有weblogic、websphere(WAS)、tomcat、jboss等。
应用服务器是现在使用最广的中间件,主要应用于Web系统,它是创建、部署、运行、集成和维护多层分布式企业级应用的平台。
Web应用
- 位于客户端(浏览器)和数据库之间
- 把业务逻辑(应用)“暴露”给客户端
- 为业务逻辑(应用)提供运行平台和系统服务
- 管理对数据库的访问
应用服务器
- 为Web系统下的应用开发者提供开发工具和运行平台
- 企业级应用服务器通过Web容器和EJB容器为上层应用的运行提供基础平台支撑。
TongWeb 版本选择
| 企业版 | 安全版 | 标准版 | 轻量版 | 容器云版 | 嵌入式版 | |
| 适用场景 | 大型复杂应用环境 | 更高安全级别环境,内置ASDP安全插件 | 中小型应用环境 | 资源占用及启动速度要求较高的应用环境 | Docker、k8s环境 | SpringBoot/Cloud环境 |
| 规范支持 | Java EE 7 | Java EE 7 | Java EE 7 | Java EE 7(Web) | Java EE 8(Web) | Java EE 8(Web) |
| 后台管理 | 支持 | 支持 | 支持 | 支持(仅命令) | 不支持 | 不支持 |
| 硬件集群 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
| 软件集群(F5、Array等) | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
| session复制(TongHttpServer、Apache、Nignx等) | 支持 | 支持 | 不支持 | 不支持 | 不支持 | 不支持 |