翻译] Web服务的过去、现状和展望(上部)part2

老刀IBM 2002-10-10 11:31:39
Web Services的过去、现状和展望 (上部) part2

原文出处: http://webservices.org/article/articleprint/663/-1/24/
原文标题: The Past, Present and Future of Web Services, part 1
作者:Uche Ogbuji 原文发表日期:2002年9月28日
翻译者:陈剑(jchen@263.net) 译文发表日期:2002年10月10日

版权申明:
本文的英文版版权归原文作者Uche Ogbuji和WebServices.org所有
本文的中文翻译版版权归陈剑所有
未经版权人允许,禁止将本文用于任何商业性质的场合。

***** 欢迎转载,但请保持本文的完整性 *****

Note: 需要本文PDF版本的朋友,请通过jchen@263.net和我联系。


[Web services横空出世]

HP在其高端的UNIX平台上直接迈出了由小型机分布式计算时代进入现代Web Services的令人瞩目的一步。从90年代早期到中期,HP的实验室开始着手研究如何解决分布式系统的技术和成本的难题。HP的研究成果被其称为e-Speak,于1999年下半年正式推出。e-Speak致力于解决上节末尾列出的绝大多数需求,也许是业界的第一个Web Services技术,当然也是第一个商业性Web Services技术。e-Speak使用HTTP这样的通用协议,数据的表示采用的是XML,并且将各种联网系统看成能够快速插接数据流的“电子服务”("e-services")。不幸的是,e-Speak的理念比目前的Web Services技术内聚性更强 ,HP最近决定淡化e-Speak,转而支持更主流的Web Services。


UserLand社团也试图使用HTTP和XML技术来满足上述需求。UserLand的Dave Winer领导了XML-RPC的开发工作。XML-RPC是一个简单的用于调用远程方法的系统,其协议文本只有短短的几页。目前,XML-RPC在开放原码领域仍然十分流行。开放原码领域内相互竞争的项目和众多开放并且许可证免费的实现使XML-RPC具有良好的互操作性和低廉的成本。但是,由于XML-RPC的草根出身和较早的推出时间,使其不可避免地存在一些显著的不足。例如,XML-RPC坚持使用ASCII字符串(虽然它使用的是国际化支持良好的XML标准),这导致其基本上只能在英文环境中使用。而且,XML-RPC在数据类型的选择方面也比较随意。但是,更重要的是,XML-RPC被限制在使用高度统一和结构化消息格式的简单请求/响应服务上。



在XML-RPC出现的同时,也存在其它更通用的XML消息通讯机制。虽然它们中的大多数其实更适合于程序语言结构(constructs)的序列化(serialization)和数据库的内容转储(dumps),而不是用于面向文档的消息通讯,但是比起严格的RPC方式来,还是要更灵活一些。其中最有名的是Allaire 公司提出的Web分布式数据交换协议(WDDX),目前一个相关的社团在继续这个开放规范的继续开发。



与此同时,XML和Internet协议也对像EDI业界这样的其它技术团体带来革命性的影响。首先,出现了运行在SMTP(e-mail)上的EDI,同时为了避免增值网络(VANs)高昂的交易费用,HTTP(Web)也被EDI采纳。接下去,诸如欧洲的CEN/ISSS和美国的XML/EDI等团体开始开发将EDI交易编码成为XML的技术,因为EDI交易的消息内容以杂乱出名。这一系列的趋势使得早期出现的Web Services主要解决的不是企业应用集成(EAI)的问题而是主要用于简化B2B交易。这些早期的XML/EDI系统在设计中利用了现有的稳定和通用的EDI流程协作、安全等高级机制,而这些恰恰是目前Web Services仍旧缺少的。这些努力导致了一个叫做电子商务XML(ebXML)的正式标准的出台。ebXML的支持者主要来自EDI阵营,但是稍后一般被认为是擅长过程和对象的Sun也加入进来。从1999年底开始,ebXML进入了18月的开发周期。ebXML由SGML/XML业界先驱OASIS和在传统EDI开发的扮演关键角色的联合国贸易推进和电子商务组织(UN/CEFACT)共同开发和维护。



