web service 基础

    技术2022-05-11  31

    <script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> <script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

    web service入门

     

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

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

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

    ²         SOAP

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

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

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

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

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

    安全性对于应用程序来说是很重要的。那么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消息和这些消息是怎样交换的。IDLInterface Description Language)是用于COMCORBA的,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 WolterMicrosoft Corporation 200112

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

     

     原文:web_service_lecture&no=2">http://www.trueobject.net/board/zboard.php?id=web_service_lecture&no=2

     

    <script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> <script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

    最新回复(0)