好比一个大型城市的交通系统,将网络看作市区马路,通过交通工具(如汽车)实现通信,每分钟将有数以万辆车在马路上行驶,如果没有相应的交通设施和管理规划,城市将会乱成一团,发生各种交通事故,中间件系统就相当于这些配套的交通设施。按照中间件在分布式系统中承担的职责不同,可以划分以下几类中间件产品。
(1)通信处理(消息)中间件。正如,安装红绿灯,设立交通管理机构,制定出交通规则,才能保证道路交通畅通一样,在分布式系统中,人们要建网和制定出通信协议,以保证系统能在不同平台之间通信,实现分布式系统中可靠的、高效的、实时的跨平台数据传输,这类中间件称为消息中间件,也是市面上销售额最大的中间件产品,目前主要产品有 BEA 的 eLink、IBM 的 MQSeries、TongLINK 等。实际上,一般的网络操作系统如 Windows 已包含了其部分功能。
(2)事务处理(交易)中间件。正如城市交通中要运行各种运载汽车,以此来完成日常的运载,同时随时监视汽车运行,在出现故障时及时排堵保畅。在分布式事务处理系统中,经常要处理大量事务,特别是 OLTP 中,每项事务常常要多台服务器上的程序按顺序协调完成,一旦中间发生某种故障,不但要完成恢复工作,而且要自动切换系统,达到系统永不停机,实现高可靠性运行。要使大量事务在多台应用服务器上能实时并发运行,并进行负载平衡的调度,实现与昂贵的可靠性机和大型计算机系统同等的功能,为了实现这个目标,要求中间件系统具有监视和调度整个系统的功能。BEA 的 Tuxedo 由此而著名,它成为增长率最高的厂商。
(3)数据存取管理中间件。在分布式系统中,重要的数据都集中存放在数据服务器中,它们可以是关系型的、复合文档型、具有各种存放格式的多媒体型,或者是经过加密或压缩存放的,该中间件将为在网络上虚拟缓冲存取、格式转换、解压等带来方便。
(4)Web 服务器中间件。浏览器图形用户界面已成为公认规范,然而它的会话能力差、不擅长做数据写入、受 HTTP 协议的限制等,就必须进行修改和扩充,形成了 Web 服务器中间件,如 SilverStream 公司的产品。
(5)安全中间件。一些军事、政府和商务部门上网的最大障碍是安全保密问题,而且不能使用国外提供的安全措施(如防火墙、加密、认证等),必须用国产产品。产生不安全因素是由操作系统引起的,但必须要用中间件去解决,以适应灵活多变的要求。
(6)跨平台和架构的中间件。当前开发大型应用软件通常采用基于架构和构件技术,在分布式系统中,还需要集成各节点上的不同系统平台上的构件或新老版本的构件,由此产生了架构中间件。功能最强的是 CORBA,可以跨任意平台,但是过于庞大;JavaBeans 较灵活简单,很适合于做浏览器,但运行效率有待改善;COM+模型主要适合 Windows 平台,在桌面系统已广泛使用。由于国内新建系统多基于 UNIX(包括 Linux)和 Windows,因此,针对这两个平台建立相应的中间件市场相对要大得多。
(7)专用平台中间件。为特定应用领域设计领域参考模式,建立相应架构,配置相应的构件库和中间件,为应用服务器开发和运行特定领域的关键任务(如电子商务、网站等)。
(8)网络中间件。它包括网管、接入、网络测试、虚拟社区、虚拟缓冲等,也是当前最热门的研发项目。
网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。
添加我为好友,拉您入交流群!
请使用微信扫一扫!