中间件的相关概念

来源:百度文库 编辑:神马文学网 时间:2024/04/20 14:19:49
idc的中间件定义:中间件是一类软件,而非一种软件,中间件不仅仅实现互联,还要实现应用之间的互操作,中间件是基于分布式处理的软件,最突出的特点是网络通信功能。
最早具有中间件技术思想及其功能的软件是ibm的CICS,但是CICS不是分布式环境的产物,因此人们通常把Tuxedo作为第一个严格意义上的中间件产品。tuxedo最早是1984年AT&T公司的贝尔实验室的开发完成的,但是由于分布式处理在当时并没有在商业应用上像今天一样成功,因此tuxedo很长时间都是实验室产品,后来被novell收购,1995年被bea公司收购,bea收购了tuxedo后,才真正成为一个中间件厂商。ibm的mqSeries也是20世纪90年代的产物,东方通科技在1992年就开始中间件领域的研究和开发,1993年推出第一个产品tonglink/q。可以说,在中间件领域国内起步时间并不比国外晚。
中间件的分类:
(1)消息中间件,或称面向消息的中间件(Message orient middleware MOM),将数据从一个应用程序发送到另外一个应用程序,负责建立网络通信的通道,进行数据的可靠传送,保证数据不重发,不丢失。消息中间件的一个重要作用是可以跨平台 ,适用于非实时的数据交换
(2)事务管理中间件,或称事务处理监控程序(transaction processing ,TP)  ,也具有跨平台,跨网络的能力,主要功能是管理分布于不同计算机上的数据一致性,协调数据库处理分布式事务,保证整个系统的性能和可靠性,适用于联机交易处理系统。
(3)面向对象的中间件,一般也具有事务处理中间件的功能,但是是按照面向对象的模式来组织的,CORBA,EJB,COM+
(4)应用服务器
(5)门户服务器
(6)工作流软件
(7)企业应用集成服务器
(8)安全中间件
下面的部分,装载自http://www.tongtech.com/jsqy/yqxwview.asp?id=14
和日常的"工具"的革新一样,新的应用需求、新的技术的出现、新的应用领域和新思考的着眼点都会促成新的中间件的出现。比如,商务流程自动化的需求推动了工作流软件的兴起;企业应用集成的需求引发了企业应用集成服务器(EAI服务器)的出现,动态B2B集成的需要又推动了Web服务技术与产品的快速发展,而Web服务技术的发展又必将推动现有中间件软件的变化和新中间件种类的出现。把通常的中间件应用到移动通信环境、服务于移动电子商务,就出现了移动中间件(mobile middleware)。现在人们甚至倾向于接受"某个领域中的中间件"这样的概念。中间件看起来又让人有些糊涂!
我们可以从使用中间件的缘由和中间件的技术思想来把握它变化。人们要使用中间件,特别是商业化的中间件产品是有原因的。应用软件开发商要中间件是因为客户的应用系统确实需要中间件提供的功能,选用商业化的中间件产品能有效地减少自己的开发工作量、提高开发效率,提高系统的性能、可靠性,保持自己的竞争优势,并提高竞争力。最终客户要中间件是因为在关键任务系统中没有中间件不能保证系统的高效率、高可靠性、可扩展性和安全性,总之让最终客户担心。
中间件所体现的技术思想非常朴素--"复用"和"分层"等技术观念是其中最核心的。"复用"才能有效率,有效率才能有"剩余劳动时间",也才能有价值。伴随"复用",软件不断完善,可靠性、通用性和有用性不断提升。"分层"是简化问题域的有效手段。以前我们把一个系统从侧面切开分成系统软件和应用软件两个层次;今天,我们重新从侧面切开系统,把原来的应用软件切分成"中间件软件"层和"应用软件层"。"复用"和"分层"的思想,催生了新的行业细分,中间件软件厂商就这样诞生了。
电脑技术的不断进步,使得要实现同样的应用功能,应用软件开发人员需要做的事情越来越少了,应用层越来越薄;相反,应用系统所依赖的"工具"--从机器码、汇编语言、高级语言、可视化开发工具、中间件和其它高级的技术产品要做的事情越来越多,支撑层越来越厚。开发人员用这些高级的技术产品,可以开发更加复杂、更能满足最终用户更新、更高层次的应用需求。对于中间件的发展,应用领域是一个横向的影响因素,中间件向更高层次发展,提供更多、更新的高层功能也是一个重要的趋势。让应用软件开发商或系统集成商从基础架构甚至更高层次的软件架构设计中摆脱出来,让它们最大限度地关注业务逻辑应该是未来中间件的努力目标。
新平台软件引人注目
新平台软件不同于以往的平台软件,和划入中间件中的"平台"也有差异。新平台不是"开发平台",不是"CASE工具"一类的东西。既它不是仅供开发商使用的东西,它需要部署到用户的环境中,支撑应用的运行。新平台软件不同于以往应用开发商所开发的"某某应用平台"的最主要的地方是,新平台软件的底层支撑一般不是平台软件开发商自己写的,一般是使用商业化的中间件软件。新平台软件不同于那些划入中间件中的"平台"之处是,新"平台"中通常包含了更贴近商务应用的、但又是比较通用的"业务组件"。业务组件可能是跨行业、跨领域的;也可能限定于某些或某个特定的行业、领域,甚至某个领域中的特定类型的应用。
我们用一个简单公式来说明什么是新的平台软件:
平台 = 中间件 + 业务组件
极端的情况,如果业务组件是"水平的",即跨行业、跨领域通用的,平台就基本上没有什么业务特征了,此时和划入中间件中的"平台"就基本上划了等号。比如建立在消息中间件或Web应用服务器之上的通用的、或者有一定限定应用范围的工作流软件。另一种情况是,如果业务组件是"垂直的"、是针对特定行业、特定领域的"垂直市场"的,那么整个平台软件就和最终用户需要的应用就更接近了。这是一个可以大量节省应用开发商工作的平台。
我们再次用"分层"的观点来看应用系统的侧面。中间件是一个更基础、更底层的"复用",最通用,被"复用"的机会最大;通用的业务组件是在更高层上的"复用",由于应用范围受到限定,被"复用"的机会要少,但包含的"具体"的内容更多,更有针对性。把中间件和业务组件组合在一起而形成的"平台"复用的内容更多,更会减少应用开发商的工作量、缩短开发周期、提高交付应用产品的速度,并因而提高自己的竞争力。和商品化的中间件类似,商品化的"平台"必会有效地提升整个应用系统的可靠性、可扩展性、可维护和可管理性。"平台"是通用性与针对性的平衡。
为什么是"平台"?为什么不是"中间件"及"业务组件"?为什么把中间件和业务组件作为一个整体推出和使用?这和中间件的标准化、如何进一步地降低应用开发商掌握产品的难度以及开发和实施的复杂性问题及"业务组件"市场现状有关。整体上,中间件确实在一天一天地走向标准化,但不同厂商的同类中间件的差异也是事实上的,表现在API、系统的配置、运行与管理方式的多个方面。在中间件之上开发具有高可迁移性的"业务组件"当然是目标,但即使"业务组件"能够完全地跨不同厂家的中间件,也还有针对中间件的组件客户化配置、中间件的配置、运行和管理方面的麻烦。如果有"平台厂商"把"业务组件"和中间件集成在一起,必要的客户化、配置与部署、整个系统的统一的安装工作就可以由擅长此道的"平台厂商"来做。大量的中、小软件开发商还是期望这一便利的。单独销售"业务组件"目前还是有相当的难度,业务组件的价值也不容易体现。
包含中间件只是新平台软件的特征之一。新平台软件的业务组件,同以往不大讲究的业务组件集不同,更加注重对业务领域、业务功能的抽象、组件功能的通用性和通用、良好的操作接口的定义以及组件的文档化。在业务组件逐渐系统化、完备的过程中,把形成软件框架作为目标。软件框架有两类,包括应用框架和领域框架。和表面上的意思不同,应用框架是更加通用的、是跨领域、跨行业的,如Java中做GUI的Swing包。领域框架限定于特定的行业领域。系统化的"业务组件"的目标应该是形成应用框架或领域框架,或者两者的组合。业务组件层的框架化思想使业务组件层进一步地提高了可复用能力;而应用框架和领域框架的划分,可能是对业务组件层的进一步分层。如此,业务组件的可维护性、可扩展性和可靠性会更高。这也给软件厂商以更多的选择空间。
目前关注和投身到通用业务组件和应用平台开发上的IT厂商很多,未来几年还会更多。"平台"能否成功的关键是"业务组件"。"平?quot;会促进业务组件市场的形成。
中间件的这一异化是最值得关注的趋势之一。
平台带动服务产业
这里的平台专指我们关注的新平台。
我们在谈论平台时,曾经提到"平台厂商"。"平台厂商"可能是"平台服务商"和"业务组件服务商"。因为未来各种角色在市场上的情况应该是:业务组件开发商开发商品化的业务组件在市场上销售;业务组件服务商在市场上开展应用架构、基于应用组件和平台的应用开发与实施的顾问咨询、专业服务与培训工作,同时承担业务组件与中间件的集成或在中间件上的部署。应用开发商的角色主要是向平台这个骨架上添加满足最终客户的特定业务需求的程序或组件,即基于平台开发交付给最终用户的完整的应用。"平台服务商"是类似于"业务组件服务?quot;的角色,只是"平台服务商"对平台整体的关注更多。而在组件市场形成以前,会有很多的软件开发商把基于中间件开发的通用的业务组件和中间件打包集成在一起,作为"平台"自用或者交给第三方应用开发商使用。
平台必然会带动一个服务于业务组件的推广与实施、平台的推广与实施的服务市场。
结束语
新中间件种类会由于新的应用需求、新技术的出现、新的应用领域和人们新的着眼点不断地出现。在中间件外延的不断扩大的同时,特别是在通用业务组件被广为使用和组件市场形成过程中,将中间件与业务组件组合在一起的的平台软件会成为一种重要的软件形式。未来会有众多软件产品和服务厂商加入到推动平台软件应用的队列中,由此带动相关的服务产业的形成。