首先看看什么是中间件?IDC给出的一个定义:中间件是一种独立的系统软件或服务程序,分布式应用 软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源 和网络通信。
从这些定义中可以看出: 首先中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现 应用之间的互操作;另外中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。
在中间件产生以前,应用软件直接使用操作系统、网络协议和数据库等开发,这些都是计算机最底层 的东西,越底层越复杂,开发者不得不面临许多很棘手的问题,如操作系统的多样性,繁杂的网络程序设 计、管理,复杂多变的网络环境,数据分散处理带来的不一致性问题、性能和效率、安全,等等。这些与 用户的业务没有直接关系,但又必须解决,耗费了大量有限的时间和精力。于是,有人提出能不能将应用 软件所要面临的共性问题进行提炼、抽象,在操作系统之上再形成一个可复用的部分,供成千上万的应用 软件重复使用。这一技术思想最终构成了中间件这类的软件。
一、中间件分类
中间件分类有很多方式和很多种类,在这里我们由底向上从中间件的层次上来划分,可分为以下三个大 的层次:
集成型中间件
在通用型中间件产品之上整合了Application,Portal,Business Process等技术 ,主流技 术:WorkFlow,EAI ,代表产品: BEA WebLogic Integration 。
通用型中间件
主流技术:CORBA,J2EE,MOM ,代表产品:IONA Orbix,BEA WebLogic,IBM MQSeries 。
基础型中间件
主流技术: JVM,CLR, ACE ,代表产品:SUN JVM, Microsoft CLR。
见图1。
时间: 2024-11-02 21:59:43