web service的几个很重要的概念 _c#应用

2008-02-23 05:43:10来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

接上次,我们在使用Web Service之前,要先了解一下这么几个东东:
1、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)。

2、 WSDL

WSDL是一种XML文档,他定义SOAP消息和这些消息是怎样交换的。IDL(Interface Description Language)是用于COM和CORBA的,WSDL是用于SOAP的。WSDL是一种XML文档,所以我们能够阅读和编辑,但很多时候是用工具来创建、由程式来阅读。
举个例子,您要使用供给商的Web Service构建应用程式。您能够向供给商索取使用Web Service的范例,然后按照范例来构建应用程式。这样可能出现意料不到的错误,比如说,您在程式中使用的客户代码的数据类型是integer,而供给商使用的数据类型是string.。WSDL周详定义客户端消息的格式,需要什么样的参数,这样能够避免不必要的错误。

3、 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会提供周详的信息。

只是一点点而已,如查想了解更多请参考资料
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(本文是翻译了下面的文章)
原文:http://www.trueobject.net/board/zboard.php?id=web_service_lecture&no=2

链接地址: http://ethinks.cnblogs.com/archive/2006/07/13/450076.html


标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: active directory如何用c#进行增加、删除、修改、查询用户和组

下一篇: 从datagridview控件托放数据到treeview控件_c#应用