Java Web Service基本概念

以下自己总结加拷贝,欢迎指正。

 

Java webservice(JWS)两大主流阵营

Jax-ws,支持SOAP(简单对象访问协议)

Jax-rs,支持REST(表述性状态传递)

另一个XML-RPC(远程过程调用)

关于三者比较可以参看http://blog.csdn.net/zhangzeyuaaa/article/details/20041015

 

Jax-ws 指代传统的webservice

Jax-rs 指代restful webservice

 

这两个目的都是提供统一的接口处理两种web service实现,从而降低对第三方具体实现的依赖

 

传统webservice三要素:SOAP、WSDL(WebServicesDescriptionLanguage)、UDDI(UniversalDescriptionDiscovery andIntegration), soap用来描述传递信息的格式, WSDL 用来描述如何访问具体的接口, uddi用来管理,分发,查询webService 。

 

 

什么是 SOAP?

  • SOAP 指简易对象访问协议
  • SOAP 是一种通信协议
  • SOAP 用于应用程序之间的通信
  • SOAP 是一种用于发送消息的格式
  • SOAP 被设计用来通过因特网进行通信
  • SOAP 独立于平台
  • SOAP 独立于语言
  • SOAP 基于 XML
  • SOAP 很简单并可扩展
  • SOAP 允许您绕过防火墙
  • SOAP 将被作为 W3C 标准来发展
  • http://www.w3school.com.cn/soap/soap_intro.asp

 

SOAP简单的理解,就是这样的一个开放协议SOAP=RPC+HTTP+XML:采用HTTP作为底层通讯协议;RPC作为一致性的调用途径,XML作为数据传送的格式,允许服务提供者和服务客户经过防火墙在INTERNET进行通讯交互。RPC的描叙可能不大准确,因为SOAP一开始构思就是要实现平台与环境的无关性和独立性,每一个通过网络的远程调用都可以通过SOAP封装起来,包括DCE(Distributed Computing Environment ) RPC CALLS,COM/DCOM CALLS, CORBA CALLS, JAVA CALLS,etc。

SOAP 使用 HTTP 传送 XML,尽管HTTP 不是有效率的通讯协议,而且 XML 还需要额外的文件解析(parse),两者使得交易的速度大大低于其它方案。但是XML 是一个开放、健全、有语义的讯息机制,而 HTTP 是一个广泛又能避免许多关于防火墙的问题,从而使SOAP得到了广泛的应用。但是如果效率对你来说很重要,那么你应该多考虑其它的方式,而不要用 SOAP。

http://www.ibm.com/developerworks/cn/xml/x-sisoap/

 

 

REST基础概念

  • 在REST中所有东西都被看作资源。每一个资源都有一个URI和它对应。
  • 在REST中使用统一接口处理资源。与数据库CRUD操作(Create、Read、Update 和 Delete)一样,可以用POST、GET、PUT和DELETE处理REST资源。
  • 每个REST请求都是孤立的,请求中包含了所需的全部信息。REST服务端不存储状态。
  • REST支持不同的通信数据格式,比如XML、JSON。
  • http://www.importnew.com/7336.html

 

 

现在具体的实现常用的有

Axis2

CXF

 

目前认为CXFspring比较友好

axis2是同时支持Cjava

具体的比较网上比较多,此处不列了。

 

你可能感兴趣的:(webservice,REST,SOAP,概念)