你的位置:首页 > Java教程

[Java教程]J2EE基础之Web服务简介

J2EE基础之Web服务简介

1、什么是Web服务?

       在人们的日常生活中,经常会查询网页上某城市的天气信息,这些信息都是动态的、实时的,它是专业的气象站提供的一种服务。例如,在网上购物时,通常采用网上支付的方式,这是通过使用第三方提供的支付工具来实现的。在网络上提供这样的服务,我们称之为Web服务。

      从软件开发者的角度来看,Web服务是一组规范的集合。这种规范用来定义不同应用系统之间是如何交互的,包括信息传递的内容、格式,信息的传递协议,以及相关的安全、策略和互操作等关键特性。

      从编程使用者的角度来看,Web服务是一类应用程序,是能够用编程的方法通过Web调用来实现某个功能的应用程序。

 

2、Web服务的特点

(1)封装性:

         对于Web服务使用者而言,仅能看到Web服务提供的功能列表,Web服务的具体实现和运行平台对于使用者是不可见的。

(2)松耦合性

         对于Web服务的使用者来说,只要Web服务的调用界面不变,Web服务的实现发生任何变化对于他们来说都是无法感受到的。

(3)使用标准协议

         Web服务所有的公共协议都使用标准协议描述、传输和交换。

(4)高度可集成的能力

         由于Web服务采用简单、易于理解的标准协议,完全屏蔽了不同平台的差异,无论是CORBA、DCOM还是EJB都可以通过这种标准协议进行互操作,实现系统的高度集成性。

(5)互操作性

         实现不同系统间的相互调用,具有语言无关性,支持CORBA、DCOM和EJB等多种组件标准,支持HTTP、SMTP等通信协议。

 

3、Web服务体系结构

       在Web服务的体系结构中共有三种角色,服务提供者(服务器)、服务请求者(客户端)和服务注册中心(可选的角色),他们之间的交互的操作构成了Web服务的体系结构。下面请看图一(Web服务体系结构示意图):

 

 图一:Web服务体系结构示意图

4、Web服务技术标准

      Web服务是一段可以用发现、描述和访问的代码。Web服务规范是一组协议规范的集合,可以分为两部分:基于Web服务规范和扩展Web服务规范,这些规范包括以下技术标准:

(1)基于Web服务的规范

       1)

          是Web服务中表示数据的基本格式,是描述Web服务数据的标准方法。除了易于建立和分析外,的主要优点在于语言无关性和平台无关性,从而实现了Web服务的语言无关性和平台无关性。

       2)SOAP

          简单对象访问协议(Simple Object Access Protocol,SOAP)是表示Web服务信息交换的协议,是在一个分散的、分布的环境中交换信息的简单协议,是基于的。它详细说明了传输Web服务的消息的格式,包括四个部分:SOAP封装、SOAP编码规则、SOAP远程表示和SOAP绑定。

       3)WSDL

          Web服务描述语言(Web Services Description Language,WSDL)是用来对Web服务进行描述的标准规范,它采用了格式描述了调用Web服务所需的所有信息。应用程序可以从WSDL文件中提取这些详细信息,并生成调用Web服务需要的编程接口文件。

       4)UDDI

          统一描述、发现和集成(Universal Description,Discovery and Integration,UDDI)是一个规范,它定义了发布和发现Web服务的方法。利用它,应用程序可以把自己的功能提供给其他应用程序或查找并使用其他应用程序提供的服务。通过使用UDDI的发现Web服务,企业可以注册Web服务,允许其他企业代用本身的Web服务。

(2)扩展Web服务规范

      1)WS-Security

           用来处理加密和数字签名,允许创建特定类型的应用程序,以防止窃听消息,且能实现不可否认的功能。

      2)WS-Policy

           用来对WS-Security进行扩展,通过制定复杂的策略来定义哪些用户可以采用哪种方式来使用此Web服务。

      3)WS-I

           WS-I提供了一组可用于防止出现各种问题的标准和实践,并提供了标准化测试来检查可能出现的问题。

     4)WS-BPEL

          单个Web服务在多数条件下很难满足复杂的企业应用需求。往往需要将多个Web服务组合为一个完整的系统,而WS-BPEL提供了用于指定创建此类系统所必须的交互。

 

5、Web服务简单应用实例

   在此推荐一篇博客,实例讲解超详细,很有爱哦:http://www.cnblogs.com/yisheng163/p/4524808.html?utm_source=tuicool