Webservice 概述

一、简介
Web service 即web服务,它是一种跨编程语言和跨操作系统平台的远程调用技术即跨平台远程调用技术。
Web service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。
Web Service为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制。
二、标准
采用标准SOAP(Simple Object Access Protocol) 协议传输,soap属于w3c标准。Soap协议是基于http的应用层协议,soap协议传输是xml数据。
soap协议就是定义xml的标签格式
三、方式
采用wsdl(Web Services Description Language)作为描述语言【即webservice接口使用说明书】wsdl属w3c标准。
xml是webservice的跨平台的基础,XML主要的优点在于它既与平台无关,又与厂商无关。
XSD,W3C为webservice制定了一套传输数据类型,使用xml进行描述,即XSD(XML Schema Datatypes),任何编程语言写的webservice接口在发送数据时都要转换成webservice标准的XSD发送。
WebService数据传输的方式
1. SOAP:http+xml
2. Http rest :一套用来创建Web Service的方法,REST式的Web Service使用HTTP 里的方法:GET,POST,DELETE, PUT
3. http自定义数据协议:比如http传输json数据,http传输xml数据等
四、WebService三要素
1、soap
SOAP即简单对象访问协议(Simple Object Access Protocal) 是一种简单的基于 XML 的协议,它使应用程序通过 HTTP 来交换信息.
简单理解为soap=http+xml,就是通过HTTP发xml数据
Soap协议版本主要使用soap1.1、soap1.2。
SOAP不是webservice的专有协议,其他应用协议也使用soap传输数据。例如,SMTP。
2、WSDL
WSDL 是基于 XML 的用于描述Web Service及其函数、参数和返回值。通俗理解Wsdl是webservice的使用说明书
3、UDDI
UDDI 是一种目录服务,通过它,企业可注册并搜索 Web services。企业将自己提供的Web Service注册在UDDI,也可以使用别的企业在UDDI注册的web service服务,从而达到资源共享。
UDDI旨在将全球的webservcie资源进行共享,促进全球经济合作。
目前大部分企业使用webservice并不是必须使用UDDI,因为用户通过WSDL知道了web service的地址,可以直接通过WSDL调用webservice
五、Webservice开发规范
JAVA 中共有三种 实现WebService 开发规范JAX-WS(JAX-RPC)、JAXM & SAAJ、JAX-RS
1、JAX-WS概述
JAX-WS 的全称为 Java API for XML-Based Webservices ,早期的基于SOAP 的JAVA 的Web 服务规范JAX-RPC(Java API For XML-Remote Procedure Call)目前已经被JAX-WS 规范取代。
从jdk1.5开始支持JAX-WS2.0版本,
Jdk1.6.0_13以后的版本支持2.1版本,
jdk1.7支持2.2版本。
也就是说java提供了一个jar包来实现webservice
2、JAXM&SAAJ概述
JAXM(JAVA API For XML Message)主要定义了包含了发送和接收消息所需的API
SAAJ(SOAP With Attachment API For Java,JSR 67)是与JAXM 搭配使用的API,为构建SOAP 包和解析SOAP 包提供了重要的支持,支持附件传输等
JAXM & SAAJ 与JAX-WS 都是基于SOAP 的Web 服务
相比之下JAXM&SAAJ 暴漏了SOAP更多的底层细节,编码比较麻烦
而JAX-WS 更加抽象,隐藏了更多的细节,更加面向对象,实现起来你基本上不需要关心SOAP 的任何细节【开发者更喜欢这种方式开发webservice】
3、JAX-RS概述
JAX-RS 是JAVA 针对REST(Representation State Transfer)风格制定的一套Web 服务规范,由于推出的较晚,该规范(JSR 311,目前JAX-RS 的版本为1.0)并未随JDK1.6 一起发行。

六、Webservice的适用场景
适用场景
发布一个服务(对内/对外),不考虑客户端类型,不考虑性能,建议使用 webservice
服务端已经确定使用webservice,客户端不能选择,必须使用webservice

不适用场景
考虑性能时不建议使用webservice
同构程序下不建议使用webservice,比如java 用RMI,不需要翻译成XML的数据

RMI概念
RMI(即Remote Method Invoke 远程方法调用)。在Java中,只要一个类extends了java.rmi.Remote接口,即可成为存在于服务器端的远程对象,供客户端访问并提供一定的服务

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值