从上而下,从下而上@By LP

๑۩۞۩๑无法体会打字的乐趣(IT技术文摘汇总基地)๑۩۞۩๑ 此BLOG只是文摘的目录,不提供原创内容!

   :: 首页 :: 联系 :: 聚合  :: 管理
  12 Posts :: 0 Stories :: 4 Comments :: 0 Trackbacks

n          什么是Web Service?

Web Service是构建互联网分布式系统的基本部件。Web Services 正成为企业应用集成(Enterprise Application Integration)的有效平台。你可以使用互联网中提供的Web Service构建应用程序,而不必考虑这些Web Service是怎样运行的。

n          Web Service 三个基本技术

²          Web Service通过标准通信协议,在互联网上发布有用的程序模块(以服务的方式),目前大部分是用SOAP来作通信协议。

²          Web Service提供一份详细的接口说明书,来帮助用户构建应用程序,这个接口说明书叫作WSDL(Web Service Description Language)。

²          通常已发布的Web Service要注册到管理服务器,这样便于使用者查询和使用。这个是通过UDDI(Universal Discovery Description and Integration)来完成的。

 

n          为什么要用 Web Service

Web Servcie 最主要的优点是,使用不同程序和在不同系统平台上开发出来的程序,都可以相互通信。现在很多人在问:“不是 CORBA DCE 也有那些优点吗?跟它们有什么不同呢?”。第一个不同点是, SOAP 作为 Web Service 的基本通信协议,比它们简单地多,所以投入和使用的代价也是小的。现在不仅有很多大公司发布的 Web Service ,也有个人发布的。另一个不同点是, Web Service 使用标准的互联网协议 -XML HTTP TCP/IP 。很多公司已经从实践当中对这些协议积累了丰富的经验,所以相比 CORBA DCE 要交的学费要少地多。

如果把现有的应用程序以 Web Service 部件形式发布,可以帮助其他的公司(人)构件功能强大的应用程序。举个例子,你要开发一个采购系统,可以自动地获得供应商的报价,而且可以实时追踪送货过程。如果供应商已经发布了报价和送货这两个 Web Service ,那么你就可以直接使用它们,而不必自己开发这些功能了。

在未来,会出现更有趣的 Web Service (现在做不到的),来帮助我们构建应用程序。

²         SOAP

SOAP Web Service 的基本通信协议。因为 SOAP DCOM CORBA 在概念上有相同之处,所以很多人在问:“ SOAP 是怎样激活对象的?”或“ SOAP 在使用什么命名服务( Naming Service )?”。或许在执行 SOAP 的过程当中会用到这些,但这些并不在 SOAP 规范要考虑的范畴之内。 SOAP 只是定义 SOAP 消息的 XML 格式( XML Format ),如果你用一对 SOAP 标记( SOAP Elements )把 XML 文档括起来,那么这个就是一个 SOAP 消息,这不是很简单吗?

SOAP 规范还定义了怎样用 XML 来描述程序数据( Program Data , 怎样执行 RPC Remote Procedure Call )。这些可选的规范是为了构建 RPC-style 的应用程序(客户端 SOAP 消息包含函数名和在函数中用到的参数,而服务器端 SOAP 消息包含执行函数之后的结果)。大多数 SOAP 解决方案都支持 RPC-style 应用程序,因为很多程序员已对 DCOM CORBA 熟悉。 SOAP 还支持 Document-style 应用程序( SOAP 消息只包含 XML 文本信息)。 Document-style 应用程序有很好的灵活性,所以很多用 RPC 很难构建的 Web Service 用这种方式构建。

最后 SOAP 规范还定义了 HTTP 消息是怎样传输 SOAP 消息的。这并不代表 SOAP 只能用 HTTP 来作为传输协议, MSMQ SMTP TCP/IP 都可以做 SOAP 的传输协议。

很多大公司根据 SOAP 规范,都开发出了自己的 SOAP 解决方案。这些解决方案都是相对于某种语言。比如说 Microsoft SOAP toolkit2.0 COM 函数转换成 SOAP 消息,而 Apache toolkit JAVA 函数转换成 SOAP 消息。这样难免带来一些兼容性问题。

现在 SOAP 的很多另人瞩目的特性已成为现实( SOAP 已经运行于不同的硬件和软件平台),而且有 70 多个解决方案。之所以 SOAP 被人们所爱戴,是因为 SOAP 比其他同类技术( CORBA DCE )简单易用。

安全性对于应用程序来说是很重要的。那么 SOAP 的安全性如何呢?对于把 HTTP 作为传输协议的 SOAP 来说是没有问题的,因为 HTTP 协议已经有很好的安全构架。那么用其他传输协议会出现安全问题吗?不是的,你不必担心,因为已经有这方面的规范了( http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnglobspec/html/ws-security.asp )。

n          WSDL

WSDL 是一种 XML 文档,它定义 SOAP 消息和这些消息是怎样交换的。 IDL Interface Description Language )是用于 COM CORBA 的, WSDL 是用于 SOAP 的。 WSDL 是一种 XML 文档,所以我们可以阅读和编辑,但很多时候是用工具来创建、由程序来阅读。

举个例子,你要使用供应商的 Web Service 构建应用程序。你可以向供应商索取使用 Web Service 的范例,然后按照范例来构建应用程序。这样可能出现意料不到的错误,比如说,你在程序中使用的客户代码的数据类型是 integer ,而供应商使用的数据类型是 string. WSDL 详细定义客户端消息的格式,需要什么样的参数,这样可以避免不必要的错误。

n          UDDI

UDDI 可以比喻成电话本,电话本里记录的是电话信息,而 UDDI 记录的是 Web Service 信息。你可以不把 Web Service 注册到 UDDI 。但如果要让全球的人知道你的 Web Service ,最好还是注册到 UDDI

UDDI 目录说明文件也是一个 XML 文档,它包括三个部分。“白页( White Paper )”说明提供 Web Service 的公司(人)信息,比如说名称、地址和联系方式等等。“黄页( Yellow Paper )”说明 UDDI 目录的分类,比如说金融、服务和印刷等等。“绿页( green Paper )”说明接口( Web Service 提供的)的详细信息。

UDDI 提供多种查询方式,来帮助你找到需要的 Web Service 。如果你查询与财务有关的 Web Service ,那么 UDDI 会提供详细的信息。

n          参考资料

※本文是翻译了下面的文章

XML Web Service basics, Roger Wolter Microsoft Corporation 2001 12

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwebsrv/html/webservbasics.asp

posted on 2007-02-05 17:42 JXTu 阅读(139) 评论(0)  编辑 收藏 引用 所属分类: SOA & Web Services
只有注册用户登录后才能发表评论。