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服务是一段可以用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服务简介的更多相关文章
- HTTP协议基础与web服务的重定向,跳转以及请求转发
JavaWeb中,HttpServletRequest与HttpServletResponse几乎是处理各种请求与操作必备的参数,与原始的ServletRequest/ServletResponse相 ...
- java基础76 web服务器之Tomcat服务器
(注:本文是以“压缩版Tomcat”为例,展开描述的) 一.Tomcat服务器的介绍 1.服务器 1.1.服务器的种类 从物理上讲:服务器就是一台pc机器.至少8核/8G以上.内存至少用T来计算.宽带 ...
- linux web服务基础知识,dns
#web服务基础知识c/s 客户端/服务器b/s 浏览器/服务器 nginx > web server 服务端浏览器 > web client 客户端 #dns解析 ...
- Webservices-2.C#创建web服务,及引用访问、代码访问
注:web服务简介Webservices-1.web服务定义简介 以下均以C#语言为例 一.创建web服务(简单介绍,主要讨论客户端引用) 打开VS创建网站项目,在网站项目中添加“WEB服务(ASMX ...
- WEB服务重要基础
1.1用户访问房展基本流程 我们每天都会使用Web客户端上网浏览网页.最常见Web客户端就是Web浏览器,如通过的微软InternetExplorer(IE)以及技术人员偏爱的火狐浏览器.谷歌浏览器等 ...
- Linux系统WEB服务之Nginx基础入门
一.Nginxi简介 Nginx是什么?它是一个开源.高性能的WEB服务器软件和代理服务器软件,由俄罗斯人Igor Sysoev 开发实现.它的功能主要分三类,第一是它作为一个WEB服务软件使用:第二 ...
- 基于 REST 的 Web 服务:基础
代表性状态传输(Representational State Transfer,REST)在 Web 领域已经得到了广泛的接受,是基于 SOAP 和 Web 服务描述语言(Web Services D ...
- (转)2.4.1 基础知识--添加服务引用与Web引用的区别
<Web服务开发学习实录>第2章构建ASP.NET Web服务,本章我们将学习创建Web服务的各种方法,并重点对使用Visual Studio创建ASP.NET Web服务和修改Web服务 ...
- Web服务基础介绍
Web服务基础介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.正常情况下的单次web服务访问流程 博主推荐阅读: https://www.cnblogs.com/yinzh ...
随机推荐
- iOS 视图控制器 (内容根据iOS编程编写)
视图控制器是 UIViewController 类或其子类对象.每个视图控制器都负责管理一个视图层次结构,包括创建视图层级结构中的视图并处理相关用户事件,以及将整个视图层次结构添加到应用窗口. 创建 ...
- Overload 和Override 的区别
Overload 是重载的意思,Override 是覆盖的意思,也就是重写.重载 Overload 表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同).重写 ...
- Session中load/get方法的详细区别
Session.load/get方法均可以根据指定的实体类和id从数据库读取记录,并返回与之对应的实体对象.其区别在于: 如果未能发现符合条件的记录,get方法返回null,而load方法会抛出一个O ...
- 从零开始学 Java - 利用 Nginx 负载均衡实现 Web 服务器更新不影响访问
还记得那些美妙的夜晚吗 你洗洗打算看一个小电影就睡了,这个时候突然想起来今天晚上是服务器更新的日子,你要在凌晨时分去把最新的代码更新到服务器,以保证明天大家一觉醒来打开网站,发现昨天的 Bug 都不见 ...
- 偷偷发请求的ajax
概述 对于WEB应用程序:用户浏览器发送请求,服务器接收并处理请求,然后返回结果,往往返回就是字符串(HTML),浏览器将字符串(HTML)渲染并显示浏览器上. 1.传统的Web应用 一个简单操作需要 ...
- DOM事件揭秘-事件流
事件:文档/窗口中发生的特定的交互瞬间 瀑布流,图片轮播 动作都是通过事件触发的 课程内容: 1,理解事件流 2,使用时间处理程序 3,不同的事件类型 ie4.0以后, 事件流:描述的是从页面中接收事 ...
- mysql存储过程详解
mysql存储过程详解 1. 存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的S ...
- iOS 开发学习资料整理(持续更新)
“如果说我看得比别人远些,那是因为我站在巨人们的肩膀上.” ---牛顿 iOS及Mac开源项目和学习资料[超级全面] http://www.kancloud.cn/digest/ios-mac ...
- View and Data API tips: 缓存Access Token
对于云API服务,常见的方式就是按照API调用次数收费,某些API调用也就有某些限制,比如在特定时间内只允许调用指定的次数以免造成滥用.虽然Autodesk的view and Data API目前还没 ...
- [转]File Descriptor泄漏导致Crash: Too many open files
在实际的Android开发过程中,我们遇到了一些奇奇怪怪的Crash,通过sigaction再配合libcorkscrew以及一些第三方的Crash Reporter都捕获不到发生Crash的具体信息 ...