没有合适的资源?快使用搜索试试~ 我知道了~
WebService.pdf
需积分: 9 2 下载量 46 浏览量
2020-04-16
20:42:55
上传
评论
收藏 6.09MB PDF 举报
温馨提示
上述WebService文档对应的WebService的pdf文件.
资源推荐
资源详情
资源评论
![application/x-zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/release/download_crawler_static/12332249/bg1.jpg)
1 前言
1.1 Web Service应用
webservice是开发中比较常用的技术。
由于企业中的开发平台,或平台下所有的系统,均可通过Web浏览器访问,那么就涉及到不同平台下的
系统之间的交互协同工作。webservice为此提供了技术支持。
Web services 把 Web 应用程序提升到了另外一个层面:
1. Web Service平台需支持XML + HTTP,HTTP协议是最常用的因特网协议,XML提供了一种可用于
不同平台和编程语言之间的语言。
2. Web Services能够解决不同平台、不同语言编写的应用之间如何相互调用问题。
3. 使用 Web Services,我们的应用程序可以向全世界发布信息,或提供某项功能。
1.2 Web Service简介
Web Service所使用的是Internet上统一、开放的标准,如HTTP、XML、SOAP(简单对象访问协
议)、WSDL等,所以Web Service可以在任何支持这些标准的环境(Windows,Linux)中使用。
这有助于大量异构程序和平台之间的互操作性,从而使存在的应用程序能够被广泛的用户访问。
从应用来说,Web Service是一件值得企业特别注意的事情。Web Service的应用范围目前包括两个方
面:企业之间的应用、以及企业内部的应用。
企业之间的应用主要包括人们熟悉的企业间的电子商务(B2B)和企业与消费者之间的电子商务
(B2C)。
Web Service在B2B的应用包括:以企业采购、物流和分销为内容的供应链;以及涉及到零售、B2C以及中
间业务的支付系统。
而相对来说,企业内部的应用比企业之间的电子商务应用要成熟一些,并得到广泛的采用。最为普遍的
应用是:采用中间件应用服务器软件作为工具将企业各项应用都进行改造和开发,开发目标是以Web为
基础的应用,或者称为应用软件的网络化。目前企业内部这种网络应用还包括现在流行的ERP以及CRM
等等。
2 webservice基本概念
2.1 什么是web服务
常见的web服务:
1. 手机淘宝、京东….
2. 天气预报(一般网站获取天气预报信息都是通过调用气象局的接口获取相关城市的天气信息)
3. 手机号归属地
4. 股票查询
5. 发手机短消息
6. 手机充值功能
7. 中英文翻译
8. 银行转账业务
9. 公司的“进销存系统”在某商品缺货时自动给供应商下订单
![](https://csdnimg.cn/release/download_crawler_static/12332249/bg2.jpg)
2.2 简介
1. webservice 即web服务,它是一种跨编程语言和跨操作系统平台的远程调用技术,适用于多个系
统之间的调用,数据传递。
如图:
2. JAVA 中共有三种WebService 规范,分别是JAX-WS(JAX-RPC)(常用)、JAXM&SAAJ、JAX-
RS(常用)。
JAX-WS(JAX-RPC):使用soap协议,传输xml文件
JAX-RS:基于REST风格,使用http协议,传输xml文件或者json文件
3. webService三要素:soap、wsdl、uddi
2.3 术语
2.3.1 webservice开发规范
JAVA 中共有三种WebService规范,分别是JAXM&SAA J、JAX-WS(JAX-RPC)、JAX-RS。
2.3.1.1 JAX-WS(常用)
JAX-WS(Java API For XML-WebService),JDK1.6 自带的版本为JAX-WS2.1,其底层支持为JAXB。
JAX-WS(JSR 224)规范的API 位于javax.xml.ws.*包,其中大部分都是注解,提供API 操作Web 服务
(通常在客户端使用的较多,由于客户端可以借助SDK 生成,因此这个包中的API 我们较少会直接使
用)。
2.3.1.2 JAXM&SAA J
JAXM(JAVA API For XML Message)主要定义了包含了发送和接收消息所需的API,相当于Web 服
务的服务器端,其API 位于javax.messaging.*包,它是JAVA EE 的可选包,因此你需要单独下载。
SAA J(SOAP With Attachment API For Java,JSR 67)是与JAXM 搭配使用的API,为构建SOAP 包和
解析SOAP 包提供了重要的支持,支持附件传输,它在服务器端、客户端都需要使用。这里还要提到的
是SAA J 规范,其API 位于javax.xml.soap.*包。JAXM&SAA J 与JAX-WS 都是基于SOAP 的Web 服务,相
比之下JAXM&SAA J暴漏了SOAP更多的底层细节,编码比较麻烦,而JAX-WS 更加抽象,隐藏了更多的
细节,更加面向对象,实现起来你基本上不需要关心SOAP 的任何细节。那么如果你想控制SOAP 消息
的更多细节,可以使用JAXM&SAA J,目前版本为1.3。
![](https://csdnimg.cn/release/download_crawler_static/12332249/bg3.jpg)
2.3.1.3 JAX-RS(常用)
JAX-RS 是JAVA 针对REST(RepresentationState Transfer)风格制定的一套Web 服务规范,由于推
出的较晚,该规范(JSR 311,目前JAX-RS 的版本为1.0)并未随JDK1.6 一起发行,你需要到JCP 上单独
下载JAX-RS 规范的接口,其API 位于javax.ws.rs.*包。这里的JAX-WS 和JAX-RS 规范我们采用Apache
CXF 作为实现,CXF 是Objectweb Celtix和Codehaus XFire 合并而成。CXF 的核心是
org.apache.cxf.Bus(总线),类似于Spring 的ApplicationContext,Bus 由BusFactory 创建,默认是
SpringBusFactory 类,可见默认CXF是依赖于Spring 的,Bus 都有一个ID,默认的BUS 的ID 是cxf。你
要注意的是Apache CXF2.2 的发行包中的jar 你如果直接全部放到lib 目录,那么你必须使用JDK1.6,否
则会报JAX-WS 版本不一致的问题。对于JAXM&SAA J 规范我们采用JDK 中自带的默认实现。
2.3.2 SOAP协议
1. SOAP即简单对象访问协议(Simple Object Access Protocol),主要用于客户端和服务端通信使用
的数据协议。它是用于交换XML(标准通用标记语言下的一个子集)编码信息的轻量级协议。它有
三个主要方面:XML-envelope为描述信息内容和如何处理内容定义了框架,将程序对象编码成为
XML对象的规则,执行远程过程调用(RPC)的约定。SOAP可以运行在任何其他传输协议上。
2. SOAP作为一个基于XML语言的协议用于有网上传输数据。
3. SOAP = 在HTTP的基础上+XML数据。(JAX-WS)。
4. SOAP是基于HTTP的。
5. SOAP的组成如下。
2.3.3 wsdl说明书
Web Service描述语言WSDL(SebService Definition Language)就是用机器能阅读的方式提供的
一个正式描述文档而基于XML(标准通用标记语言下的一个子集)的语言,用于描述Web Service及其
函数、参数和返回值。因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的。
wsdl说明书:
1. 通过wsdl说明书,就可以描述webservice服务端对外发布的服务;
2. wsdl说明书是一个基于xml文件,通过xml语言描述整个服务;
3. 在wsdl说明中,描述了:
对外发布的服务名称(类)
接口方法名称(方法)
接口参数(方法参数)
服务返回的数据类型(方法返回值)
2.3.4 UDDI
Web 服务提供商又如何将自己开发的 Web 服务公布到因特网上,这就需要使用到 UDDI 了,
UDDI的话,是一个跨产业,跨平台的开放性架构,可以帮助Web 服务提供商在互联网上发布 Web 服
务的信息。UDDI 是一种目录服务,企业可以通过 UDDI 来注册和搜索 Web 服务。简单来时候话,
UDDI 就是一个目录,只不过在这个目录中存放的是一些关于 Web 服务的信息而已。
并且 UDDI 通过SOAP 进行通讯,构建于 . Net 之上。UDDI 即 Universal Description,Discovery
andIntegration,也就是通用的描述,发现以及整合。UDDI 的目的是为电子商务建立标准;UDDI是一
套基于Web的、分布式的、为WebService提供的、信息注册中心的实现标准规范,同时也包含一组使
企业能将自身提
供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。
2.4 应用场景
![](https://csdnimg.cn/release/download_crawler_static/12332249/bg4.jpg)
Web Service 可以适用于应用程序集成、软件重用、跨防火墙通信等需求。不同的
业务要求不同。具体如下:
跨防火墙通信
应用系统集成
软件和数据重用
简单来说,如果一个功能,需要被多个系统使用可以使用webservice开发一个服务端接口,供不同的客
户端应用。主要应用在企业内部系统之间的接口调用、面向公网的webservice服务。
2.5 优缺点
2.5.1 优点
异构平台的互通性
理论上, Web Service 最大的优势是提供了异构平台的无缝街接技术手段。由于不同的用户使用
不同的硬件平台,不同的操作平台,不同的操作系统,不同的软件,不同的协议通信,这就产生了
互相通信的需求。 Web Service 使任何两个应用程序,只要能读写XML,那么就能互相通信。
更广泛的软件复用(例如手机淘宝可以复用已有淘宝的业务逻辑.)
软件的复用技术通过组合已有模块来搭建应用程序,能大幅度提高软件的生产效率和质量。用户只
要获得了描述 Web Service 的 WSDL 文件,就可以方便地生成客户端代理,并通过代理访问 Web
Service 。
成本低、可读性强、应用范围广
Web Service 可用基于 XML 的 SOAP 来表示数据和调用请求。并且通过 HTTP 协议传输XML 格式
的数据
迅捷的软件发行方式
(每个web Service称为一个生产者.不同的生产者可以相互协同合作完成整个应用)Web Service 将
彻底地改变软件的发行方式。软件供应商可以把软件分解成若Web Service 模块构成的系统,直接
在 Web 上发布。
最重要的一点
客户端与服务端可能是用不同的语言开发的,但是,通过webservice提供服务接口,客户端与服
务端之前可以传递对象。(基于soap协议)
![](https://csdnimg.cn/release/download_crawler_static/12332249/bg5.jpg)
2.5.2 缺点
由于soap是基于xml传输,本身使用xml传输会传输一些无关内容从而影响效率,随着soap协议的
完善,soap协议增加了许多内容,这样就导致了使用soap去完成简单的数据传输而携带的信息更
多效率再受影响;
Web Service作为web跨平台访问的标准技术,很多公司都限定要求使用Web Service,但如果是
简单的接口可以直接使用http传输自定义数据格式,开发更快捷。
2.6 面向服务架构SOA
SOA(Service-OrientedArchitecture)面向服务架构是一种思想,它将应用程序的不同功能单元通过中立
的契约(独立于硬件平台、操作系统和编程语言)联系起来,使得各种形式的功能单元更好的集成。目
前来说,WebService 是SOA 的一种较好的实现方WebService 采用HTTP 作为传输协议,
SOAP(Simple Object Access Protocol)作为传输消息的格式。但WebService 并不是完全符合SOA
的概念,因为SOAP 协议是WebService 的特有协议,并未符合SOA 的传输协议透明化的要求。SOAP
是一种应用协议,早期应用于RPC 的实现,传输协议可以依赖于HTTP、SMTP 等。
SOA 的产生共经历了如下过程:
通常采用SOA 的系统叫做服务总线(BUS),结构如下图所示:
剩余40页未读,继续阅读
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/c346e01804a3477fa4089a6c8adc0d3c_qq_41141022.jpg!1)
肥电
- 粉丝: 5
- 资源: 6
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)