1.Web service的概念
从表面上看,Web Service就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。这就是说,你能够用编程的方法通过Web调用来实现某个功能的应用程序。 从深层次上看,Web Service是一种新的Web应用程序分支,它们是自包含、自描述、模块化的应用,可以在网络(通常为Web)中被描述、发布、查找以及通过Web来调用。
Web Service是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得Web Service能与其他兼容的组件进行互操作。它可以使用标准的互联网协议,像超文本传输协议HTTP和XML,将功能体现在互联网和企业内部网上。
Web Service平台是一套标准,它定义了应用程序如何在Web上实现互操作性。
Web Service是构建互联网分布式系统的基本部件。"网络服务"(Web Service)的本质,就是通过网络调用其他网站的资源。
2、Web Service的优势
Web Servcie最主要的优点是,使用不同程序和在不同系统平台上开发出来的程序,都可以相互通信。SOAP作为Web Service的基本通信协议,简单,投入和使用的代价也很小。
优越性:
(1)平台无关。不管你使用什么平台,都可以使用Web service。
(2)编程语言无关。只要遵守相关协议,就可以使用任意编程语言,向其他网站要求Web service。这大大增加了web service的适用性,降低了对程序员的要求。
(3)对于Web service提供者来说,部署、升级和维护Web service都非常单纯,不需要考虑客户端兼容问题,而且一次性就能完成。
(4)对于Web service使用者来说,可以轻易实现多种数据、多种服务的聚合(mashup),因此能够做出一些以前根本无法想像的事情。
3 、 实现步骤
Apache CXF实现WebService非常简单实用,只需要几步就可以实现一个简单的web service。
首先:需要新建一个maven项目,在pom中添加依赖和jetty作为测试的web service的web容器。测试用到的pom文件内容
代码如下:
然后:然后需要定义web service接口,在接口定义中要添加必要的annotation注解来标注出来webservice接口和提供的方法,以及参数等,接口文件
其次:定义完接口之后需要实现接口,接口实现代码
这个实现类不需要做任何的标注。
这样webservice的实现部分就算完了,我们需要在web容器中运行web service。
Server代码如下:
可以运行这个类,然后在浏览器中访问:http://localhost:9000/ws/HelloService。
可以让Server端保持启动状态,下面我们写Client端来调用server端的webservice
client端代码 如下:
运行client,可以得到hello outofmemory.cn
的输出。