谈谈 webservice -- 概念

有幸接触到webservice的开发,整理一下近期对它的研究。


一、概念

1. 什么是webservice?

    Web service 即web服务,它是一种跨编程语言和跨操作系统平台的远程调用技术即跨平台远程调用技术。

  采用标准SOAP(Simple Object Access Protocol)  协议传输,soap属于w3c标准。Soap协议是基于http的应用层协议,soap协议传输是xml数据。

  采用wsdl作为描述语言即webservice使用说明书,wsdlw3c标准。

  xml是webservice的跨平台的基础,XML主要的优点在于它既与平台无关,又与厂商无关。

     XSD W3C webservice 制定了一套传输数据类型,使用 xml 进行描述,即 XSD(XML Schema Datatypes) ,任何编程语言写的 webservice 接口在发送数据时都要转换成 webservice 标准的 XSD 发送。

  当前非SOAP协议的webService以轻量为首要目标,比如http rest方式也是webservice的一种方式,或者直接使用http自定义数据协议,比如http传输json数据,http传输xml数据等。


2.webservice三要素(基本上知道2就可以了,1和3不需要看)

  (1)SOAP

    SOAP即简单对象访问协议(Simple Object Access Protocal) 是一种简单的基于 XML 的协议,它使应用程序通过 HTTP 来交换信息,简单理解为soap=http+xml

    Soap协议版本主要使用soap1.1soap1.2

    SOAP不是webservice的专有协议,其他应用协议也使用soap传输数据。例如,SMTPtr069等。


  (2)WSDL

    WSDL 是基于 XML 的用于描述Web Service及其函数、参数和返回值。通俗理解Wsdlwebservice的使用说明书。


  (3)UDDI

    UDDI 是一种目录服务,通过它,企业可注册并搜索 Web services企业将自己提供的Web Service注册在UDDI,也可以使用别的企业在UDDI注册的web service服务,从而达到资源共享。 UDDI旨在将全球的webservcie资源进行共享,促进全球经济合作。

    UDDI现状:

目前大部分企业使用webservice并不是必须使用UDDI,因为用户通过WSDL知道了web service的地址,可以直接通过WSDL调用webservice


3.webservice开发规范

    JAVA 中共有三种WebService 规范,分别是JAX-WSJAX-RPC)、JAXM&SAAJJAX-RS


  (1)JAX-WS

    JAX-WS  的全称为 Java API for XML-Based Webservices ,早期的基于SOAP JAVA Web 服务规范JAX-RPCJava API For XML-Remote Procedure Call)目前已经被JAX-WS 规范取代。从java5开始支持JAX-WS2.0版本,Jdk1.6.0_13以后的版本支持2.1版本,jdk1.7支持2.2版本。

  (2)
JAXM&SAAJ

    JAXMJAVA API For XML Message)主要定义了包含了发送和接收消息所需的APISAAJSOAP With Attachment API For JavaJSR 67)是与JAXM 搭配使用的API,为构建SOAP 包和解析SOAP 包提供了重要的支持,支持附件传输等,JAXM&SAAJ JAX-WS 都是基于SOAP Web 服务,相比之下JAXM&SAAJ 暴漏了SOAP更多的底层细节,编码比较麻烦,而JAX-WS 更加抽象,隐藏了更多的细节,更加面向对象,实现起来你基本上不需要关心SOAP 的任何细节


  (3)
JAX-RS
    
JAX-RS JAVA 针对REST(Representation State Transfer)风格制定的一套Web 服务规范,由于推出的较晚,该规范(JSR 311,目前JAX-RS 的版本为1.0)并未随JDK1.6 一起发行。










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值