web services是什么?

刚接触.net,看到到处都在讨论web services,哪位有基本的资料给偶一份,谢谢了
---------------------------------------------------------------

先装个vs.net 然后新建一个ASP.NET Web服务的项目,转换到代码编辑模式, 把HelloWorld那一段代码的注释都去掉。
存盘。
你就有了一个Web Service了。

---------------------------------------------------------------

Web Service 是一种新的web应用程序分支,他们是自包含、自描述、模块化的应用,可以发布、定位、通过web调用。Web Service可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他Web Service应用程序可以发现并调用它部署的服务。
Web Service是一种应用程序,它可以使用标准的互联网协议,像超文本传输协议(HTTP)和XML,将功能纲领性地体现在互联网和企业内部网上。可将Web服务视作Web上的组件编程。
Web服务是建立在一些通用协议的基础上,如HTTP,SOAP,XML,WSDL,UDDI等。这些协议在涉及到操作系统、对象模型和编程语言的选择时,没有任何倾向,因此将会有很强的生命力。但具体到Web服务编程时,.NET和J2EE有一些区别。.NET Web服务可用C#,VB,JScript等语言编写,还能利用一些Windows资源;而J2EE Web服务一般使用JAVA语言及J2EE资源,像Bean,EJB,CORBA等。它们在编程环境,语法结构,管理配置等方面也各有自己的特色。iNET Web服务用JAVA语言实现了.NET 类库中提供的Web服务APIs。它能把用户用.NET开发的Web服务移植到与平台无关的JAVA。因是JAVA,故也可利用JAVA的资源。
Web Services扮演什么角色?
上述的这些趋势意味着,更加智能的处理,操作和汇总内容变得十分重要。让我们看看按照Web services角度所预示的四个趋势:
◆内容更加动态:一个web service必须能合并从多个不同源来的内容,可以包括股票,天气,新闻等,在传统环境中的内容,如存货水平,购物订单或者目录信息等,都从后端系统而来
◆带宽更加便宜:web services可以分发各种类型的内容(音频,视频流等)
◆存储更便宜: web services必须能聪明地处理大量数据,意味着要使用数据库,LDAP目录,缓冲,和负载平衡软件等技术保持可扩展能力
◆普遍式计算更重要:web services不能要求客户使用某一版本的windows的传统浏览器,必须支持各种设备,平台,浏览器类型,各种内容类型。
要达到这样的目标,Web services要使用两种技术:
◆XML XML是在web上传送结构化数据的伟大方式,Web services要以一种可靠的自动的方式操作数据,HTML不会满足要求,而XML可以使web services十分方便的处理数据,它的内容与表示的分离十分理想
◆SOAP SOAP使用XML消息调用远程方法,这样web services可以通过HTTP协议的post和get方法与远程机器交互,而且,SOAP更加健壮和灵活易用。
其他象UDDI和WSDL技术与XML和SOAP技术紧密结合用于服务发现。
那么什么是web service 平台呢?最基本的平台是XML加HTTP。HTTP是一个在Internet上广泛使用的协议。XML是一种元语言,你可以用它书写特定的语言来描述客户和服务之间或者组件和复杂服务之间的交互。在web server之后,XML格式的消息被转变成中间件的请求,返回的结果也会转化成XML格式。
有必要增加一些服务,同时保持简单性和普遍性,来把Web构建成一个功能更强大的平台。可以认为功能全面的web services平台是XML+HTTP+SOAP+WSDL+UDDI。在更高层次上,可能还要加上一些尚未广泛接受的技术如XAML,XLANG, XKMS,和XFS。
---------------------------------------------------------------

简单的举个例子, 你想要一个汉堡, 你给KFC打个电话, 他们就开始做汉堡了, 从什么配面粉, 煎牛排, 加cheese, 洒点盐, 外包装, 然后给你送货, 等等等等, etc. 到最后 你得到了你要的汉堡. 大致上这就是web service.

要贴近IT一点的, 看看这个例子, 我要录一段电视节目, 但是我没有录制的东西. 找到一个service provider, 他和你说, 我可以给你录节目, 他给你一些参数, 你可以设置你的频道, 时间, 格式. 然后, 你就可以send 你的command " record please ". 它就开始给你录了. 但是"录制"这个行为发生在service 那边, 而不是你的机器. 就像做汉褒的过程你一无所知, 也无须知道.

另外, web service 是给application 之间的interaction 用, 而不是直接给end user 用, 和流览器没什么直接关系. amna 说和URL 有没有关系, service 当然有自己的URI了, 不然怎么让别的application 找到并使用呢. 不过和客户端好象没什么关系, 你说的客户端应该就是service consumer, 也就是我说的application. 所以send command 就是在你的application 里调用 对方提供的方法.

当然, 如果你要知道, 怎么调用, 如何调用, 调用背后到底做了什么, 为什么这么做, 这么做的理年是什么, 你得多准备点时间. 了解一点DCOM,JMS,.NET Remoting, CLR 和 .NET WebService 之间的类同和区别. Good luck :)

Published At
Categories with Web编程
Tagged with
comments powered by Disqus