深蓝海域KMPRO

迎接软件产业的积木时代

2002-11-26 11:16

迎接软件产业的积木时代

薛斐

软件将会像今天的PC一样,DIY发烧友们可以随心所欲地攒出想要的东西。

“如果有一天,Microsoft和Sun握手言和了,软件平台差异所引起的信息鸿沟就填平了!” 有一位软件开发资深人士发出这样的感叹。因为他们每开发一个产品,都要同时编制Windows和Unix两种代码,这是不得不做的重复性劳动。

Windows和Unix就像是两个不同的王国。你在Windows王国之中开发了一种深受大众欢迎的汽车,你也知道它在Unix王国同样会卖得很好,可是你不能拿过去卖。原因很简单Windows国王会说:“在我这里跑的车,零部件的尺寸都必须是以英寸为单位”,而Unix国王会说:“不是以毫米为尺寸单位制造的车,不许进入我的王国。”这很滑稽,也很愚蠢,可却是现实。

事实上,IT世界中的王国岂止两个!硬件平台、操作系统、数据库乃至任何一个开发和运行环境的差异,都可能形成信息孤岛。

当这些孤岛中产生的信息不太多的时候,沟通的需求也不太迫切。在信息爆炸的时代,如果再没有畅通的沟通渠道,这些信息孤岛真的就要灰飞烟灭了。所幸的是,一种崭新的软件构架技术诞生了,而且,两个最大的软件王国在这里开始握手言和了,这就是Web服务(Web Service)!

有Web服务标签吗?

当你买电脑的时候,最先问的问题是CPU性能;而当你买软件的时候,先问什么呢?现在还没有这样的问题,但很快就会有了——你应该先问:“这个软件用了Web服务吗?”

软件是一种看不见、摸不着的东西,我们还是用汽车来做比喻。想像一下,你驾着自己的轿车准备去野营。在出城路上遇到一个朋友开着吉普车回来。你突发奇想,对他说:“把你吉普车的底盘借给我。”于是,你驾着一辆临时攒起来的车——你的轿车车厢加上刚从朋友那里借来的吉普车底盘——出城了。其实这很像是今天的台式PC,DIY发烧友们可以随心所欲攒出自己喜欢的电脑。不过,软件的结构和功能要求却复杂得多,所以,可以随心所欲进行组合搭配的软件技术还没有出现。但是,这样的软件技术已经呼之欲出了,这就是Web服务。

Web服务的价值在于利用Internet实现软件部件的实时组装。当你提出一个需求之后,软件部件立刻按照你的需求,通过Internet自动组装起来,完成你要求的任务。Web服务就是这样一种神奇的技术。可以说,Web服务预示着软件DIY时代的开始。

你不会是在写《西游记》后传吧!Web服务难道是孙猴子的金箍棒——想变什么就变什么!其实,Web服务是有现实基础的,这并不是一种夸张的描述。让我们来看看最近一段时间软件工程技术的演变过程:中间件→应用服务器→Web服务。

如果把企业应用软件比作一部汽车,中间件就像是构成汽车的各个部件。有了专业的汽车部件生产厂商,整车生产厂商的主要任务就是组装,而不必从钢铁冶炼和零部件加工开始。标准化的中间件软件与此有异曲同工之妙。

应用服务器向前迈进了一大步,就好像直接生产出带有发动机的汽车底盘。应用系统的开发、部署和管理过程就像是给汽车底盘上选装一些辅助部件,形成满足各种不同需求的专用整车,效率更高了,成本更低了。

如果多家厂商的零部件可以随意组合使用,既可通过大批量生产来降低成本,又为部件市场引入了竞争机制,新的产业格局就形成了。汽车部件的标准化使得汽车部件专业厂商可以独立存在,从而促进了整个汽车产业的大发展。类似的情况就要在软件产业发生了。

Web服务提供了一种软件部件生产和流通的技术和标准,可以认为是中间件之间接口技术的一次飞跃。运用这种技术,完全可以形成一种全新的软件产业格局,或者说是一种全新的产业链——软件部件生产商、软件成品组装商和用户。然而,真正呼风唤雨的,是这个全新格局的缔造者——软件部件开发平台厂商——Microsoft、Sun、IBM、HP和BEA。

什么被改变?

Web服务也被誉为Internet的第三次革命。第一次革命是E-mail,它改变了个人之间的通信方式;第二次革命是Web,改变了公众信息的传播方式;作为第三次革命的Web服务则会改变应用软件的生产和传播方式。

