软件世界:打碎中间件


 2008-06-24 00:00:00       748

打碎中间件

“什么是中间件呢?”100个人可能会有100个答案,就像名著《浮士德》,每个读者心中都会有一个自己的浮士德形象。中间件就是这样一个被泛化了的概念,外延的无限扩大正在使中间件一词丧失基本的认同感。

在中国,2005年之后中间件概念的热度突然降了下来,很少有厂商还在拿中间件一词往自己脸上贴金,而是一窝蜂地开始热炒SOA。

在这种现象背后,我们感到了中间件来自两个方面的压力,一是中间件形态的快速演变正在使传统的概念丧失意义;另外就是新的技术潮流正在使中间件变得过时。

古代哲学家公孙龙的正名学说提倡“审其名实,慎其所谓”,正是要求对事物进行“不过”、“不旷”的指称。中间件要找准定位可能首先要做的就是正其名,不过正所谓不破不立,首先要做的就是把旧概念打破。当然纠缠于名词是毫无意义的,我们关心的其实是它背后的产业的演变。

IDC对中间件的表述是:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。

从这个定义中我们能看出中间件承担的两大任务,解决分布式通信和细化软件分层。“中间件是两种技术的融合,一种技术就是用来解决分布式计算的通信问题,一种是用来进行大规模系统开发。”IONA的首席技术官Annrai O’Tooles说。

正是这两种能力赋予了中间件巨大的力量。“操作系统、数据库都解决的是单点的应用,而在网络时代,个体应用的价值是有限的,只有将所有的计算资源连接在一起,事情才会有意义,才会爆发出巨大的潜力。而连接网络上的计算资源正是中间件的特长所在,所以未来中间件将会扮演越来越重要的角色。”东方通首席架构师朱律伟说。

另一方面,中间件的出现推动了软件产业分工的进一步发展,使得应用系统的开发更加方便、快捷。金蝶中间件总经理蔡军说,对于应用软件开放商来说,中间件帮助他们屏蔽了底层的技术问题,使他们可以把更多的精力放在关注用户业务上面,从而在客户业务迅速变化,市场竞争不断激烈的环境中保持核心竞争力。

“成也萧何败也萧何”,解决分布式通信和细化软件分层既造就了中间件,同时这两个领域的演变也势必摧毁传统意义上的中间件。

“当前技术发展的大势就是把互联网和企业应用真正融为一体,但是在web环境下就不再简单地是分布式的问题了。所以中间件的使命也可以说完成了,因此现在大家也不再叫中间件了。”中和威总经理王志伟说。他认为对于当前SOA时代,中间件就被ESB取代,而在未来还会继续演变。

另外,软件产业的快速发展使得分工越来越细,而中间件也开始分化,不仅上下扩展,应用领域也越来越广。蔡军认为当前软件的效率不高,不容易控制就是和分工不够细有关,软件产业从诞生以来一直在不断裂变,不断专业化分工,中间件的出现向前迈了一大步,但是还不会停止,中间件还会继续裂变。

中间件就是个技术术语吗?

曾几何时,中间件是个纯粹的技术术语,但是现在重新审视市场上的中间件产品,你会发现其中的业务模块在逐渐增多,同时越来越多的厂商开始致力于业务中间件的发展。而这正是软件产业不断细分的必然结果,它使得上层应用的开发更加方便快捷。

关于业务中间件,蔡军认为随着中间件产业的发展,可以把中间件划分为两种,靠近底层操作系统的系统中间件和其上的业务中间件,其中业务中间件是对复杂多变的业务需求进行抽象的产物。

中创软件商用中间件公司总经理刘江宁认为,在上层,基于中间件的应用框架产品将得到极大丰富,例如面向金融的数据中心平台、电信业务运行支撑平台、电子政务信息交换平台、电子商务供应链管理平台等应用框架型领域中间件将不断丰富完善。

业务中间件的构建和服务模块的抽取有异曲同工之妙,SOA的根本是实现业务价值,因此从业务中提取出稳定的服务,实现灵活的组装成为SOA的关键。蔡军说:“SOA的关键是服务粒度的确定,既要保证灵活性又能实现稳定。”相信而业务中间件的发展也必将推动SOA的应用。

