书名:TongWeb中间件实用教程
ISBN:978-7-115-56972-7
本书由人民邮电出版社发行数字版。版权所有,侵权必究。
您购买的人民邮电出版社电子书仅供您个人使用,未经授权,不得以任何方式复制和传播本书内容。
我们愿意相信读者具有这样的良知和觉悟,与我们共同保护知识产权。
如果购买者有侵权行为,我们可能对该用户实施包括但不限于关闭该帐号等维权措施,并可能追究法律责任。
主 编 李利军
著 北京东方通科技股份有限公司
责任编辑 赵祥妮
人民邮电出版社出版发行 北京市丰台区成寿寺路11号
邮编 100164 电子邮件 315@ptpress.com.cn
网址 http://www.ptpress.com.cn
读者服务热线:(010)81055410
反盗版热线:(010)81055315
东方通是国内知名的中间件开发商,国内第一款商用的中间件就在东方通诞生。TongWeb应用服务器作为东方通的旗舰产品,为各行各业的应用业务系统提供更可靠、更稳定的基础应用中间件支撑环境。
本书首先讲解中间件的基础知识,然后重点讲解TongWeb中间件的使用与常用功能,包括TongWeb应用管理、Web容器的使用、EJB容器的使用、TongWeb常用服务及配置、TongWeb安全加固和集群管理;最后讲解运维知识与应用,重点讲解TongWeb的监控接口、性能监控工具、性能调优和故障分析。
本书适合初、中级软件工程师和运维工程师阅读参考,对中间件技术感兴趣的学生或从业人员也可参考。
主编
李利军
编写人员
李春青 于滨峰 李 蕾 于 洋
王 普 武立强 李彦清 徐有明
刘玉杰 黄 锋 王鹏亮 朱红琴
刘雪明 汪玉龙 李雅勤 俞立平
北京东方通科技股份有限公司(以下简称东方通)成立于1997年,是国内首家在A股上市的基础软件厂商。作为国内中间件的开拓者和领导者,东方通不断引领中国中间件的发展与创新,是国家规划布局内重点软件企业,承担多项国家重大科技专项的研制任务,是2018年北京软件和信息服务业综合实力百强企业,曾荣获国家科技进步二等奖、北京市科学技术进步奖二等奖等多项荣誉。在中间件领域,经过近30年的不断开拓和耕耘,东方通研发出了TONG系列中间件软件,包括基础类、数据集成类、云计算类等多种产品,广泛应用于国内数千个行业业务。
中间件是基础软件的重要组成之一,同时也是信创生态体系不可或缺的基础设施之一。受益于政策利好,我国中间件的市场规模近年来持续增长,国产中间件厂商与国外厂商之间的差距逐渐缩小,产品从可用发展到好用,在党政、金融、电信等领域逐步打破国外厂商的垄断。
应用服务器是现在使用最广的中间件软件,东方通应用服务器软件TongWeb是东方通自主研发的遵循Java EE规范的企业级产品,应用遍及各行各业,产品成熟稳定,具备满足行业核心业务需求的能力,目前在党政领域已经实现了规模化应用,在金融、电信、交通等行业亦有大量应用案例。
随着TongWeb的推广使用,用户希望能快速学习该软件的操作及运维知识,对软件有更全面、更体系化的掌握,我们应广大用户的需求,在业内专家的指导下,精心编写了本书。作为国内中间件的第一本实用教程,本书主要具有以下3个特色。
1. 内容系统全面。TongWeb属于基础软件,具有一定的技术门槛,本书内容系统全面,首先对中间件基础知识和了解TongWeb需要掌握的技术知识进行了讲解,有利于读者查缺补漏,从而顺利进行后续章节的学习;对于TongWeb的使用,详细讲解了安装、常用功能以及性能调优、故障分析等运维操作,可满足用户日常使用中的大部分需求。
2. 注重实操、易于上手。本书全面模拟TongWeb的真实运行环境,详细介绍每一项功能。用户在使用TongWeb过程中遇到问题时,查找相关章节便可快速解决,能够学以致用。在操作步骤的讲解中,配有相应的界面截图和文字说明,这种图文并茂的呈现方式更方便读者快速上手。
3. 注重工程实践。本书编撰人员大部分来自一线,而写作素材源自实际工程项目。本书基于案例实践经验,总结提炼了TongWeb日常使用过程中的配置建议、常见问题、注意事项、解决办法等,并将这些内容融入各项操作的讲解中,更贴近用户需求,希望对用户的实际工作有所裨益。
本书可作为业内相关企业以及软件工程师与运维工程师学习TongWeb的参考书;同时,也适合科研院所、高等职业院校中有志于国产中间件推广应用的技术人员或学生阅读。
本书的撰写得到了业内多位专家的指导,公司研发、售前、售后等部门多名同事参与了本书各章节的讨论,在此一并表示感谢。
在本书的编写过程中,各章节的内容都经过反复校对,力求完美,但由于时间仓促,书中难免有疏漏和不妥之处,恳请广大读者批评指正。
北京东方通科技股份有限公司董事长
2021年8月
在IT领域,人们习惯于把操作系统、数据库系统和中间件(Middleware)并称为基础软件的“三驾马车”。中间件作为IT系统的重要组成部分,在简化应用开发、提升应用的可靠性和性能等方面具有重要作用。根据中间件的通用性和成熟度,我们可以把中间件划分为基础中间件、集成中间件、行业领域中间件和新型中间件等类型。其中基础中间件最成熟,通用性最好,它又可以细分为应用服务器、消息中间件和交易中间件等;集成中间件包括企业服务总线中间件、数据处理及交换类中间件等,主要用于完成不同业务系统之间的集成整合;行业领域中间件是针对某个行业应用而开发的中间件,具有特定行业特色;新型中间件是随着新兴技术的发展而产生的具有某些新技术特性的中间件。
东方通TongWeb(简称TW)属于基础中间件中的应用服务器,用途广泛,成熟可靠。
在讲解TongWeb之前,首先对中间件及其发展状况做简要的介绍,包括如下内容:
随着信息技术的发展,计算机和网络深深影响着人们的生活模式和工作模式,越来越多的领域已经离不开计算机、网络和通信技术,以及作为相关设施之“魂”的软件。各种各样的软件也随着技术的进步、商业需求的变化在功能、种类、使用方式等多个方面发生变化。
应用或系统的部署模式经历了从单机部署向多机部署,再从多机部署向分布式部署的发展演变。多机部署时期,又可以划分为C/S架构时期和B/S架构时期。从C/S架构时期开始,特别是进入B/S架构时期后,多机部署的应用产生了大量的交互类需求。为满足这些需求,大量网络通信、信息和数据处理等信息技术应运而生。中间件作为解决多机应用交互和运行支撑问题的底层技术解决方案被提出来,逐渐得到行业的广泛认可。
中间件作为一种通用的软件,其诞生是为了满足多机远程调用的需求,主要作用是屏蔽底层系统和通信的异构性,进而支撑应用实现稳定、可靠和高并发运行,并简化应用的开发流程。随着计算机技术的快速发展,越来越多的应用需要支持不同厂商生产的软硬件、不同的网络平台和环境,以及不同的网络协议。应用在兼容不同操作系统等软硬件环境的过程中往往存在技术实现难度大和实现成本高等问题,一些企业和组织专门研发出解决此类问题的软件,这就是中间件。通过使用中间件,开发应用的企业和组织只需要编写业务逻辑,即可实现有关功能,底层功能的实现直接调用中间件即可。中间件的采用降低了业务系统的实现难度,也降低了业务系统不稳定的风险。
中间件一般是指网络环境下处于操作系统、数据库等系统软件和应用之间的一种起连接作用的分布式软件,主要用于解决异构网络环境下分布式应用的互联与互操作问题,可提供标准接口、协议,屏蔽实现细节,提高应用系统易移植性。中间件定位示意如图1-1所示。
图1-1 中间件定位示意
中间件是基础软件的一大类,它对用户是透明的。用户通过中间件能顺利获取所需信息,完成对事务的处理,并不需要关心具体处理是怎样进行的。由此可见,中间件是一种独立的服务程序,分布式应用可借助中间件在不同环境之间利用和共享资源。中间件可为处于上层的应用提供运行与开发的环境支撑,帮助用户灵活、高效地开发、集成和运行复杂的应用。
随着中间件技术的发展,中间件产品的种类越来越多。根据中间件的通用性和成熟程度来进行划分,我们可以把中间件大致分为基础中间件、集成中间件、行业领域中间件和新型中间件等。
基础中间件最成熟,通用性最好,又可以细分为应用服务器、消息中间件、事务处理中间件等;集成中间件包括企业服务总线中间件、数据处理及交换类中间件、通用文件传输类中间件等,主要用于不同业务系统之间的集成整合,通用性略差;行业领域中间件是针对某个行业的应用而开发的,通用性一般;新型中间件是随着新兴技术的发展而产生的,其具体分类、定义也随着技术的发展而变化。
行业领域中间件与客户应用非常贴近,有明显的行业特点或应用特色,非常难从理论上给出一个比较明确、标准的定义。反观基础中间件,基本不会带有行业或应用特点。
下面结合中间件产品的不同作用,简要介绍几种常见中间件。
应用服务器是现在使用最广的中间件,主要应用于Web系统,它是创建、部署、运行、集成和维护多层分布式企业级应用的平台。Web应用位于客户端(浏览器)和数据库之间,其主要作用为把业务逻辑(应用)“暴露”给客户端,同时为业务逻辑(应用)提供运行平台和系统服务,并管理对数据库的访问。应用服务器可为Web系统下的应用开发者提供开发工具和运行平台。企业级的应用服务器通过Web容器和EJB容器为上层应用的运行提供基础平台支撑。
消息中间件可保证数据传输的可靠性,其主要作用是在不同平台之间建立通信通道,在分布式系统中实现可靠、高效、实时的跨平台数据传输。它常被用来屏蔽各种平台及协议之间的异构性,实现应用之间的协同。其优点在于能够为客户端和服务器提供同步和异步的连接,并且在任何时刻都可以将消息进行传送或者存储转发。
事务处理中间件是指联机事务处理平台软件。它是高性能事务处理系统的基础支撑软件,主要的作用是高效地传递交易事务请求,协调事务的各个分支,保证事务的完整性,调度应用的运行,保证整个系统运行的高效性。随着多层分布式企业级应用的兴起,事务处理中间件得到了广泛的推广和应用。
企业服务总线中间件是面向服务架构,采用总线方式支持异构环境中的服务、消息及事件交互的中间件。该中间件是可持续拓展、松耦合、可管理的SOA系统,该系统可以帮助企业级用户以服务的方式整合多个异构系统,实现对各种应用的集成。企业服务总线中间件可提供多种适配器,让各种异构系统方便地接入总线,由总线负责协调各应用系统间的服务调用工作。
数据处理及交换类中间件可实现分布式应用之间的数据共享服务,提供不同数据源之间数据格式的转换处理。从功能形态来看,该中间件又可分为数据处理工具、数据交换平台等。
数据处理工具:支撑复杂数据结构、大批量、异构的数据的高效整合,可以方便地将各个系统中大量、异构的数据整合成完整、一致、准确并可集中存取的数据,支撑上层应用对数据的挖掘、分析。
数据交换平台:在分布式应用系统之间进行数据交换共享和业务协同的数据交换系统,可以对跨层级、跨地域、大规模分布的数据实现交换管理,适用于政府、企业等行业信息资源交换共享的应用,能快速实现数据集成。系统一般适配多种标准数据源,具有数据路由和事务处理、管理能力。
通用文件传输类中间件是位于分布式应用系统之间进行电子文件交换的专业系统,可提供安全、可靠、稳定、高效的文件传输功能。用户无须编码,只需要通过配置就可以管理和实现不同系统之间的文件传输。系统可以传输各种类型的文件,文件大小不受限制,并提供多种文件传输控制功能。
中间件是处于操作系统、数据库等系统软件和应用之间的软件,它可解决分布式环境下数据传输、数据访问、应用调度、系统构建和系统集成、流程管理等问题,是分布式环境下支撑应用开发、运行和集成的平台。分布式应用可借助中间件在不同的应用之间共享资源。在网络环境中,中间件与操作系统和网络虚拟化系统共同作为支撑分布式应用的系统软件主体。
中间件是在克服复杂企业级应用的共性问题过程中不断发展和壮大起来的,是构建应用的基础,也是应用运行的底层支撑平台,与操作系统和数据库构成三大核心基础软件。
中间件的主要作用简介如下。
中间件的最终目的是支撑上层应用,它也是软件技术发展至今对应用提供的较为完善、彻底的支撑方案。面向服务的中间件可为上层应用快速、通用和标准化的研发提供强有力的支撑。
中间件的重要发展趋势就是以服务为核心,通过服务或者服务组件来实现更高层次的复用、解耦和互操作。中间件将技术功能封装为服务,并通过服务组件之间的组装、编排和重组来实现服务的复用,而且这种复用可以在不同企业之间实现,是动态可配置的复用。
平台化是指中间件能够独立运行并自主存在,为其所支撑的上层应用提供运行所依赖的环境。中间件是运行时的系统软件,它能为上层的业务应用提供运行环境,并通过标准接口和API来隔离底层系统。
中间件技术决定了应用的一些关键能力,例如稳定性、高并发处理能力和可扩展能力等。中间件向下可屏蔽操作系统和数据库系统的复杂性,简化开发人员面对的开发环境;向上使得应用开发简便,开发周期缩短,减少开发和集成成本。使用中间件构建应用还具有如下优点。
近年来中间件的概念快速延伸,功能快速扩展,整个中间件市场规模越来越大。伴随着操作系统、数据库等传统技术的不断演进,云计算、大数据、移动互联等新技术、新需求的高速发展促使行业用户的业务需求及应用场景不断变化,应用系统基础设施和开发方式随之不断创新。传统中间件已经无法持续满足用户急速变化的IT基础架构需求,因此需要中间件的种类不断增加,功能不断扩展,以融合新兴技术,支撑不断扩大的应用边界和不断创新的应用场景。
随着行业信息化水平的不断提升,用户对于中间件的需求产生了新变化。用户的采购需求逐渐从产品转向服务,寻求基于产品的完整解决方案,以支持其实现业务管理目标或IT升级,这一点在大的行业客户中表现明显。
随着各行业对IT系统自主创新需求的“爆发”,信息系统等级保护和分级保护需求日益强烈,中间件厂商须增强产品的安全性,研发具备通用安全功能的相关安全产品及服务,以满足安全创新需要。
云计算相关技术正在被各行各业广泛应用,企业不但使用云计算基础设施即服务(IaaS)的计算、存储和网络能力,而且使用云平台提供的以各种中间件等为基础的平台即服务(PaaS)。中间件软件将服务变得越来越强大,使得中间件在云计算环境中越来越重要。各类中间件在云环境的平台服务能力,是中间件未来迅速发展的方向。
随着应用系统越来越复杂,单一的中间件采购模式给用户带来了大量集成工作,用户期望中间件软件以平台形式对上层应用形成全方位的支撑,提供软件基础设施层的整体解决方案。中间件厂商应不断提升面向重点行业用户的深度服务能力。
随着各行业信息化建设的不断深入,IT系统技术架构越来越复杂多样,运维的重要性已经和开发不相上下。中间件在信息系统中肩负着“承上启下”的重任,其运维和管理较为复杂。中间件应支持通过软件定义运维,支持运维与开发的协作(DevOps),以满足大规模复杂应用场景下软件的运维和管理需要。中间件还需提高自动扩展能力、故障恢复能力、统一管控能力、资源利用率、性能和可用性,实现运维与管理的自动化和智能化。
随着中间件技术的不断发展,中间件市场仍处于不断扩张的状态。国内厂商在中间件领域不断发力,其中间件产品市场占有率不断提高,成绩斐然。
随着金融、电信、交通等机构和行业信息化建设的加速,大量新的应用系统项目纷纷启动,未来5年,中间件市场规模大概率将保持稳定的增长势头。特别是随着数据类应用的广泛普及,市场对数据采集传输、数据治理、数据加工、数据服务类中间件的需求将保持快速增长。随着云计算技术的不断发展,各类云化中间件产品不断涌现,中间件平台服务在云应用基础设施建设中获得新的发展机遇。
中间件很早便作为重点基础软件之一受到高度重视。在云计算、大数据技术的驱动下,中间件产品的范围和种类逐步扩大和增加。以东方通为代表的传统中间件厂商正积极转型、创新,助力各行业信息化逐步向自主创新方向转变。市场竞争格局将发生重大变化,随着一些国内云服务及平台厂商在中间件领域发力,市场竞争将加剧,传统厂商的主导性将逐步减弱。
中间件作为分布式应用系统的重要基础支撑,是业务系统软硬件基础设施中的关键一环,作用重大。中间件可为上层应用屏蔽基础环境的差异,解决中间件相关问题,会带动一大批应用问题的解决。国家通过政策、机制等多种方式促进各方力量在基础软件行业创新发展,鼓励企业掌握核心技术,保障基础软件的安全。国内中间件的创新发展经历了从无到有,再从弱到强的过程。发展到今天,我国逐步形成了自主创新的中间件生态体系,为基础软件自主创新提供了有效支撑。
当前行业用户对于中间件的采购模式,正在从传统的基础中间件套件产品走向服务。不论是以产品作为解决方案的模式还是云计算的PaaS模式,用户都正在积极地寻求能够灵活支持其实现业务以及面向未来的完整解决方案,这一点在重要行业的客户中表现尤为明显。
随着IT基础设施、5G通信、云计算、大数据、人工智能等技术的高速发展,中间件技术有了新的变化。从中间件自身技术领域来看,中间件已从基础、独立的产品向平台化形态发展。从横向技术领域来看,云计算、大数据、人工智能等技术的发展也推动了中间件的云化、大数据化及智能化。尤其是各行业应用向云架构方面转变的趋势,使得中间件技术与云计算结合得更为紧密,并衍生出了适合部署应用于云计算环境下的相关中间件产品形态。
按照服务类型进行划分,云计算可以划分为IaaS、PaaS和SaaS(软件即服务)。PaaS作为云计算平台的中间核心层,位于IaaS和SaaS之间,可为应用的开发和运行提供平台环境服务能力,用户不必关心底层的操作系统或开发语言,这也正是中间件概念的延伸。应用系统上云前依托于中间件提供的事务、消息、安全、缓存、规则、策略、容灾备份、负载均衡等功能,可直接由PaaS层中间件以服务的方式快速供给。与PaaS所提供的数据库服务、安全认证服务一样,中间件服务将成为PaaS的重要组成部分。我们相信,几年后人类将进入云化中间件时代。
当中间件走上云端后,云化中间件的产品形态、功能特性、支持的语言种类都会发生很大的变化。它将能提供原有企业级中间件的功能,而且能扩展出更多的功能,从而起到统一传统中间件和云计算开发环境的作用,企业可以不再围绕SOAP/XML来构建标准化的方案。微服务架构带来了新的思路,企业用户能够使用云化中间件将业务逐步迁移到基于云的集成服务上,最终实现灵活扩展和降本增效。但是中间件云化也需要标准,在没有新的业界规范时,现有的中间件接口和规范作为已经多方验证的成熟技术还是会被普遍采用。
随着大数据技术的深入发展和应用推广,人们对数据的采集、清洗、分析起到支撑作用的数据基础设施的需求突显,传统中间件亟须升级,以适应海量数据的加工处理。在大数据背景下,业内通常将企业级数据分为前、中、后3层结构:前台是具体的数据应用,重点关注客户的具体业务,解决数据需求者的实际问题;中台的核心是数据服务,重点关注数据采集、数据质量、数据开发以及如何安全共享数据;后台的核心是存储与计算,重点关注速度与成本。数据中台通过数据交换、数据治理、数据开发和数据服务,衔接前台与后台,实现高质量数据管理和数据安全共享。数据中台的定位,其实就是中间件概念在大数据领域的延伸。
目前,数据中台已成为企业数据资产管理中枢,通过对企业内、外部多源异构数据的采集、治理、建模、分析和服务,使数据对内可以优化管理、提高业务效率,对外可以释放数据合作价值。大数据中间件包括大数据采集传输类、数据集成交换类、数据治理类、数据服务共享类、流数据处理类和数据安全共享类等多个分支,已经成为大数据解决方案的重要组成部分。