如今,中间件、应用服务器都已经形成比较成熟的市场,Web服务又是以此为基础的,所以有理由相信,这种技术盛行的日子不会太远了。业界普遍认同的预测是:6个月内有企业开始部署基于Web服务的应用系统,18个月之内可以看到Web服务的投资回报。

尽管许多用户还不明白Web服务究竟是什么东西,但这并不能构成Web服务迅速发展的阻力。著名中间件和应用服务器厂商BEA的CEO庄思浩指出:“Web服务主要是技术层面的问题,与最终用户没有多大关系,用户只会尝到由此带来的好处,并不需要为此做什么事情。”但是,既然Web服务对软件的能力具有如此重要的影响,用户就应该知道:自己买的软件是否采用了Web服务技术?就像我们关心自己买的PC是不是“Intel Inside”一样。

能为自己带来什么?

行业标准是商业利益争斗的产物。用户也许可以不关心,但行业内的企业和领导者则必须清楚:Web服务对自己意味着什么?

看上去,所有的软件巨头都摈弃前嫌,对Web服务倾注了极大的热忱,并在这里握手言和。仔细观察,就会发现其中还是存在着微妙的利益关系角逐。

Web服务这个说法早就有了,但是,当我们把它作为一种技术趋势来研究的时候,就会发现Web服务的定义本身就不太一致,其中的差异反映出不同市场领域的倾向性。

例如,当考察软件开发工具、中间件和商业智能(BI, Business Intelligence)产品市场的时候,你必须关注应用服务器、门户、内容管理、软件开发环境等因素,因此就必须关注Microsoft、 IBM、HP、Sun、Oracle、BEA等相关的厂商。实际上,极力推动Web服务市场的也正是这些基础架构软件厂商。以这些厂商的观点来看,Web服务是一种软件开发的协议(主要涉及SOAP、XML、UDDI等),由此可以把Internet及其各种表现形式(例如Web、Intranet和Extranet)变成一种可编程的信息沟通平台。目前,这仍然是最主流的Web服务定义,反映了W3C (World Wide Web Consortium, WWW联盟)的观点。这个定义在技术上具有比较清晰的界定。

但是,对于系统集成商、咨询商、增值代理商、应用提供商和独立软件提供商这些服务提供者来说,上述定义就显得过于苛刻,使Web服务成了难以到手的“酸葡萄”。因为他们多年前早就在使用“Web服务”这个名词了,尽管当时W3C还没有给出专业化的定义。即使在今天和以后,不少通过Internet提供服务的企业机构都会给自己贴上“Web服务”的标签,目的在于把它作为一种融资或者赢得用户的概念,并不强求遵从确定的技术规范。反过来,有些传统技术倾向的厂商则说:人们根本不需要专门提出“Web服务”这样一个概念,因为CORBA、COM、JINI、JNDI以及其他许多分布对象编程方法已经提供了类似的功能,已经可以实现基于Internet的软件开发和应用。

Web服务的定义来自不同的角度,似乎都是有道理的。从长远来看,这些不同的定义都是有现实意义的。为什么呢?

首先,服务提供商将会为企业解决方案提供咨询、规划、培训和支持,其中当然包括真正的Web服务技术的应用,所以它们为自己贴上Web服务的标签是可以理解的。

其次,电子商务平台的提供者以及ERP、CRM等厂商在适当的时候也会把Web服务引入到它们的软件产品之中。于是,它们也成了Web服务的提供者。

最后,在相互竞争的Web服务厂商之间也开始形成一致认可的Web服务定义并通过W3C这个机构确定下来。这里正是软件巨头们握手言和的地方。

现实的趋势是,人们将会利用“Web服务”这种技术“在Web上提供服务”,前者是专有的技术名词,后者是一种现实的结果。毋庸置疑,在严格意义上的“Web服务”出现之前,在Web上提供服务的机构已经很多了。所以,当有人向你提到“Web服务”的时候,你应该意识到,什么是技术意义上的、真正的Web服务。由此看来,首先提供严格技术意义上的Web服务的厂商将是那些基础架构软件和开发工具提供商。在此基础上,其他的应用软件提供商才可能推出真正的基于Web服务的应用系统。在Web服务“食物链”的最末端是企业用户,如果Web服务不能为他们带来现实的营业收入,最好不要奢望它们会采用这种技术。

软件企业的机会在哪儿?

面对Web服务为软件产业带来的“伊甸园”,每一个软件厂商都应该思考自己所处的独特地位,慎重选择自己的投资方向,以便能够从中分一杯羹。