“中间件向应用方向延伸是大势所趋,否则现在中间件承担的功能相对比较少,很容易被挤压。”蔡军说,“中间件不断向上拓展将削薄应用的空间,未来可能只需要实施人员和咨询人员只需要简单配置就能完成应用系统的开发。”

对于这个趋势,Annrai O’Tooles也持有相同的观点,他认为,中间件未来发展的重点会在易用性上,而这又分为两个方面:易于开发和易于部署,后者会更加重要。“未来的应用是配置出来的,而不是开发出来的。”Annrai O’Tooles说。通过配置而不是复杂的二次开发来完成应用的部署是软件发展的未来,这也对业务中间件提出了迫切的要求。

对于业界来说,向应用拓展,发展业务中间件已经开始慢慢兴起。普元副总裁程朝晖告诉记者,普元也正在往上走,例如普元发现所有的应用系统都必须考虑组织机构的因素,于是就抽象出组织机构和权限管理的模块,这样应用系统在这方面就可以直接基于这个模块来开发了。

而专注于BPM的炎黄盈动更是把自己定位于业务中间件厂商,炎黄盈动总经理刘金柱认为,BPM所处理的流程天生就是和业务密切相关的,BPM不过是把这些与流程相关的问题共性抽象了出来。

不过蔡军也指出,相比于系统中间件,业务中间件的难度更大一些,这么多年整个业界在这方面进展也非常缓慢。因为从复杂、多变的业务中抽象出共同的东西,把握好个性化和产品化的矛盾,是一个非常巨大的挑战。

“把握客户需求的能力是一个挑战,怎么做不难,难的是要做什么。”程朝晖说。

当然向应用渗透,发展业务中间件,并不意味着要中间件厂商要做最终的应用,对于中间件厂商来说还是要明确自己的定位,提供平台,面向开发商和集成商的策略是不变的。“你必须明白中间件什么都做不了,这样才有价值。”炎黄盈动总经理刘金柱说,他认为这需要中间件厂商把握好度,要有一个明确的、持久的产品战略规划和执行力。

向应用渗透使得业务中间件的行业化特点也日趋明显,虽然不同的行业有很多共性的需求,但是必定会存在很多特殊性,因此有针对性的中间件解决方案对于行业用户来说将会更加有吸引力。“业务中间件的难度在于对行业的理解,它的设计人员必须是行业专家。”东方易维董事长王昕告诉记者他们的业务中间件都会有很强的行业偏向。

IBM的中间件产品早已迈出了这一步,从2004年1月IBM软件集团宣布战略转型开始,IBM软件集团就已开始在全球发布行业中间件解决方案,已经有面向12个行业62个打包的解决方案已经全部出台,这12个行业包括了金融、银行、保险、零售、医疗卫生、生命科学、电信、电子、汽车、消费品、能源与公用事业和政府机构。

关于中间件的行业化发展特点,东方通首席架构师朱律伟提出了另外一种视角,他认为中间件厂商对行业的深入理解不仅有助于完善产品,同时提供的咨询服务也会帮助自己通用的中间件产品在这个行业中推广。“对业务的深入理解有助于我们和合作伙伴一起为最终的客户提供优秀的解决方案,同时客户并不关心你的中间件产品,你需要通过你对业务的了解来打动他。”朱律伟说,“就像一个优秀的吸尘器推销员,他敲开你的门后,不会直接向你销售他的产品,而是借口讨水喝,然后和你聊天,在聊天中根据你的房间状况来谈地面的清洁问题,最后才会向你介绍他的吸尘器。”

另外业务中间件本身的特点决定了它对于开发平台的需要。“我们的开发工具都不赚钱的,但是它使中间件的使用降低了成本,简化了复杂的学习过程,这有助于中间件的推广和整个生态链的监视。”蔡军说,他认为对于业务中间件厂商来说,需要实现两个方面的价值,客户端稳定运行的价值,只是运行环境的工作,还有就是开发期快速稳定的价值,这就是开发工具的作用。

越来越厚的中间件

传统上,人们仅仅把诸如BEA Tuxedo、IBM MQ等用于交易处理、消息传递的软件看成中间件。后来随着互联网的兴盛,诞生了应用服务器的中间件,并迅速流行。时至今日,业界已经广泛地认同了中间件从“薄”变“厚”的趋势。

