WebService

1、什么是web Service

        先来考虑一个问题,如果我们要在自己的程序里面展示天气预报,那怎么弄?正确的做法是我们发送一个请求到一个系统,他会给我们返回来天气情况。这个就是一个webservice。天气预报系统就相当于webservice的服务端,我们的系统就相当于客户端。如http://www.webxml.com.cn这个网站上面就列举了多个webservice服务站点。

2、web Service:有两大类:

一类:传统的webservice,大web service,相对复杂。

一类:轻量级的webservice。

3、Web Service三要素

SOAP (Simple Object Access Protocol):简易对象访问协议,soap用来描述传递信息的格式。 WSDL (WebServices Description Language):Web服务描述语言,用来描述如何访问具体的接口。UDDI (Universal Description Discovery and Integration):通用描述、发现及整合,用来管理、分发、查询webService。

4、应用场景

1.跨防火墙的通信

        如果应用程序有成千上万的用户,而且分布在世界各地,那么客户端和服务器之间的通信将是一个棘手的问题。因为客户端和服务器之间通常会有防火墙或者代理服务器。在这种情况下,使用DCOM就不是那么简单,通常也不便于把客户端程序发布到数量如此庞大的每一个用户手中。传统的做法是,选择用浏览器作为客户端,写下一大堆JSP页面,把应用程序的中间层暴露给最终用户。这样做的结果是开发难度大,程序很难维护。

      如果中间层组件换成WebService的话,就可以从用户界面直接调用中间层组件,从而省掉建立JSP页面的那一步。要调用WebService,可以直接使用SOAP这样的客户端,也可以使用自己开发的SOAP客户端,然后把它和应用程序连接起来。不仅缩短了开发周期,还减少了代码复杂度,并能够增强应用程序的可维护性。同时,应用程序也不再需要在每次调用中间层组件时,都跳转到相应的“结果页”。 

2.应用程序集成

  企业级的应用程序开发者都知道,企业里经常都要把用不同语言写成的、在不同平台上运行的各种程序集成起来,而这种集成将花费很大的开发力量。应用程序经常需要从运行在IBM主机上的程序中获取数据;或者把数据发送到主机或UNIX应用程序中去。即使在同一个平台上,不同软件厂商生产的各种软件也常常需要集成起来。通过WebService,应用程序可以用标准的方法把功能和数据“暴露”出来,供其它应用程序使用。 

3.B2B的集成

        用WebService集成应用程序,可以使公司内部的商务处理更加自动化。但当交易跨越供应商和客户、突破公司的界限时会怎么样呢?跨公司的商务交易集成通常叫做B2B集成。WebService是B2B集成成功的关键。通过WebService,公司可以把关键的商务应用“暴露”给指定的供应商和客户。例如,把电子下单系统和电子发票系统“暴露”出来,客户就可以以电子的方式发送订单,供应商则可以以电子的方式发送原料采购发票。当然,这并不是一个新的概念,EDI(电子文档交换)早就是这样了。但是,WebService的实现要比EDI简单得多,而且WebService运行在Internet上,在世界任何地方都可轻易实现,其运行成本就相对较低。不过,WebService并不像EDI那样,是文档交换或B2B集成的完整解决方案。WebService只是B2B集成的一个关键部分,还需要许多其它的部分才能实现集成。 

4.软件和数据重用

        软件重用是一个很大的主题,重用的形式很多,重用的程度有大有小。最基本的形式是源代码模块或者类一级的重用,另一种形式是二进制形式的组件重用。当前,像表格控件或用户界面控件这样的可重用软件组件,在市场上都占有很大的份额。但这类软件的重用有一个很大的限制,就是重用仅限于代码,数据不能重用。原因在于,发布组件甚至源代码都比较容易,但要发布数据就没那么容易,除非是不会经常变化的静态数据。

5、Web Service优缺点

 优点:

        1.发送方式采用http的post发送,http默认端口是80,防火墙默认不拦截80,所以跨防火墙。

        2.采用xml格式封装数据,xml是跨平台的,所以webservice也可以跨平台。

        3.webservice支持面向对象。

 缺点:

        1.软件集成和复用(如气象局(服务端系统),天气查询网站)。

        2. 软件集成:通过远程调用技术,将两个系统整合到一起,从而实现软件集成。

        3.软件复用:同一个款软件的多次集成,最终实现复用。

了解:cxf

        webservice的一种框架,用了cxf,可以让发布和调用更加简单并且功能丰富。

你可能感兴趣的:(WebService)