这的确不那么容易——技术复杂,概念混乱,利益纷争,铺天盖地的媒体渲染,再加上成功与失败的案例,所有这些都会变成你眼前的万花筒,哪一朵是镜中花?哪一朵会结果?

作为IT人士,你是否会担心自己在Web服务面前落伍?如果你现在还不会用Web服务来开发软件,你是不是应该将你的计算机学位证书付之一炬,然后重新找一份工作?实际上,你不必诚惶诚恐。为什么呢?

首先,Web服务的商业价值仍然处于探讨之中。不过要注意,如果你的融资顾问已经认同了Web服务及其商业价值,你最好还是把自己装扮成一个这方面的行家里手。

其次,所有积极推进Web服务的厂商将会接踵而至,相关的研讨会、书籍和免费软件会让你应接不暇,所以你将有充分的时间和机会了解这种技术。

最有趣的是,你除了把有关Web服务的名词挂在嘴边之外,并不需要做太多的事情。Web服务将会是一种非常简便易用的技术和工具,即使对技术性最强的开发人员来说也不过如此。但是,如果你认识不到这种技术的价值,这将是一个方向性的大错误。

所以,专家的建议是:以感兴趣的姿态静观其变,如果有时间就学习一点关于Web服务的知识。Web服务在2002年将会在市场上产生一些值得注意的影响,预计到2003年将会形成一股狂潮。当然也不用担心Web服务在一夜之间把所有的软件技术赶出市场。也许有人会问:“Web服务将会取代Java吗?”这是一个非常天真的问题——传统软件技术是Web服务的基础。

——如果你是一个应用软件提供商,正在考虑自己的行业定位;

——如果你是一位CIO,正在考虑Web服务是否适用于自己企业;

——如果你是一位软件开发者,希望通过Web服务技术来提升自己的职业生涯;

——如果你是是一位CFO,正在寻求新的投资机会;

那么请从现在开始保持警觉,关注Web服务。

时势造就英雄?

企业应用集成是大势所趋。像所有的重大产业趋势一样,Web服务的兴衰离不开产业巨头的推波助澜。也许我们搞不清是“时势造英雄”,还是“英雄造时势”,但可以肯定地说:Web服务显然已经集时势和英雄于一身了。理清这些产业巨头之间的关系,对于把握趋势无疑是十分有益的。

最近,Web服务的发展格局,乃至下一时期软件产业的发展格局仍然扑朔迷离,IT业界的重要厂商无不在其中扮演着某种举足轻重的角色。

2月6日,一个致力于引导整个软件产业建立Web服务体系并保证其兼容性的新组织——WS-I(Web Services Interoperability Organization,Web服务互操作组织)宣布成立了,它将积极推进W3C已有或者即将制定的标准。这个组织的发起人包括IBM、Microsoft、BEA、Intel等重要的软件厂商,此外还有60多家软件厂商作为会员加入。

令整个业界大为吃惊的是,Java技术的拥有者Sun公司被排除在外,而Java是Web服务的技术基础。这无疑给普遍看好的Web服务蒙上了一层阴影,人们禁不住要感叹:“产业政治真的像乌云一样遮住了太阳(Sun)吗?”

3月11日,Sun公司一纸诉状把Microsoft告上法庭,指控Microsoft有违法行为,损害了Sun的Java平台。这已经不是两个软件巨头之间的第一场官司了,但这次发生在Web服务上,将会对软件产业的发展产生深刻的影响。据说,IBM、HP等其他厂商都曾极力促成双方握手言和,但看起来这个“梁子”是结定了。

Sun公司发言人Russell Castronovo透露,Sun曾经在WS-I宣布成立之前三个星期提出申请,希望成为发起者成员,但是没有得到回复。Microsoft和IBM 显然是在最后一分钟才向Sun发出邀请,而且可能对Sun在WS-I中的地位做出了模棱两可的承诺。Intel公司电子商务战略官员Chris Thomas则表示:“邀请Sun公司成为WS-I的发起者成员本来应该是顺理成章的事情”。许多观察家和软件开发资深人士认为,像WS-I这样一个重要的互操作性机构,如果没有Java技术的拥有者参加,简直是不可想像的。

