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

(1)基于Web服务的规范

1)XML

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

2)SOAP

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

3)WSDL

Web服务描述语言(Web Services Description Language,WSDL)是用来对Web服务进行描述的标准规范,它采用了XML格式描述了调用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

J2EE基础之Web服务简介的更多相关文章

  1. HTTP协议基础与web服务的重定向,跳转以及请求转发

    JavaWeb中,HttpServletRequest与HttpServletResponse几乎是处理各种请求与操作必备的参数,与原始的ServletRequest/ServletResponse相 ...

  2. java基础76 web服务器之Tomcat服务器

    (注:本文是以“压缩版Tomcat”为例,展开描述的) 一.Tomcat服务器的介绍 1.服务器 1.1.服务器的种类 从物理上讲:服务器就是一台pc机器.至少8核/8G以上.内存至少用T来计算.宽带 ...

  3. linux web服务基础知识,dns

    #web服务基础知识c/s 客户端/服务器b/s 浏览器/服务器 nginx   >   web  server  服务端浏览器  >    web  client  客户端 #dns解析 ...

  4. Webservices-2.C#创建web服务,及引用访问、代码访问

    注:web服务简介Webservices-1.web服务定义简介 以下均以C#语言为例 一.创建web服务(简单介绍,主要讨论客户端引用) 打开VS创建网站项目,在网站项目中添加“WEB服务(ASMX ...

  5. WEB服务重要基础

    1.1用户访问房展基本流程 我们每天都会使用Web客户端上网浏览网页.最常见Web客户端就是Web浏览器,如通过的微软InternetExplorer(IE)以及技术人员偏爱的火狐浏览器.谷歌浏览器等 ...

  6. Linux系统WEB服务之Nginx基础入门

    一.Nginxi简介 Nginx是什么?它是一个开源.高性能的WEB服务器软件和代理服务器软件,由俄罗斯人Igor Sysoev 开发实现.它的功能主要分三类,第一是它作为一个WEB服务软件使用:第二 ...

  7. 基于 REST 的 Web 服务:基础

    代表性状态传输(Representational State Transfer,REST)在 Web 领域已经得到了广泛的接受,是基于 SOAP 和 Web 服务描述语言(Web Services D ...

  8. (转)2.4.1 基础知识--添加服务引用与Web引用的区别

    <Web服务开发学习实录>第2章构建ASP.NET Web服务,本章我们将学习创建Web服务的各种方法,并重点对使用Visual Studio创建ASP.NET Web服务和修改Web服务 ...

  9. Web服务基础介绍

    Web服务基础介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.正常情况下的单次web服务访问流程 博主推荐阅读: https://www.cnblogs.com/yinzh ...

随机推荐

  1. Nancy之基于Nancy.Hosting.Aspnet的小Demo

    近来学习了一下Nancy这个框架,感觉挺好用的,就写篇简单的文章记录一下大致用法,由于是刚接触,写的代码 可能不规范,也没有具体的分层..莫吐槽... Nancy的官网:http://nancyfx. ...

  2. .NET 对象生命周期

    GC 垃圾回收      .NET Framework 的垃圾回收器管理应用程序的内存分配和释放.每次您使用 new 运算符创建对象时,运行库都从托管堆为该对象分配内存.只要托管堆中有地址空间可用,运 ...

  3. ArcGIS10.2 应用服务器搭建

    操作系统:Windows Server2012R2 DataCenter 软件环境:ArcGIS Desktop10.2,ArcSDE10.2,ArcGIS Server10.2,win64_11gR ...

  4. uct框架数据库sql文件导入错误之 sql_mode

    uct框架在导入sql文件时可能会出现一种错误 ERROR 1101 (42000): BLOB/TEXT column 'brief' can't have a default value 这是由于 ...

  5. C++_系列自学课程_第_9_课_C语言风格字符串_《C++ Primer 第四版》

    前面说了写关于数组和指针的内容,这次在这里讨论一下字符串,讨论一下C语言风格的字符串. 在C语言里面我们利用字符数组来对字符串进行处理, 在C++里面我们前面说过一种类类型string可以对字符串进行 ...

  6. SpringMvc面试题

    f-sm-1. 讲下SpringMvc和Struts1,Struts2的比较的优势 性能上Struts1>SpringMvc>Struts2 开发速度上SpringMvc和Struts2差 ...

  7. spring整合hibernate

    spring整合hibernate包括三部分:hibernate的配置.hibernate核心对象交给spring管理.事务由AOP控制 好处: 由java代码进行配置,摆脱硬编码,连接数据库等信息更 ...

  8. PHP如何连接MySQL数据库

    * PHP连接MySQL数据库 * 准备工作 * 在XAMPP软件的安装目录/php/ext目录中 * php_mysql.dll和php_mysqli.dll文件必须存在 * 在XAMPP软件的安装 ...

  9. 关于在线编辑器的选择:tinymce - nilcms

    一开始使用的是百度开发的编辑器:ueditor.使用方便,很容易就部署了.现在发现此编辑器也就做一些安全性的更新,而且对于这个编辑器也越来越不喜欢了. 1.臃肿.[1.4.3.3 PHP 版本].下载 ...

  10. Web API初探

    前几天有位同事说web api中的接口参数为对象的时候不好接收,具体什么方式我忘记了,虽然本人以前并没有接触过这方面的知识,但是据说和MVC差不多的,今天小小的研究一下,我想应该是可以的. 直接新建一 ...