• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            大龍的博客

            常用鏈接

            統(tǒng)計(jì)

            最新評論

            Java中對WebService的支持

            SOA(Service-Oriented Architecture) 面 向服務(wù)架構(gòu)是一種思想,它將應(yīng)用程序的不同功能單元單元更好的集成。目前來說,WebService是SOA的一種較好的實(shí)現(xiàn)方式,WebService 采用HTTP作為傳輸協(xié)議,SOAP(Simple Object Access Protocol)作為傳輸消息的格式。但WebService并不是完全符合SOA的概念,因?yàn)镾OAP協(xié)議是WebService的特有協(xié)議,并未符 合SOA的傳輸協(xié)議透明化的要求。SOAP是一種應(yīng)用協(xié)議,早期應(yīng)用于RPC的實(shí)現(xiàn),傳輸協(xié)議可以依賴于HTTP、SMTP等。通常采用SOA的系統(tǒng)叫做 企業(yè)服務(wù)總線(ESB),并且可以擴(kuò)展。

            Java中有三種WebService規(guī)范:JAX-WS(JAX-RPC)、JAXM&SAAJJAX-RS

            1. JAX-WS

            JAX-WS(Java API For XML-WebService),JDK1.6 自帶的版本為JAX-WS2.1,其底層支持為JAXB。早期的基于SOAP的JAVA的Web服務(wù)規(guī)范JAX-RPC(Java API For XML-Remote Procedure Call)目前已經(jīng)被JAX-WS規(guī)范取代,JAX-WS是JAX-RPC的演進(jìn)版本,但JAX-WS并不完全向后兼容JAX-RPC,二者最大的區(qū)別就 是RPC/encoded樣式的WSDL,JAX-WS已經(jīng)不提供這種支持。JAX-RPC的API從JAVA EE5開始已經(jīng)移除,如果你使用J2EE1.4,其API位于javax.xml.rpc.*包。JAX-WS(JSR 224)規(guī)范的API位于javax.xml.ws.*包,其中大部分都是注解,提供API操作Web服務(wù)(通常在客戶端使用的較多,由于客戶端可以借助 SDK生成,因此這個(gè)包中的API我們較少會直接使用)。WS-MetaData(JSR 181)是JAX-WS的依賴規(guī)范,其API位于javax.jws.*包,使用注解配置公開的Web服務(wù)的相關(guān)信息和配置SOAP消息的相關(guān)信息。

            2. JAXM&SAAJ

            JAXM(JAVA API For XML Message) 主 要定義了包含了發(fā)送和接收消息所需的API,相當(dāng)于Web服務(wù)的服務(wù)器端,其API位于javax.messaging.*包,它是JAVA EE的可選包,因此SAAJ(SOAP With Attachment API For Java,JSR 67)是與JAXM搭配用的API,為構(gòu)建SOAP包和解析SOAP包提供了重要的支持,支持附件傳輸,它在服務(wù)器端、客戶端都需要使用。這里還要提到的 是SAAJ規(guī)范,其API位于javax.xml.soap.*包。JAXM&SAAJ與JAX-WS都是基于SOAP的Web服務(wù),相比之下 JAXM&SAAJ暴漏了SOAP更多的底層細(xì)節(jié),編碼比較麻煩,而JAX-WS更加抽象,隱藏了更多的細(xì)節(jié),更加面向?qū)ο螅瑢?shí)現(xiàn)起來你基本上不 需要關(guān)心SOAP的任何細(xì)節(jié)。那么如果 你想控制SOAP消息的更多細(xì)節(jié),可以使用JAXM&SAAJ。

            3. JAX-RS

            JAX-RS(Java API For RESTful Web Services) 是 JAVA針對REST(Representation State Transfer)風(fēng)格制定的一套Web服務(wù)規(guī)范,由于推出的較晚,該規(guī)范(JSR 311)并未隨JDK1.6一起發(fā)行,你需要到JCP上單獨(dú)下載JAX-RS規(guī)范的接口,其API位于javax.ws.rs.*包。

             Reftful足夠簡單主要有以下一些特點(diǎn):

            一、Resource identification through URI:一個(gè)Rest服務(wù)向外暴露一個(gè)服務(wù),通過唯一一個(gè)URI進(jìn)行標(biāo)注,

            二、Uniform interface: Rest服務(wù)主要通過四個(gè)關(guān)鍵字來標(biāo)識每一次請求過來的操作,PUT, GET, POST, and DELETE.PUT:創(chuàng)建一個(gè)新的資源,GET:得到一個(gè)資源,POST:更新操作,DELETE:執(zhí)行刪除動作。

            三、Self-descriptive messages: 信息的自我描述,在Rest服務(wù)交互中,server/client之間可以通過多種格式進(jìn)行交互,如:HTML, XML, plain text, PDF, JPEG, JSON, and others.

            四、Stateful interactions through hyperlinks: 在 server/client的交互過程中,可以實(shí)現(xiàn)有狀態(tài)的交互,其實(shí)在Rest中,對資源的一次請求是一種無狀態(tài)的方式,而在Rest中,一種有狀態(tài)的 交互是通過明確的state transfer來進(jìn)行的,主要的實(shí)現(xiàn)方式可通過URI的重寫、cookies方式、隱藏域等實(shí)現(xiàn)。而且狀態(tài)可以嵌入到相應(yīng)頭中來處理。

            posted on 2012-06-22 16:24 大龍 閱讀(434) 評論(0)  編輯 收藏 引用


            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            久久久精品久久久久影院| 亚洲国产精品久久久久婷婷软件| 天天做夜夜做久久做狠狠| 婷婷久久综合九色综合绿巨人 | 国产精品久久久久久一区二区三区| a高清免费毛片久久| 色综合久久88色综合天天 | 欧洲精品久久久av无码电影| 亚洲国产精久久久久久久| 亚洲精品乱码久久久久久按摩| 久久精品国产99国产精品澳门 | 久久性生大片免费观看性| 久久亚洲国产成人精品性色| 国产精品成人无码久久久久久| 日本强好片久久久久久AAA| 日韩久久无码免费毛片软件| 国产精品禁18久久久夂久| 亚洲国产成人精品91久久久| 久久综合久久综合九色| 久久久久久国产精品无码超碰| 久久天天躁狠狠躁夜夜2020| 久久亚洲精品中文字幕三区| 国内精品久久久久影院薰衣草| 亚洲国产成人精品91久久久| 久久久99精品成人片中文字幕| 久久国产精品久久国产精品| 色欲av伊人久久大香线蕉影院| 婷婷久久综合九色综合九七| 久久久久亚洲AV成人网| 国产精品成人99久久久久| WWW婷婷AV久久久影片| 欧美va久久久噜噜噜久久| 久久久无码人妻精品无码| 国产成年无码久久久免费| 亚洲精品蜜桃久久久久久| 一本久久a久久精品vr综合| 无码专区久久综合久中文字幕| 精品免费久久久久国产一区| 欧美与黑人午夜性猛交久久久| 久久精品国产99久久香蕉| 久久久久亚洲AV综合波多野结衣|