对WebService的理解

来源:互联网 发布:中国银联数据分析待遇 编辑:程序博客网 时间:2024/04/30 21:38

Web Service 是一种服务性程序,通过SOAP(简单对象协议)调用,提供远程的方法或者操作。例如你需要获得某一个地方的天气情况,你从客户机上发送一个SOAP请求,然后Web Service收到你的请求就在服务器上进行处理,返回你需要的答案。它的特点就是SOAP调用。

Webservice包含的东西比较多,是一个比较灵活的东西,也是一种架构思想,软件的布局所需要的,包括我们数据访问的协议(Soap)和其他安全机制等等;

 

我觉得WEB SERVICES 的主要用处在异构平台之间实现通信,实现分布式计算,如果不是这样,那么在同构平台之间的RMI,.NET REMOTING在速度上,灵活性上都比XML WEB SERVICES 好的多。毕竟它的数据交换协议(SOAP)以及所有的与之有关的东东都是XML格式。

 

其实就是分布计算,分布组件思想。但一般情况下,一台计算机上调用别的机子上的组件采用COM+或CORBA,但这种情况主要应用于局域网。对于广域网,则用Web Service。

XML Web services 是提供特定功能元素(如应用程序逻辑)的可编程实体,任何数量的、可能是完全不同的系统都可以用常见的 Internet 标准(如 XML 和 HTTP)访问它。XML Web services 在很大程度上依赖于对 XML 和其他 Internet 标准的广泛接受,由此创建的支持应用程序互操作性的基础结构才得以解决许多以前阻碍此类尝试的问题。 
  
 XML Web services 既可以在内部由单个应用程序使用,也可通过 Internet 公开以供任何数量的应用程序使用。由于可以通过标准接口访问,因此 XML Web services 使异类系统能够作为单个计算网络协同运行。 
  
  XML Web services 并不追求一般的代码可移植性功能,而是为实现数据和系统的互操作性提供了一种可行的解决方案。XML Web services 使用基于 XML 的消息处理作为基本的数据通讯方式,以帮助消除使用不同组件模型、操作系统和编程语言的系统之间存在的差异。开发人员可以用像过去在创建分布式应用程序时使用组件一样的方式创建将来自各种源的 XML Web services 组合在一起的应用程序。 
  
  XML Web services 的核心特征之一是服务的实现与使用之间的高度抽象化。通过将基于 XML 的消息处理用作创建和访问服务的机制,XML Web services 客户端和 XML Web services 提供程序之间除输入、输出和位置之外无需互相了解其他信息。 
  
  XML Web services 正在开创一个分布式应用程序开发的新时代。问题已不再是对象模型之间的战争或者编程语言选美竞赛了。在使用专用基础结构将系统紧密耦合在一起时,是以牺牲应用程序互操作性为代价实现的。XML Web services 在一个对这种得不偿失的竞争说不的全新级别上提供互操作性。作为 Internet 的下一个革命性的进步,XML Web services 将成为把所有计算设备链接到一起的基本结构。

举例说白一点,你的程序有主界面程序文件和类函数库文件给用户使用,用了webservice, 
  函数库文件可以放在服务器上,甚至主界面都可以放在服务器上,还可以是不同的服务器,使用这个程序的时候还可以不考虑防火墙的干扰。 
  最起码,没人能反编译你的函数代码了

从表面上看,Web service 就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。这就是说,你能够用编程的方法通过Web来调用这个应用程序。我们把调用这个Web service 的应用程序叫做客户。例如,你想创建一个Web service ,它的作用是返回当前的天气情况。那么你可已建立一个ASP页面,它接受邮政编码作为查询字符串,然后返回一个由逗号隔开的字符串,包含了当前的气温和天气。要调用这个ASP页面,客户端需要发送下面的这个HTTP GET请求: 
  http://host.company.com/weather.asp?zipcode=20171 
  返回的数据就应该是这样: 
  21,晴 
  这个ASP页面就应该可以算作是Web service 了。因为它基于HTTP GET请求,暴露出了一个可以通过Web调用的API。当然,Web service 还有更多的东西。 
  下面是对Web service 更精确的解释: Web services是建立可互操作的分布式应用程序的新平台。作为一个Windows程序员,你可能已经用COM或DCOM建立过基于组件的分布式应用程序。COM是一个非常好的组件技术,但是我们也很容易举出COM并不能满足要求的情况。 
  Web service平台是一套标准,它定义了应用程序如何在Web上实现互操作性。你可以用任何你喜欢的语言,在任何你喜欢的平台上写Web service ,只要我们可以通过Web service标准对这些服务进行查询和访问。

WEB SERVICES 是一个编程接口,对于提供服务的供应商来说,它也是一个商业逻辑的表示层,通过它,而不是WEB界面或者是WINDOWS界面向他的客户提供服务。 
  而对于WEB SERVICES的使用者来说,WEB SERVICES 就是一个API,在这一点上,WEB SERVICES 为它的客户提供了更加广阔的应用程序访问的空间。

个人理解:应该说WEB SERVICE是一个标准,它的出现是基于INTERNET的飞速发展而产生的;我们以前用COM或者DCOM时,其作用跟我们今天用WEB SERVICE差不多;但是在网络应用上,WEB SERVICE毕竟强大得多,它的其于XML技术无论从哪个方面来说,都足以满足我们在网络上的任何需求;只是我们需要牺牲一些性能而已(比如速度)----有得必有失!

web services 可以看做类似于com的东西,而com是运行在自已电脑上的,你在安装windows系列操作系统时就集成了的。这也就是为什么com要注册的原因,比如你在在线安装一些程序时比如网易的泡泡,杀毒软件,要提示你,是否接受注册,ActiveX的信息。而web services 这些东西全是放在服务器上的,甚至包括你执行的软件的届面程序。asp/php等大家可能马上就能理解,你通过浏览器就执行,而实际上它就是一个web services。而.net基于 XML Web Services,那么很可能将来 有好多的应用程序都可以放在一个服务器上你可以直接调用! 也就是说将来很可能,除了操作系统,你只要有一根网线,就可能使用office而不用去安装它! 这也许就是上面所说的为什么com时代会消失的原因。 这样做还有一个最大的好处,就是 盗版软件将会被彻底的打击! 我想这可能也是M$为什么会如此的放纵 中国人D他们的软件,可能他们把眼光放得更远!!但所有的这些都 是以牺牲 软件的运行速度做为代价的! 
  总结: 将来的软件 基于web services 的软件,可能都会向网页一样调用!

原创粉丝点击