见缝插针的记者免不了向Microsoft和IBM提出刁钻的问题:如果WS-I向它所标榜的那样,是一个非经济利益的团体,为什么Sun公司在考虑是否加入这个问题上只有不到72个小时的时间来做出决定?这种仓促之情令人难以理解!IBM官员Bob Sutor说:“我们在WS-I成立发布仪式前一周就开始与Sun接触。但仅仅是安排一次谈话,Sun就用了很长时间。我们只有这么多时间了”。Microsoft的.Net平台战略总监Neil Charney则说:“我们当然希望有更广泛的参与者。但是这次的情况表明,IT产业中的信任越来越少了。如今的环境要求人们快速决策,我们不得不尽快宣布WS-I的成立。”

对于Web服务的发展大局,以Microsoft和IBM为首的WS-I将会做出重要的贡献,在互操作协议、基于Internet的应用以及协调开发工具资源方面都具有积极意义,特别是对于推进跨平台软件应用来说更是一个好消息。但是,Sun公司被排除在外,这又增加了人们的疑虑。不少人都在祈祷——在WS-I的圆桌会议上尽快有一张椅子属于Sun,越快越好!

亮出你的绝招

让我们再来看看热衷于Web服务的主要厂商的所做所为。

IBM的成功法宝是WebSphere,由此把自己的J2EE应用服务器与MQSeries中间件有机地结合起来。

本来,HP是Web服务最早的领导者之一,很早就推出了自己的E-speak;2000年底收购了Bluestone,拥有了声誉很高的J2EE应用服务器Total-e-Server;最近推出并可免费下载的HP-AS 8.0 也许会在市场份额上有所建树。不过,世人瞩目的HP-Compaq合并却无法为HP软件业务做出贡献,因为Compaq的软件并不强。合并后的新公司在硬件平台上将会引人注目,而且两家公司都已经做出姿态,将会积极支持Microsoft.Net,那么HP自身的Web服务软件产品将会置于何地呢?

提起Microsoft .Net,IBM也会隐隐作痛,因为它既要支持.Net,又希望用户购买自己的WebSphere,这两者是直接竞争的。这样看来,纯粹的Web服务软件厂商BEA似乎比较痛快,它可以成为任何一家硬件平台厂商的合作伙伴。不过,它与Microsoft .Net和WebSphere的竞争也将进入白热化。你只要注意BEA与Intel、Sun的联盟,就会发现其中的微妙关系——BEA看中了Intel的IA架构,而把Microsoft.Net软件平台推得很远;看中了Sun的Solaris操作系统,而把iPlanet软件平台推得很远。

总体上看,现在已经比较清晰的脉络是:Web服务的主要标准将会形成两大阵营:.Net和Java,它们将会长期共存。一些IDE(集成开发环境)厂商,如Borland、Iona 和 Cape Clear将会在这两个世界之间架起桥梁,它们的开发平台将会同时支持.Net和J2EE。而BEA刚刚发布的Cajun开发平台将会坚定地站在J2EE一边,承诺让用户像使用Microsoft Visual Studio.NET一样方便,但可以为J2EE平台开发软件,号称“不懂Java就能开发J2EE软件”。BEA之所以做出这样的选择,是因为深信Microsoft平台虽然用起来很方便,但永远也不可能解决致命的稳定性和安全性问题,而J2EE为企业关键应用提供了安全稳定的运行平台,但开发难度比较大。

两大阵营的格局似乎再一次把选择的痛苦交给了用户。但是,Bill Gates对近期宣布成立的WS-I充满信心,相信这将在两大阵营之间架起互操作的桥梁。他甚至开玩笑地说:“所有的软件厂商都来了—除了那一家,这是令人愉快的事情。”最新的消息也表明,Sun很快也会加入WS-I。

切莫以为Web服务只是Microsfot、IBM、Sun、HP和BEA这些软件基础架构巨头们争权夺利的舞台。它们争斗的结果将会影响到无数软件开发厂商采用什么样的平台和技术,用户将会使用什么样的软件产品。如果说它们是软件产业食物链上的起点,那么软件开发厂商将是最重要的中间环节,而企业用户则是最末端。在整个食物链之中,最关心Web服务的应该是软件开发商。

不论是.Net还是Java,都不过是规定了一套软件生产的标准体系,IBM、HP、BEA以及Borland、Iona 和 Cape Clear等厂商则提供软件部件和组装的工具。真正的软件产品一是出自软件部件厂商之手,二是出自软件组装厂商之手。Web服务作为一种全新的技术,即将给软件生产方式带来一场革命,专业化的软件部件厂商和组装厂商即将应运而生。这是否也是我国软件产业的一次机会呢?

本文原载于计算机世界报
 

相关推荐