回溯到1998年,一个用于结构化交换XML文档的规范——简单对象访问协议(SOAP)在一个小范围的组织中间酝酿,其中也包括软件巨人Microsoft。由于一些政治方面的原因,SOAP直到1999年下半年才正式发布。


[SOAP繁衍增生]

SOAP生来就引起各方的争议。尽管从对SOAP采用的特殊类型系统到是追随SOAP阵营(由Microsoft领导)还是ebXML(由Sun领导)等问题都充满争论,主要的业界厂商对Web Services将成为下一个重量级技术(the next big thing)都心照不宣。SOAP来源自诞生XML-RPC的同一社团Userland's,因此在草根Web Services阵营得以流行。SOAP不像XML-RPC那样简单,但是它确实解决了早期规范中的一些问题。开放源码的开发者们惊讶地发现,几乎所有的商用系统厂商都对这个开放协议提供支持。其实想想XML的成功,这也就不足为奇了。SOAP的出现为分布式开发摆脱大型厂商和社团的严格限制提供了良机,于是,各种SOAP开发组织如雨后春笋一般涌现出来。

SOAP只是一个通讯协议。很早就有迹象表明,对Web Services的元数据(metadata)的标准化具有重要的意义。在创建这一个特殊的语言方面,多个方面均作出了努力。WebMethods 提出的Web接口定义语言(WIDL)是出现最早的标准之一,其目标是用于像XML-RPC和WDDX这样的第一代Web Services系统。WIDL的设计效仿了作为CORBA和COM基础的接口定义语言,但是它是以XML的形式出现的。Microsoft在2000年为Web Services节点的服务描述开发了服务描述语言(SDL)和SOAP契约语言(SCL)。Microsoft还开发了用于Web服务信息注册和查找的Web Services发现协议(DISCO),通过它用户能够找到用SCL描述的服务。



IBM推出了与之竞争的一系列规范:和SDL与SCL类似的可访问网络服务规范语言(NASSL),和DISCO类似的服务发布和发现协议(ADS)。这些标准都集成到了IBM alphaWorks的Web Services工具包中。IBM, Microsoft以及Ariba等公司在以上提到的这些协议规范基础上最终提出了Web Services描述语言(WSDL)。


这三家公司还将其它们各自专有的发现系统整合后,提出了Web Services目录系统——通用描述、发现和集成协议(UDDI)。UDDI包括白页、黄页和绿页。UDDI被作为一个有36家公司参与的联盟的产品推出,现在该联盟的成员公司已经超过了100家。这一产品的定义非常详尽而且高度形式化,这和SOAP与WSDL的情况大不一样。SOAP和WSDL的规范文本简单易懂而且易于实现。这一差异反应了Web Services的现状:诸如核心通讯和服务描述等底层技术细节的演化是由底向上(bottom up),采用了一系列可以免费获得的语言和工具;而发现和商业/法律描述则根据集中式的信息授权和认证由顶向下(top down)演化。

这导致了Web Services在“个性”("personality")方面的分化。首先,以“终极Perl黑客”("desperate Perl hacker")为代表的Web Services草根阶层在部门级如鱼得水,但是和整个公司的战略背道而驰。其次,企业级Web Services作为电子商务战略的基础等到高层的认可。目前,大部分成功的Web Services集中在草根阶层。以UDDI为代表的企业级Web Services却还没有找到自己的核心价值所在(而且在某些情况下,甚至拒绝吸取EDI团体长期以来得到的教训)。



...全文
72 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
LONGFOR 2002-10-12
  • 打赏
  • 举报
回复
請問你看了為何不發表一點意見?

12,166

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