• Java RESTful Web Service相关概念


          原文地址:http://1.liangtao.sinaapp.com/?p=647

         接上一篇文章REST|RESTful初步认识:http://1.liangtao.sinaapp.com/?p=639之后,在接下来的了解中也遇到了一些问题,不太懂的Java WebService这一套体系结构,导致对一些技术术语是是而非,对于若干技术,若干规范没有一个总体上的认识。这篇文章即是对Java中RESTful WebService架构相关规范,技术的认识。

    Web Service

          从表明上来看,Web service就是一个应用程序,它向外界暴露一个可以通过web进行调用的API(无关乎语言、平台)。

          从深层次上看,Web service是一种新的web应用程序分支,他们是自包括,自描写叙述,模块化的应用。他遵循一定的技术规范和协议。因此WebService并非某种详细的技术,他更像是一种标准,实际上webservice就是W3C的标准:

    Web Services是应用程序组件
    Web Services使用开发协议进行通信
    Web Services是独立的并可进行自我描写叙述
    Web Services可通过使用UDDI来发现
    Web services可被其它应用程序使用 
          对于Web Service先做以上认知就可以。


    JWS

          指的是与Web Service相关的JavaEE技术,全称就是Java WebService。

          详细来讲,JWS含有例如以下的技术

    JAX-WS:XML Web Service的JAVA API
    JAX-RS:Java API for RESTful Web Services
    JAXB:Java Architecture for XML Binding业界标准,依据XML Schema产生java类
    JAXR:Java API for XML Registries提供了与多种类型注冊服务进行交互的API
    SAAJ:松散耦合软件系统基于SOAP协议实现的基于XML消息传递的API规范。


    StAX:Stream API for XML,和SAX不同,StAX使用基于流机制对XML文档进行分析和生成。

          这里须要理解JAX-WS和JAX-RS的差别:

          两者是不同风格的SOA架构。前者以动词为中心,指定的是每次运行函数。JAX-WS是面向消息的,每次请求的时候指定了详细的请求方法。比如:http://localhost:8080/demo/getStudentList。

          后者是以名词为中心的,每次运行的时候指的是资源URI。

    JAX-RS是面向资源的,每次请求仅仅对资源进行操作:增删改查,它规范定义了Java的RESTful风格(名词形式公布API)

          JAXB是Java XML Binding,是JAX-RS 和JAX-WS底层使用的对象与XML进行转换的工具

          JAX-WS和JAX-RS都是用于实现JWS的,仅仅是两者风格不同,JAX-WS的实现基于SOAP协议,面向消息。

    JAX-RS是对基于REST设计风格的Web Service提供API规范。关于REST可參考:http://1.liangtao.sinaapp.com/?p=639

    JAX-WS和JAX-RS实现

           支持JAX-WS服务规范的框架有:CXF,Axis,Xfile。

           支持JAX-RS服务规范的框架有:CXF,Jersey,RESTEasy,Restlet。

    整体框架图

           说了这么多,附上总体框架图,在了解上述概念之后,再看此框架图会有一种原来如此的感觉,清晰思路。



           Over!

  • 相关阅读:
    MySQL 5.6.9 RC 发布
    红薯 Java 8 的日期时间新用法
    Couchbase Server 2.0 发布,NoSQL 数据库
    Firefox OS 模拟器 1.0 发布
    Calculate Linux 13 Beta 1 发布
    敏捷测试的团队构成
    Node.js 0.8.16 发布(稳定版)
    JASocket 1.1.0 发布
    Samba 4.0 正式版发布,支持活动目录
    Seafile 1.3 发布,文件同步和协作平台
  • 原文地址:https://www.cnblogs.com/blfshiye/p/5276434.html
Copyright © 2020-2023  润新知