中间件基础知识概述

中间件是介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。它并没有很严格的定义,但是普遍接受IDC的定义:中间件是一种独立的系统软件服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。

一、什么是中间件

中间件是介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。它并没有很严格的定义,但是普遍接受IDC的定义:中间件是一种独立的系统软件服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。从这个意义上可以用一个等式来表示中间件:中间件=平台+通信,这也就限定了只有用于分布式系统中才能叫中间件,同时也把它与支撑软件和实用软件区分开来。

二、中间件的发展

1.中间件早期发展

由于中间件需要屏蔽分布环境中异构的OS和网络协议,它必须能够提供分布式环境下的通信服务.将这种通信服务称为平台.IBM的CICS(Customer Information Control System)是最早具有中间件技术思想和功能的软件,但由于CICS不是分布式环境的产物,人们一般把1984年AT&T贝尔实验室开发完成的Tuxedo作为第一个严格意义上的中间件产品:在很长一段时期里Tuxedo只是实验室产品,被NoveIl收购后开展的商业推广并不成功,直到1995年被BEA公司收购才逐渐成熟起来,BEA公司也因此成为一个真正的中间件厂商。同一时期,IBM的中间件MQSeries及其他许多中间件产品也逐渐发展并成熟起来。

2.中间件发展阶段

中间件技术的发展,经历了面向过程的分布计算技术、面向对象的分布计算技术、面向Agent的分布计算技术3个阶段二相应地,中间件产品也分为远程过程调用中间件(Remote Procedure Call,RPC)、面向消息的中间件(Mes-sage Oriented Middleware,MOM)和对象请求代理中间件3类,其中面向消息的中间件技术最为成熟。

3.中间件的结构发展历程

(1)两层结构模式

①“客户端/服务器”模式

1)数据统一存储在服务器上;

2)业务逻辑在客户端实现(胖终端);

②不足:

1)单一的服务器结构紧密地依赖供应商;

2)数据存取受到限制;

3)难以扩展到大企业广域网或国际互联网;

4)难以管理客户端的机群;

③三层结构模式

1)把客户端的业务逻辑独立出来,与数据库服务器中存储过程结合起来,构成应用层。

2)好处:

a.计算能力强;

b.灵活性好;

c.客户端仅仅是处理图形用户界面(GUI);

④四层结构模式

1)采用有交互功能的浏览器,形成“瘦终端”的工作方式;

2)加上了Web服务器层,形成了四层体系结构;

3)各服务器和终端之间通过网络链接,大量信息和数据进行传递,对于每个应用系统而言,在设计和实现时需要开发的仅仅是在应用服务器上的业务逻辑部分的软件。

三、中间件的特点

(1)中间件是一类软件,而不是一种软件。

(2)中间件不仅仅实现互连,还要实现应用之间的互操作。

(3)中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。

四、中间件的功能

1.负责客户机和服务器之间的连接和通信;

2.提供客户机与应用层的高效率通信机制;

3.提供应用层不同服务之间的互操作机制;

4.提供应用层与数据库之间的连接和控制机制;

5.提供一个多层结构应用开发和运行的平台;

6.提供一个应用开发框架,支持模块化的应用开发;

7.屏蔽硬件、操作系统、网络和数据库;

8.提供交易管理机制,保证交易的一致性;

9.提供应用的负载均衡和高可用性;

10.提供应用的安全机制和管理功能;

11.提供一组通用的服务去执行不同的功能,为的是避免重复的工作和使应用之间可以协作。

五、中间件的优点

1.缩短应用的开发周期;

2.节约应用的开发成本;

3.减小系统初期的建设成本;

4.降低应用开发的失败率;

5.保护已有的投资;

6.简化应用集成;

7.减少维护费用;

8.提高应用的开发质量;

9.保证技术进步的连续性;

10.增强应用的生命力。

请扫码关注数字化经济观察网
责编:高蝶
参与评论
文明上网,理性发言!请遵守新闻评论服务协议
0/200