“什么是中间件呢100个人可能会有100个答案,就像名著《浮士德》,每个读者心中都有一个自己的浮士德形象。中间件就是这样一个被泛化了的概念,外延的无限扩大正在使中间件一词丧失基本的认同感。
在中国,2005年之后中间件概念的热度突然降了下来,很少有厂商再拿中间件一词往自己脸上贴金,而是一窝蜂地开始热炒SOA。在这种现象背后,我们感到了中间件来自两个方面的压力,一是中间件形态的快速演变正在使传统的概念丧失意义;另外就是新的技术潮流正在使中间件概念变得过时。
古代哲学家公孙龙的正名学说提倡“审其名实,慎其所谓”,正是要求对事物进行“不过”、“不旷”的指称。中间件要找准定位可能首先要做的就是正其名,不过正所谓不破不立,首先要做的就是把旧概念打破。当然纠缠于名词是毫无意义的,我们关心的是它背后的产业演变。
IDC对中间件的表述是:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和 络通信。
从这个定义中我们能看出中间件承担的两大任务,解决分布式通信和细化软件分层。“中间件是两种技术的融合,一种技术就是用来解决分布式计算的通信问题,一种是用来进行大规模系统开发。”IONA的首席技术官Annrai O’Tooles说。
正是这两种能力赋予了中间件巨大的力量。“操作系统、数据库都解决的是单点的应用,而在 络时代,个体应用的价值是有限的,只有将所有的计算资源连接在一起,事情才会有意义,并且会爆发出巨大的潜力。而连接 络上的计算资源正是中间件的特长所在,所以未来中间件将会扮演越来越重要的角色。”东方通首席架构师朱律玮说。
另一方面,中间件的出现推动了软件产业分工的进一步发展,使得应用系统的开发更加方便、快捷。金蝶中间件总经理蔡军认为,对于应用软件开发商来说,中间件帮助他们屏蔽了底层的技术问题,使他们可以把更多的精力放在关注用户业务上面,从而在客户业务迅速变化,市场竞争不断激烈的环境中保持核心竞争力。
“成也萧何败也萧何”,解决分布式通信和细化软件分层既造就了中间件,同时这两个领域的演变也势必摧毁传统意义上的中间件。
“当前技术发展的大势就是把互联 和企业应用真正融为一体,但是在Web环境下就不再简单地是分布式的问题了。所以中间件的使命也可以说完成了,因此现在大家也不再叫中间件了。”中和威总经理王志伟说。他认为对于当前SOA时代,中间件被ESB取代,而在未来还会继续演变。
另外,软件产业的快速发展使得分工越来越细,而中间件也开始分化,不仅上下扩展,应用领域也越来越广。蔡军认为当前软件的效率不高,不容易控制就是和分工不够细有关,软件产业从诞生以来一直在不断裂变,不断专业化分工,中间件的出现向前迈了一大步,但是还不会停止,中间件还会继续裂变。
仅是技术术语吗
曾几何时,中间件是个纯粹的技术术语,但是现在重新审视市场上的中间件产品,你会发现其中的业务模块在逐渐增多,同时越来越多的厂商开始致力于业务中间件的发展。而这正是软件产业不断细分的必然结果,它使得上层应用的开发更加方便快捷。
关于业务中间件,蔡军认为可以把中间件划分为两种,靠近底层操作系统的系统中间件和其上的业务中间件,其中业务中间件是对复杂多变的业务需求进行抽象的产物。
中创软件商用中间件公司总经理刘江宁认为,未来基于中间件的应用框架产品将得到极大丰富,例如面向金融的数据中心平台、电信业务运行支撑平台、电子政务信息交换平台、电子商务供应链管理平台等应用框架型领域,中间件将不断丰富完善。
“中间件向应用方向延伸是大势所趋,否则现在中间件承担的功能相对比较少,很容易被挤压。”蔡军说,“而中间件不断向上拓展将削薄应用的空间,未来可能只需要实施人员和咨询人员简单配置就能完成应用系统的开发。”
对于这个趋势,Annrai O’Tooles也持有相同的观点,他认为,中间件未来发展的重点会在易用性上,而这又分为两个方面:易于开发和易于部署,后者会更加重要。“未来的应用是配置出来的,而不是开发出来的。”Annrai O’Tooles说。通过配置而不是复杂的二次开发来完成应用的部署是软件发展的未来,这也对业务中间件提出了迫切的要求。
而专注于BPM的炎黄盈动更是把自己定位于业务中间件厂商,炎黄盈动总经理刘金柱认为,BPM所处理的流程天生就是和业务密切相关的,BPM不过是把这些与流程相关的问题共性抽象了出来。
蔡军指出,相比于系统中间件,业务中间件的难度更大一些,这么多年整个业界在这方面进展也非常缓慢。因为从复杂、多变的业务中抽象出共同的东西,把握好个性化和产品化的矛盾,是一个非常巨大的挑战。
当然向应用渗透,发展业务中间件,并不意味着要中间件厂商要做最终的应用,对于中间件厂商来说还是要明确自己的定位,提供平台,面向开发商和集成商的策略是不变的。“你必须非常明确领域中间件的有所为和有所不为,做到恰到好处时,产品和市场就成功了一半。”炎黄盈动总经理刘金柱认为这需要中间件厂商把握好度,要有一个明确的、持久的产品战略规划和执行力。
IBM的中间件产品早已迈出了这一步,从2004年1月IBM软件集团宣布战略转型开始,IBM软件集团就已开始在全球发布行业中间件解决方案,已经有面向12个行业62个打包的解决方案出台。
关于中间件的行业化发展特点,东方通首席架构师朱律玮提出了另外一种视角,他认为中间件厂商对行业的深入理解不仅有助于完善产品,同时提供的咨询服务也会帮助自己通用的中间件产品在这个行业中推广。“对业务的深入理解有助于我们和合作伙伴一起为最终的客户提供优秀的解决方案,同时客户并不关心中间件产品,需要通过对业务的了解来打动他。”朱律玮说,“就像一个优秀的吸尘器推销员,他敲开你的门后,不会直接向你销售他的产品,而是借口讨水喝,然后和你聊天,在聊天中根据你的房间状况来谈地面的清洁问题,最后才会向你介绍他的吸尘器。”
另外,业务中间件本身的特点也决定了它对开发平台的需要。“我们的开发工具都不赚钱的,但是它使中间件的使用成本降低了,简化了复杂的学习过程,这有助于中间件的推广和整个生态链的建设。”蔡军说,他认为对于业务中间件厂商来说,需要实现两个方面的价值,客户端稳定运行的价值,这是运行环境的工作,还有就是开发期快速稳定的价值,这就是开发工具的作用。
越来越厚
传统上,人们仅仅把诸如BEA Tuxedo、IBM MQ等用于交易处理、消息传递的软件看成中间件。后来随着互联 的兴盛,诞生了应用服务器的中间件,并迅速流行。时至今日,业界已经广泛地认同了中间件从“薄”变“厚”的趋势。
BEA公司中国区技术总监喻思成认为,今天人们所说的中间件本身涵盖的范围已经越来越大,原来纯粹是交易、消息和J2EE的Web中间件,现在已经扩展到包括EAI、门户、数据内容整合等更大的中间件范畴。这些层次的中间件分别提供不同的功能来支持应用的开发和部署。
随着各个领域的IT应用的不断成熟,中间件开始出现在不同的应用环境中,例如嵌入式中间件、呼叫中心中间件、RFID中间件等等。而在行业应用上,中间件也开始从电信、金融、政府行业渗透到各行各业中,交通、能源、医疗、零售、汽车等行业的中间件也开始兴起。
伴随着中间件应用范围的增大,中间件也开始向平台化方向发展。各个中间件厂商在发展过程中,逐渐抛弃了一个个中间件产品单打独斗的方式,而是把所有的产品都集成在一个统一的平台上,以一个整体的,并且各个模块可以灵活拆卸的形式展现在用户面前。同时平台概念的诞生也进一步促使了中间件厂商向此领域内进行更大范围的扩张,从而向用户提供更加方便的、一站式的支持。
平台化同时也是中间件向易用性方面发展的必然结果,随着模块的不断增多,用户在应用开发过程中所需的编程工作也会越来越少,因为大多的功能都可以通过丰富的中间件模块来完成。同时用户又可以根据自己的需求灵活地选择相应的模块。在整个中间件产业不断整合、优化的潮流下,平台化将会走的更加深入,各个模块也将更加细分和丰富。
计世资讯2004年时曾提出“平台=中间件+业务组件”,认为平台中包含中间件,并在中间件之上有一层和应用有关联的业务组件,以进一步简化应用系统的开发。
针对这一趋势,Gartner很早就提出了应用平台套件(APS)的概念,APS是由足以全面支撑现代电子商务应用的基本的软件架构产品组成,一般包括了企业应用服务器、门户产品和企业应用集成包。并且阐明APS可以为一个组织在跨应用程序生命周期方面节省高达22%的产品上市时间,对代价不菲的开发人员和架构师的使用,人力成本则可节省50%。
不仅中间件厂商在向平台化方向发展,应用软件厂商也在打造自己的基础平台。SAP作为一个管理软件厂商,花费数年心血完善NetWeaver平台,用友推出的U9更是 称全球第一款基于SOA架构的商业应用套件。
底线在哪里
因此周洪波认为中间件是在数据库之上和应用之下的部分,实际上这正是中间件不断上下拓展的结果,在一些领域,中间件甚至直接和硬件相接。虽然按照IDC关于中间件的表述,“中间件位于客户机服务器的操作系统之上。”但是就中间件和底层的系统软件(包括操作系统、 络管理系统、数据库、内容管理系统等)之间的关系,一直是中间件发展过程中正不断突破的界限。
“实际上很难定义操作系统和中间件的区别,很多时候做的都是同样的事情,只不过抽象的层次不同。因此可以说中间件正在向操作系统不断的施加压力,以使其做得更好。现在看来需要和操作系统配合才能做的事情,最后可能完全会由中间件完成。我想他们最终会重合在一起的,不过可能需要一段时间罢了。”纽约大学的教授Doug Lea说。
刘江宁也认为在底层,中间件产品将进一步融合操作系统、数据库管理系统和其它资源管理平台(如元数据管理、目录管理、内容管理)的功能,形成一层厚实的基础软件。
而虚拟化技术现在正在朝这一步迈进,2006年,IDC就预测在服务器上安装预装操作系统的企业将会下降,因为客户都选择在服务器上预装虚拟化的系统管理程序来替代操作系统。Gartner更是预测虚拟化技术的发展使得微软不得不将Windows过渡至以硬件支持为基础的虚拟模块化架构。
最早的中间件
最早具有中间件技术思想及功能的软件是IBM的CICS,但由于CICS不是分布式环境的产物,因此人们一般把Tuxedo作为第一个严格意义上的中间件产品。
Tuxedo是1984年在当时属于AT&&T的贝尔实验室开发完成的,但由于分布式处理当时并没有在商业应用上获得像今天一样的成功,Tuxedo在很长一段时期里只是实验室产品,后来被Novell收购,在经过Novell并不成功的商业推广之后,1995年被现在的BEA公司收购。
文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树首页概览8723 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!