[摘要]电子商务的承上启下中间件 互联网周刊专稿试想,如果你的计算系统中包括了两种操作系统,三种数据库以及更多的开发工具,那么想要构建一个可以平滑运行并且还能不断随业务增长而扩展的应用必然是一项会耗费大量人力财力的繁杂工程,即使如此,很可能的是出现吃力不讨好的情况。为什么要中间件实际上,对于用户来说,随着...
电子商务的承上启下中间件
互联网周刊专稿
试想,如果你的计算系统中包括了两种操作系统,三种数据库以及更多的开发工具,那么想要构建一个可以平滑运行并且还能不断随业务增长而扩展的应用必然是一项会耗费大量人力财力的繁杂工程,即使如此,很可能的是出现吃力不讨好的情况。
为什么要中间件
实际上,对于用户来说,随着对各种旧有应用的不断扩充和新应用的不断增加,当企业IT部门面临诸如不同硬件平台、不同网络环境、不同数据库之间的互操作,多种应用模式并存,系统效率过低,传输不可靠,数据加密,开发周期过长等等这些问题时,如果单纯依赖传统的系统软件或工具软件提供的功能已经不能满足要求,用户所迫切需要的是一种简捷、屏蔽和疏通了复杂的基础技术细节,使企业的计算系统开发、部署与管理变得轻松和谐的企业应用新方式。于是,中间件开始IT应用中发挥其无可替代的承上启下作用。
由此我们想起了大工业生产方式所带来的一些有益的启示:人类社会的生产方式从19世纪的手工式单件生产进化到20世纪的大工业生产,其中关键的一步就是标准零部件的出现。功能再复杂的产品都是由大量现成的标准件装配而成,这就使得生产走向了规模化和分工协作的道路,并且,分工越细致、专业生产的程度越高,总体生产效率就越高。
说起来软件其实也是一种工业,软件构件化技术的发展就离不开大工业生产分工协作方式的启发,这也是软件技术跨世纪的一个发展趋势,其意义在于改变软件的生产方式,从个别生产发展到标准化分工协作,从而在根本上提高了软件生产的效率和质量,提高开发大型软件系统尤其是商用系统的成功率。
中间件正是构件化软件的一种表现形式。中间件抽象了典型的应用模式,应用软件制造者可以基于标准的中间件进行再开发,这种操作方式其实就是软件构件化的具体实现。中间件所带来的好处已经在数不清的IT应用中得到了体现。BEA是世界领先的中间件软件厂商,曾有一位BEA的客户从IBM平台迁移到Sun的平台,原来开发的200万行C语言代码仅仅花了3个小时就重新编译完成,没有遇到任何问题。如果没有中间件,这样的平台迁移,其工作量势必让人大伤脑筋。
什么是中间件
2000年5月的某一天,美国司法部勉强同意再多给微软60天的时间,来完成它提出的行为补救措施。这些行为补救措施将迫使微软改造其产品,销售没有所谓"中间件"的Windows操作系统。按照美国司法部的定义,"中间件"不仅包括互联网浏览器和汇流媒体应用程序,还包括任何一种微软的竞争对手称为"中间件"的应用程序。
我们且不去管微软到底有没有垄断,不过事实上,目前在Windows2000操作系统中的确已包含了中间件的部分功能,但Windows2000本身并不是中间件。那么中间件的含义如何界定呢?
中科院软件所研究员仲萃豪认为中间件(Middleware)是处于操作系统和应用程序之间的软件,"也有人认为它应该属于操作系统中的一部分。人们在使用中间件时,往往是一组中间件集成在一起,构成一个平台(包括开发平台和运行平台),但在这组中间件中必需要有一个通信中间件,因此,我同意这种定义:中间件=平台+通信。这个定义也限定了只有用于分布式系统中才能称为中间件,同时还可以把它与支撑软件和实用软件区分开来。"
中间件其实是一个非常新的概念,不过实践往往会走在理论的前面,有些软件在中间件的概念产生以前可能就已经存在了。此外,有些软件虽然不是作为中间件开发出来的,但是符合中间件的定义。目前国内外有不少厂商都号称是中间件技术的开发商和产品提供商,但他们对技术的阐述和产品功能的介绍却是千差万别,这就给中间件的分类带来了一定程度上的复杂性。按照IDC的分类方法,中间件可分为六类。
终端仿真/屏幕转换:用以实现客户机图形用户接口与已有的字符接口方式的服务器应用程序之间的互操作;
数据访问中间件:是为了建立数据应用资源互操作的模式,对异构环境下的数据库实现联接或文件系统实现联接的中间件;
远程过程调用中间件:通过这种远程过程调用机制,程序员编写客户方的应用,需要时可以调用位于远端服务器上的过程;
消息中间件:用来屏蔽掉各种平台及协议之间的特性,进行相互通信,实现应用程序之间的协同;
交易中间件:是在分布、异构环境下提供保证交易完整性和数据完整性的一种环境平台;
对象中间件:在分布、异构的网络计算环境中,可以将各种分布对象有机地结合在一起,完成系统的快速集成,实现对象重用。
市场的肯定
说起来可能会让那些虚张声势的互联网公司汗颜,1999年,Nasdaq股市上投资回报率最高的并非某些名声显赫的网站,而是全球最大的独立中间件厂商BEA公司,其股票升幅高达884.6%。时至今日,BEA的营业收入已连续18个季度保持高速增长。
中间件是软件技术发展的一种潮流,被誉为发展最快的软件品种,近年来势头强劲,当然,这也是源于市场在全球范围内对中间件的支持。毫无疑问,中间件正在成为软件行业新的技术与经济增长点。
国际数据集团(IDC)在日前发表的一份报告中预计今后五年中间件市场将快速成长。IDC预计全球中间件和商业软件收入将从1999年的27亿美元增长到2004年的近97亿美元,增长255%。据GlobalSight公司预计,全球电子商务市场到2001年将达到1.2万亿美元。ForresterResearch则估计,仅仅是BtoB电子商务,到2003年的年收入就将达到1.3万亿美元。而业内人士认为,未来基于Internet的电子商务业务将有79%建筑在中间件的基础之上。无疑,这将带来一个潜力巨大的市场。
在中国,有关数字同样让人兴奋,1998年中间件市场总值达12.34亿美元;1999年为17亿美元;预测到2004年将达到90.3亿美元,年增长率为39.7%,远远高于软件业的平均增长水平。
战略要冲的两个焦点
中间件应用的焦点之一就是电子商务,这要从电子商务的网络应用体系说起。
从网络环境来看,电子商务所强调的是在网络计算环境下的商业化应用,不仅仅是硬件和软件的结合,也不仅仅是电子交易,而是把买家、卖家、厂商和合作伙伴在因特网(Internet)、企业内部网(Intranet)和企业外部网(Extranet)结合起来的网络应用体系。
随着对企业各种现有应用的不断扩充和不断增加新的应用形式,IT部门需要满足越来越多的需求,尤其是对分布式网络应用的需求,诸如跨过不同硬件平台、不同的网络环境、不同的数据库系统之间互操作,新旧系统并存,系统效率过低,传输不可靠、数据需要加密,开发周期过长,维护不力等等,这些问题的解决只依赖传统的系统软件或Web工具软件已经很难满足要求,于是,作为电子商务网络应用体系的中间平台也就应运而生了。我们一般把电子商务应用服务器、通用业务网关、支付网关、通讯平台和安全平台,统一纳入电子商务中间件构架的范畴。
有一个数据可以说明电子商务与中间件的关系:1999年,BEA公司销售收入的54%来自于E-business。Internet以及电子商务可以说为中间件厂家带来了无限生机,BEA中国区市场总监沈惠中认为此中的原因是电子商务系统的实现离不开中间件,电子商务最重要的是如何能把自己的系统全部利用起来,并把重要的功能提供到网上。"比如你去百盛买东西,你在网上看见的百盛的网页其实非常简单,但最重要的是当你要买进货物时,前端的系统要跟仓库、送货系统等后台系统相连接,真正的交易是通过后台做的,而不是通过前台。中间件的真正作用是如何能保证交易的一致性,并把各个系统连接起来。"
实际上,除了BEA之外,像IBM、Oracle和Microsoft及Sun等大厂商也早已涉足电子商务中间件。今年六月,世界上第二大软件公司Oracle公司宣布:公司将进行战略性调整,调集其三分之一的资源:2000名程序员,进行企业电子商务系统的开发。而IBM凭借多年的开发经验和对市场敏锐的洞察力,在90年代及时调整了其产品策略,将中间件产品作为其今后开发的重点之重点,并推出了面向消息的中间件产品—MQSeries。目前,IBM则正在投入10亿英磅的资金改进其WebSphere网站开发工具,以期将之改造成一个完整的电子商务平台。对此,Giga信息集团的分析家认为,WebSphere将必然与BEA的的产品展开激烈竞争。
另外一个焦点也就是当前人们言所必及的无线应用。这是一个潜力巨大的未来市场,对此看好的各大厂商纷纷推出自己的无线版中间件产品,惟恐稍有落后。
IBM推出了支持无线设备的通信中间件MQSeriesEveryplace,日前,Oracle公司也正式发布了Oracle9i应用服务器无线版,这是一个专门针对通信公司、消费类门户、应用服务提供商(ASP)及相关公司开发和部署无线Internet内容及应用服务的全套中间件。而微软则也在悄悄地准备着自己通信中间件的无线版本。
标准之争
标准之争几乎是IT界的一个永恒的主题。
由于各大厂商都希望能够从中间件上获得尽量多的好处,同时中间件还是一项发展中的技术,作为基础的标准化工作仍在进行中,所以当前流行的来自不同厂家之间的中间件产品目前还很难实现互操作。在这里,争斗是难免的。
面向对象的中间件是对象技术和分布式计算发展的产物,业界普遍认为面向对象是今后中间件发展的主流方向,它提供一种通讯机制,透明地在异构的分布计算环境中传递对象请求,而这些对象可以位于本地或者远程机器。
面向对象标准原本只有一个,即CORBA(公共对象请求代理体系结构),该标准由包括BEA、IBM、Oracle、Sun和Sybase等公司在内的众多厂商一起制定,从而形成了一个庞大的CORBA联盟势力。后来,Sun推出了企业级JavaBeans(EJB),用自己易使用的程序模型来对CORBA做出了改进。微软COM(ComponentObjectModel,组件对象模型)的出现,使面向对象中间件市场里又多了一个标准,这样,面向对象中间件产品实际上形成了两大标准,一是微软的COM,一是JavaBeans。
业内有一种观点认为,微软的COM标准,自然会占领桌面产品,不过现在Internet与企业级环境都是异构环境,COM是专有系统,不是一个被业界广泛接受的标准,因此企业级应用则很可能遵循CORBA及其兼容标准。那么,从一个桌面应用程序,比如Windows的Excel通过中间件访问DB2数据库,也许就会有问题。类似这样的问题很有不少,看来,在不同中间件标准之间互通仍需时日,也许有人不免要问,难道中间件之间还需要中间件?
不过有消息称,微软已开始以出售自己源代码的方式来与CORBA中间件厂商合作。实际上,现在很多CORBA厂商都开始提供一种让COM及CORBA能够互操作的能力。例如,BEA去年7月份发布的M3第一个版本已经开始支持COM,但也同时支持企业级的JavaBeans规格,还带有可扩展的基于CORBA的面向对象的引擎。
那么未来,在面向对象中间件市场上,哪一种标准会占上风,或者将怎样进行融合呢?BEA公司认为,未来COM与CORBA将共存,搭桥形式将普遍实现。而微软很可能不希望这样。
国内的契机和作为
2000年4月21日,中国软件行业协会在京举办“中间件技术与发展战略高级研讨会”。来自信息产业部、科技部、中国建设银行以及软件行业的专家和领导,针对中间件技术的应用现状和趋势,探讨了以中间件为突破口,推动中国软件产业进入大规模市场化的问题。
2000年6月,东方通科技有限公司率先推出国内第一个企业级的网络商务中间件平台TongWeb,为国内企业开展电子商务提供动力引擎。而实际上,东方通多年来在这一领域已经做了大量开拓性工作。几年来,东方通科技的消息中间件TongLINK/Q、交易中间件TongEASY等中间件产品在全国450多个大型关键业务系统得到使用,获得了装机量超过45,000套的业绩,在国内市场形成了与IBM、BEA三分天下的格局。其实,正是东方通的成绩为我国的软件产业增强了在系统级软件有所作为的信心。
2000年7月底,金蝶公司又宣布投入巨资成立以中间件产品研发及销售为主营业务的Apusic软件公司,进军中间件市场。目前其首推产品是基于J2EE技术的Web-Enabled应用服务器,它实现了EJB、HTTPSERVLET、SSL加密及XML解析器等J2EE核心技术,是第一个具有自主知识产权、完全用Java开发的J2EE中间件产品,适用于独立软件开发商、系统集成商和电子商务公司。金蝶公司有关人士表示,Apusic将力争在5年内成为以中间件产品为主营业务的上市公司。
此外,国防科技大学和中科院软件所在中间件方面的工作也是卓有成效。
民族软件产业在中间件领域的作为让业界感到了振奋,一种声音认为,中间件市场的发展,将为民族软件产业切入战略性、基础性及关键性软件领域提供一次最现实的机遇。
首先是相对于操作系统等大型系统级软件而言,中间件产品并非专有系统,在技术上与国际标准及规范接轨,这一点对于我们这样一个软件人员资源丰厚的国家比较有利。
其次,我们在这一领域的起步时间和国外厂商相差并不远。
此外,与应用软件相比,中间件产品没有太多的地域色彩,因此也更容易打入国际市场,为民族软件产业赢得更大的生存空间。而民族软件产业凭借全球化的市场规模,则能够铸造出世界级的软件公司。事实上,国内有一些志向远大的软件公司比如上海艾科软件就已经基本明确了进军美国市场的时间表。
中间件让中国IT产业感到振奋的另一个原因是,它为解决中国的信息安全问题提供了一种可能的方法。众所周知,计算机硬件和操作系统的“后门”问题是所有加密软件、身份认证、防火墙都控制不了的。目前我们使用的计算机多数来自外国,芯片、操作系统更是100%被外国垄断。技术上受制于人,这是我们对我国计算机应用系统安全的最大担忧,于是我国一直在进行国产操作系统和安全产品以及芯片的研制工作,不过短期内难有突破性成果。那么如何在采用国外先进系统软件的同时,又在一定程度上保护国家的信息安全呢?中间件产品或许堪当其任。
处于操作系统软件与用户应用软件中间的中间件,相当于一个过滤层,所有的数据进出都要通过这个过滤层。中间件是否可靠,将关系到所有数据是否安全,而把住中间件这一关,也可能将来自后门的攻击拒之门外。中国软件行业协会会长杨天行教授认为,“开发自主知识产权的中间件产品,将为我们提供信息应用的安全保障。尤其是国外中间件厂商在这一领域目前还未形成垄断局面。国内软件业应本着有所为有所不为的方针,以有限的资源尽早实现有限目标的重点突破。”
中间件不能承载之重
虽然说中间件为我国的软件产业提供了一个绝佳的发展机遇,但机遇只对有准备的人起作用。联想到我国软件产业的现状,情况并非十分乐观。
首先,一个好的中间件产品要能解决应用互连带来的各种问题的,不过,针对不同的应用领域,对中间件又有各种不同的要求。由于实际的应用环境千差万别,不可能有一种十全十美的中间件会解决所有的问题。因此,我们必须有足够的投入来支持这一领域的全面发展。
其次,中间件毕竟是要在硬件平台、操作系统和网络环境上做事的,这就决定了你的软件产业还是要跟在别人后面跑,我国软件产业的形势并没有根本改变。
此外,中间件的研发工作牵涉到对于应用系统、数据库、网络、硬件平台甚至前端等方方面面的了解,而国内软件业目前还是缺乏具备总体设计能力的人才,这将在一定程度上制约中间件产品的持续腾飞。
现在仿佛中间件已经被赋予了中国软件产业太多的责任和希望,但是以我们并不强壮的身躯,成功还是要一步步去造就。中间件是一个契机,但绝不是中国软件产业的救命稻草。
……