BEA公司中国区技术总监喻思成认为,今天人们所说的中间件本身涵盖的范围已经越来越大,原来纯粹是交易、消息和J2EE的Web中间件,现在已经扩展到包括EAI、门户、数据内容整合等更大的中间件范畴。这些层次的中间件分别提供不同的功能来支持应用的开发和部署。

另外各个领域的软件的不断成熟,中间件开始出现在不同的应用环境中,例如嵌入式中间件、呼叫中心中间件、RFID中间件等等。而在行业应用上,中间件也开始从电信、金融、政府行业渗透到各行各业中,交通、能源、医疗、零售、汽车等行业的中间件也开始兴起。

伴随着中间件应用范围的增大,中间件也开始向平台化方向发展。各个中间件厂商在发展过程中,逐渐抛弃了一个个中间件产品单打独斗的方式,而是把所有的产品都集成在一个统一的平台上,以一个整体的,并且各个模块可以灵活拆卸的形式展现在用户面前。同时平台概念的诞生也进一步促使了中间件厂商向此领域内进行更大范围的扩张,从而向用户提供更加方便的、一站式的支持。

平台化同时也是Annrai提出的中间件将不断易于开发方面发展的必然结果,随着模块的不断增多,用户在应用开发过程中所需的编程工作也会越来越少,因为大多的功能都可以通过丰富的中间件模块来完成。同时用户又可以根据自己的需求灵活地选择相应的模块。相信在整个中间件产业不断整合、优化的潮流下,平台化将会走的更加深入,各个模块将更加细分和丰富。

计世资讯200年时曾提出“平台=中间件+业务组件”,认为“平台”中包含中间件,并在中间件之上有一层和应用有关联的“业务组件”,以进一步简化应用系统的开发。"

针对这一趋势,Gartner很早就提出了应用平台套件(APS)的概念,APS是由足以全面支撑现代电子商务应用的基本的软件架构产品组成,一般包括了企业应用服务器、门户产品和企业应用集成包。并且表明阐明APS可以为一个组织在跨应用程序生命周期方面节省高达22%的产品上市时间,对代价不菲的开发人员和架构师的使用则可节省50%。

IBM的WebSphere和BEA的Weblogic作为一个大而全的平台,几乎能够解决企业面临的所有底层问题。而SAP作为一个管理软件厂商,更是花费数年心血不断打造NetWeaver平台,以及甲骨文针对此推出的Fusion计划,平台能力已经成为了厂商竞争的焦点。

底线在哪里?

“如果说中间件只是操作系统和应用之间的那一层,那么RFID中间件和IPTV中间件又该怎么说?”清华同方CTO周洪波这样问记者,他认为传统的中间件只关注于企业信息系统的建设,而没有考虑到更广阔的天地,例如家庭娱乐、智能楼宇等。

因此周洪波认为中间件是在数据库之上和应用之下的部分,实际上这正是中间件不断上下拓展的结果,在一些领域中间件甚至直接和硬件相接。虽然按照IDC关于中间件的表述,“中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。”但是就中间件和底层的系统软件(包括操作系统、网络管理系统、数据库、内容管理系统等)之间的关系,一直是中间件发展过程中正不断突破的界限。

“实际上很难定义操作系统和中间件的区别,很多时候做的都是同样的事情,只不过抽象的层次不同。因此可以说中间件正在向操作系统不断的施加压力,以使其做的更好。现在看来需要和操作系统配合才能做的事情,最后可能完全会由中间件完成。我想他们最终会重合在一起的,不过可能需要一段时间罢了。”纽约大学的教授Doug Lea说。

中创软件商用中间件公司总经理刘江宁也认为在底层,中间件产品将进一步融合操作系统、数据库管理系统和其它资源管理平台(如元数据管理、目录管理、内容管理)的功能,形成一层厚实的基础软件。

虚拟化技术现在正在朝这一步迈进,2006年,IDC就预测在服务器上安装预装操作系统的企业将会下降,因为客户都选择在服务器上预装虚拟化的系统管理程序来替代操作系统。Gartner更是预测Vista将是微软最后一个“集成化”Windows操作系统,未来的Windows将进入“虚拟模块化”时代。Gartner认为,虚拟化技术的发展使得微软不得不将Windows过渡至以硬件支持为基础的虚拟模块化架构。

相关阅读: