1.1 什么是中间件
随着信息技术的发展,计算机和网络深深影响着人们的生活模式和工作模式,越来越多的领域已经离不开计算机、网络和通信技术,以及作为相关设施之“魂”的软件。各种各样的软件也随着技术的进步、商业需求的变化在功能、种类、使用方式等多个方面发生变化。
应用或系统的部署模式经历了从单机部署向多机部署,再从多机部署向分布式部署的发展演变。多机部署时期,又可以划分为C/S架构时期和B/S架构时期。从C/S架构时期开始,特别是进入B/S架构时期后,多机部署的应用产生了大量的交互类需求。为满足这些需求,大量网络通信、信息和数据处理等信息技术应运而生。中间件作为解决多机应用交互和运行支撑问题的底层技术解决方案被提出来,逐渐得到行业的广泛认可。
中间件作为一种通用的软件,其诞生是为了满足多机远程调用的需求,主要作用是屏蔽底层系统和通信的异构性,进而支撑应用实现稳定、可靠和高并发运行,并简化应用的开发流程。随着计算机技术的快速发展,越来越多的应用需要支持不同厂商生产的软硬件、不同的网络平台和环境,以及不同的网络协议。应用在兼容不同操作系统等软硬件环境的过程中往往存在技术实现难度大和实现成本高等问题,一些企业和组织专门研发出解决此类问题的软件,这就是中间件。通过使用中间件,开发应用的企业和组织只需要编写业务逻辑,即可实现有关功能,底层功能的实现直接调用中间件即可。中间件的采用降低了业务系统的实现难度,也降低了业务系统不稳定的风险。
中间件一般是指网络环境下处于操作系统、数据库等系统软件和应用之间的一种起连接作用的分布式软件,主要用于解决异构网络环境下分布式应用的互联与互操作问题,可提供标准接口、协议,屏蔽实现细节,提高应用系统易移植性。中间件定位示意如图1-1所示。
图1-1 中间件定位示意
中间件是基础软件的一大类,它对用户是透明的。用户通过中间件能顺利获取所需信息,完成对事务的处理,并不需要关心具体处理是怎样进行的。由此可见,中间件是一种独立的服务程序,分布式应用可借助中间件在不同环境之间利用和共享资源。中间件可为处于上层的应用提供运行与开发的环境支撑,帮助用户灵活、高效地开发、集成和运行复杂的应用。