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. 使用 Jersey 和 Apache Tomcat 构建 RESTful Web 服务

    http://www.ibm.com/developerworks/cn/web/wa-aj-tomcat/ 使用 Jersey 和 Apache Tomcat 构建 RESTful Web 服务 Y ...

  2. Apache#一文掌握Apache Web服务

    文章目录 一.WEB服务简介 二.WEB 服务协议 三.WEB 服务器的工作原理 四.Web中间件介绍 五.Apache服务基础知识 1.安装Apache,浏览器访问验证安装 2.Apache下载服务 ...

  3. 0301 、Web服务器简介、虚拟Web主机、NFS服务基础、触发挂载

    目录 一.Web服务器简介 1.三步骤策略:装包.配置.启服务 2.主配置文件:/etc/httpd/conf/httpd.conf (1)案例1:更改网页根目录/var/www/html------ ...

  4. Web服务(一):简介

    简介 在 Go 项目开发中,我们是在写能提供某种功能的后端服务,这些功能以 RPC API 接口 或者 RESTful API 接口 的形式对外提供,能提供这两种 API 接口的服务也统称为 Web ...

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

    from: https://www.ibm.com/developerworks/cn/webservices/ws-restful/ 基础 REST 定义了一组体系架构原则,您可以根据这些原则设计以 ...

  6. Spring - Java/J2EE Application Framework 应用框架 第 16 章 通过Spring使用远程访问和web服务

    第 16 章 通过Spring使用远程访问和web服务 16.1. 简介 Spring提供类用于集成各种远程访问技术.这种对远程访问的支持可以降低你在用POJO实现支持远程访问业务时的开发难度.目前, ...

  7. 测试开发——搭建一个简单 web服务(flask框架基础)项目实战

    搭建一个简单 web服务-flask框架 一.什么是wsgi? 二.搭建一个简单 web服务 三.扩展 四.请求加参数的情况 五.安装flask 一.什么是wsgi? wsgi是webserver和a ...

  8. FastAPI异步 web 框架简介+搭配loguru实现日志服务(转载+补充)

    这次我们来聊一聊 FastAPI,它和我们之前介绍的 Sanic 是类似的,都是 Python 中的异步 web 框架.相比 Sanic,FastAPI 更加的成熟.社区也更加的活跃,那么 FastA ...

  9. Web服务和WSDL简介

    在"使用 WSDL 部署 Web 服务"系列中,Bilal 将研究创建.部署和发布 Web 服务的所有主要技术方面 - 从 Web 服务描述语言(WSDL),到简单对象访问协议(S ...

最新文章

  1. 四、One-hot和损失函数的应用
  2. ASP.NET Web API 实现客户端Basic(基本)认证 之简单实现
  3. Latex 添加多张图片技巧说明
  4. java 文件 剪切_总结java中文件拷贝剪切的5种方式-JAVA IO基础总结第五篇
  5. Java:写2个线程,其中一个线程打印1-52,另一个线程打印A-Z,打印顺序应该是12A34B56C...5152Z。
  6. linux下导入、导出mysql数据库命令 下载文件到本地
  7. Centos升级安装.Net core 1.1
  8. ORA-00906 missing left parenthesis括号
  9. 【英语】Invest in Yourself
  10. Java中只存在值传递
  11. 浏览器崩溃_安装谷歌浏览器后打开网页时出现页面崩溃的解决办法
  12. R语言 Kmeans聚类、PAM聚类、层次聚类、EM聚类
  13. win10远程计算机证书错误,设置win10系统ie证书错误的详细办法
  14. python实现Content-Type:application/octet-stream
  15. Python中的交叉分析pivot_table
  16. Go使用qrcode包解析微信和支付宝二维码,生成一个链接(前端拿到链接即可解析成对应的支付二维码)
  17. JS 轻松搞定数据处理,让前端开发更高效
  18. MapX 控件在C# 中的应用 (一)
  19. 华为鸿蒙和美的,美的与华为鸿蒙合作,为智能家居领域带来更深度的场景与服务...
  20. linux下fastfds搭建

热门文章

  1. 杭电2005题c语言答案,杭电2005
  2. JAVA重载和重写的区别?
  3. 刻画小狗状态java_JAVA面向接口编程
  4. 万丰科技机器人排名_机器人系统集成“7宗最”
  5. 【JAVA基础篇】基本数据类型及自动类型转换
  6. Linux常用命令与基本操作、填空题、简答题
  7. 【初涉C语言】程序员欢迎来到C语言的世界!
  8. php路由类默认模块,微擎入口路由及其模块入口路由 - YangJunwei
  9. session.merge 缓存不更新_如何保证缓存与数据库双写时的数据一致性?
  10. java类初始化顺序_《To Be a Better Javaer》-- Java 基础篇 vol.2:面向对象