信息化 频道

构件应向中间件回归

  【IT168 信息化】有不少人认为:“构件”这个词是翻译工作的一大败笔!

  众所周知,翻译计算机术语是很难的,许多术语一直存在着广泛的争议。“构件”这个词也是如此,翻译过来的时候,到底是指“对象”,还是指“组件”,抑或是指“框架”呢?有时候似乎都可以指,有时候又似乎都不可以指,还有的时候,甚至和约定俗成的“中间件”相互混淆。所以说,从长远来看,很多人是不大赞成“构件”这种模糊的概念持续太久的。

  著名的Brown和Wallnau描述构件为“一个非平凡的、几乎独立的、可替换的系统组成部分,它在定义完善的体系结构环境中实现某一清晰的功能”。人们认同这个定义,并非是它定义了“构件”这种产品形态,而是将其作为一种开发思想来看待。可以说,作为一种技术框架,“构件”是软件史上最伟大的发明之一;但作为一种产品形态,构件自始至终是模糊的。这从Brown和Wallnau的定义中也可以看得出来(这个定义大量使用了“几乎”、“非平凡”、“清晰”等形容词,难以精确描述)。

  当然,这样说也许会损害一部分“构件”企业的利益,毕竟,这么多年他们都在推广这个东西,也有软件企业将其作为公司的发展方向;作为特定的产物,“构件”也的确解决大量用户的信息化问题;从现阶段来看,构件也不可能消亡,还有继续存在并延续的必要。但是,值得我们深思的是,“构件应向中间件回归”有一个更深层次的原因,那就是全球IT巨头利益纷争的问题。——IT产业的发展从来都是巨头们角力的结果。看看IBM,ORACLE,甚至是微软,他们谁还在鼓吹“构件”?现在他们一致把焦点放在“中间件”上,连“套件”都开始很少提及,此时,我们还指望谁去帮我们坚守“构件”?!

  中间件是构件的支撑和基础

  构件的存在某种程度上极大地依赖了构架技术,或环境、基础设施、计算平台,只有在适当的构架中,软件才有可能被抽象和隔离,最终成为构件。因此,单独讨论构件是抽象而空洞的。构架不是操作系统、数据库或网络协议,也不完全是应用,而是在某种特定意义上的构件运行容器,层次上界于应用和基础设施之间。

  中间件是构件的支撑和基础。那么,什么是中间件?我们最早知道的中间件是一个称为Tuxedo的东西,实质上它是一个交易中间件。1998年IDC公司对于中间件有一个定义,并根据用途将其划分为6个类别。如今所保留下来的只有消息中间件和交易中间件,其他的已经被逐步融合到其他产品中了,被包裹进去了,在市场上已经没有单独的产品形态出现了。例如,当时有一个叫屏幕数据转换的中间件,其主要是针对IBM大机终端而设计产品,用于将IBM大机终端的字符界面转化为用户所喜欢的图形界面,类似的东西当时都称为中间件。但随着IBM大机环境越来越少,盛行一时的此类中间件如今已经很少再被单独提及。

  中间件应该具备两个关键特征:首先要为上层的应用层服务,这是一个基本条件;此外,又必须连接到操作系统的层面,并却保持运行工作状态,具备了这样两个特征才能称为中间件。现在很多人把开发工具也称为中间件是不合适的,因为开发工具开发出来的软件,并不依赖开发工具与底层操作系统连接。

  这是国内最大的中间件厂商东方通对中间件的解释。在东方通科技的观念体系中,他们也一直认可并引用了“构件”的思想,并且为此提出了构件化的软件开发方法:通过把编程中一些常用功能进行封装,并规范统一接口,供其它程序调用,例如开发一个新软件,可能要用到构件1、构件2、构件3,那么,只要对其进行本地组装,就可以得到想要的应用软件。

0
相关文章