中文字幕二区_国产精品免费在线观看_黄色网站观看_人人草人人澡_日本真实娇小xxxx

您的位置: 首頁(yè) > 技術(shù)文檔 > 網(wǎng)絡(luò)編程 > WebService的基本概念
用 Mozilla 調(diào)試網(wǎng)頁(yè) 回到列表 [ASP]提高數(shù)據(jù)顯示效率--緩存探幽
 WebService的基本概念

作者:Stone藝術(shù)工作室  時(shí)間: 2005-09-13 文檔類型:轉(zhuǎn)載 來自:相關(guān)論壇

WebService是一種可以接收從Internet或者Intranet上的其它系統(tǒng)中傳遞過來的請(qǐng)求,輕量級(jí)的獨(dú)立的通訊技術(shù)。

這種技術(shù)允許網(wǎng)絡(luò)上的所有系統(tǒng)進(jìn)行交互。隨著技術(shù)的發(fā)展,一個(gè)Web服務(wù)可以包含額外的指定功能并且可以在多個(gè)B2B應(yīng)用中協(xié)作通訊。 Web服務(wù)可以理解請(qǐng)求中上下文的關(guān)系,并且在每一個(gè)特定的情況下產(chǎn)生動(dòng)態(tài)的結(jié)果。這些服務(wù)會(huì)根據(jù)用戶的身份,地點(diǎn)以及產(chǎn)生請(qǐng)求的原因來改變不同的處理,用以產(chǎn)生一個(gè)唯一的,定制的方案。這種協(xié)作機(jī)制對(duì)那些只對(duì)最終結(jié)果有興趣的用戶來說,是完全透明的。  

UDDI
在用戶能夠調(diào)用Web服務(wù)之前,必須確定這個(gè)服務(wù)內(nèi)包含哪些商務(wù)方法,找到被調(diào)用的接口定義,還要在服務(wù)端來編制軟件。所以,我們需要一種方法來發(fā)布我們的Web服務(wù)。 UDDI (Universal Description, Discovery, and Integration) 是一個(gè)主要針對(duì)Web服務(wù)供應(yīng)商和使用者的新項(xiàng)目。UDDI 項(xiàng)目中的成員可以通過UDDI Business Registry (UBR) 來操作Web服務(wù)的調(diào)用,UBR是一個(gè)全球性的服務(wù)。 Web服務(wù)供應(yīng)商可以在UBR中描述并且注冊(cè)他們的服務(wù)。 用戶可以在UBR中查找并定位那些他們需要的服務(wù)。 UDDI是一種根據(jù)描述文檔來引導(dǎo)系統(tǒng)查找相應(yīng)服務(wù)的機(jī)制。 UDDI包含標(biāo)準(zhǔn)的“白皮書”類型的商業(yè)查詢方式, “黃皮書”類型的局部查找,以及 “綠皮書”類型的服務(wù)類型查找。 UDDI利用SOAP消息機(jī)制(標(biāo)準(zhǔn)的XML/HTTP)來發(fā)布,編輯,瀏覽以及查找注冊(cè)信息。它采用XML格式來封裝各種不同類型的數(shù)據(jù),并且發(fā)送到注冊(cè)中心或者由注冊(cè)中心來返回需要的數(shù)據(jù)。  
WSDL

對(duì)于商業(yè)用戶來說,要找到一個(gè)自己需要使用的服務(wù),他必須知道如何來調(diào)用。 WSDL (Web Services Description Language) 規(guī)范是一個(gè)描述接口,語(yǔ)義以及Web服務(wù)為了響應(yīng)請(qǐng)求需要經(jīng)常處理的工作的XML文檔。這將使簡(jiǎn)單地服務(wù)方便,快速地被描述和記錄。以下是一個(gè)WSDL的樣例:

<?xml version="1.0"?>
<definitions name="StockQuote"
                targetNamespace="http://example.com/stockquote.wsdl"
                xmlns:tns="http://example.com/stockquote.wsdl"
                xmlns:xsd1="http://example.com/stockquote.xsd"
                xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
                xmlns="http://schemas.xmlsoap.org/wsdl/">
<types>
   <schema targetNamespace=http://example.com/stockquote.xsd
                 xmlns="http://www.w3.org/2000/10/XMLSchema">
      <element name="TradePriceRequest">
        <complexType>
           <all>
                <element name="tickerSymbol" type="string"/>
              </all>
           </complexType>
        </element>
        <element name="TradePrice">
            <complexType>
                <all>
                   <element name="price" type="float"/>
                 </all>
              </complexType>
           </element>
        </schema>
     </types>
     <message name="GetLastTradePriceInput">
         <part name="body" element="xsd1:TradePriceRequest"/>
     </message>
     <message name="GetLastTradePriceOutput">
         <part name="body" element="xsd1:TradePrice"/>
    </message>
    <portType name="StockQuotePortType">
        <operation name="GetLastTradePrice">
            <input message="tns:GetLastTradePriceInput"/>
            <output message="tns:GetLastTradePriceOutput"/>
         </operation>
      </portType>
      <binding name="StockQuoteSoapBinding"
                    type="tns:StockQuotePortType">
         <soap:binding style="document"
                                 transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="GetLastTradePrice">
            <soap:operation
                           soapAction="http://example.com/GetLastTradePrice"/>
            <input>
               <soap:body use="literal"/>
            </input>
            <output>
                <soap:body use="literal"/>
            </output>
         </operation>
      </binding>
     <service name="StockQuoteService">
        <documentation>My first service</documentation>
        <port name="StockQuotePort" binding="tns:StockQuoteBinding">
            <soap:address location="http://example.com/stockquote"/>
        </port>
     </service>
  </definitions>

它包含了以下的關(guān)鍵信息: 消息的描述和格式定義可以通過XML文檔中的<types><message> 標(biāo)記來傳送。 <portType> 標(biāo)記中表示了消息傳送機(jī)制。 (e.g. request-only, request-response, response-only) 。 <binding> 標(biāo)記指定了編碼的規(guī)范 。 <service> 標(biāo)記中表示服務(wù)所處的位置 (URL)。 WSDL在UDDI中總是作為一個(gè)接口描述文檔。因?yàn)閁DDI是一個(gè)通用的用來注冊(cè)WSDL規(guī)范的地方,UDDI的規(guī)范并不限制任何類型或者格式描述文檔。這些文檔可能是一個(gè)WSDL文檔,或者是一個(gè)正規(guī)的包含導(dǎo)向文檔的Web頁(yè)面,也可能只是一個(gè)包含聯(lián)系信息的電子郵件地址,F(xiàn)在Java提供了一個(gè) Java API for WSDL (JWSDL)規(guī)范。它提供了一套能快速處理WSDL文檔的方法,并且不用直接對(duì)XML文檔進(jìn)行操作,它會(huì)比JAXP更方便,更快速。  

SOAP

當(dāng)商業(yè)用戶通過UDDI找到你的WSDL描述文檔后,他通過可以Simple Object Access Protocol (SOAP) 調(diào)用你建立的Web服務(wù)中的一個(gè)或多個(gè)操作。 SOAP是XML文檔形式的調(diào)用商業(yè)方法的規(guī)范,它可以支持不同的底層接口,象HTTP(S)或者SMTP。 之所以使用XML是因?yàn)樗莫?dú)立于編程語(yǔ)言,良好的可擴(kuò)展性以及強(qiáng)大的工業(yè)支持。之所以使用HTTP是因?yàn)閹缀跛械木W(wǎng)絡(luò)系統(tǒng)都可以用這種協(xié)議來通信,由于它是一種簡(jiǎn)單協(xié)議,所以可以與任何系統(tǒng)結(jié)合,還有一個(gè)原因就是它可以利用80端口來穿越過防火墻。 SOAP的強(qiáng)大是因?yàn)樗?jiǎn)單。SOAP是一種輕量級(jí)的,非常容易理解的技術(shù),并且很容易實(shí)現(xiàn)。它有工業(yè)支持,可以從各主要的電子商務(wù)平臺(tái)供應(yīng)商那里獲得。從技術(shù)角度來看,SOAP詳細(xì)指明了如何響應(yīng)不同的請(qǐng)求以及如何對(duì)參數(shù)編碼。一個(gè)SOAP封裝了可選的頭信息和正文,并且通常使用HTTP POST方法來傳送到一個(gè)HTTP 服務(wù)器,當(dāng)然其他方法也是可以的,例如SMTP。SOAP同時(shí)支持消息傳送和遠(yuǎn)程過程調(diào)用。以下是一個(gè)SOAP請(qǐng)求。

POST /StockQuote HTTP/1.1
Host: www.stockquoteserver.com
Content-Type: text/xml; charset="utf-8"
Content-Length: nnnn
SOAPAction: "Some-URI" <SOAP-ENV:Envelope
    xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
    SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
    <SOAP-ENV:Header>
        <t:Transaction xmlns:t="some-URI" SOAP-ENV:mustUnderstand="1">
           5
        </t:Transaction>
    </SOAP-ENV:Header>
    <SOAP-ENV:Body>
        <m:GetLastTradePrice xmlns:m="Some-URI">
            <symbol>SUNW</symbol>
        </m:GetLastTradePrice>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

JAXR
為了支持UDDI在Java平臺(tái)上的功能,Java APIs for XML Registries (JAXR)允許開發(fā)者來訪問注冊(cè)中心。 值得注意的是,JAXR并不是建立Web服務(wù)必需的,你可以利用其他常用的XML APIs來直接集成這些協(xié)議。 JAXR是一個(gè)方便的API,它提供了Java API來發(fā)布,查找以及編輯那些注冊(cè)信息。它的重點(diǎn)在于基于XML的B2B應(yīng)用,復(fù)雜的地址本查找以及對(duì)XML消息訂閱的支持等Web服務(wù)。 它也可以用來訪問其他類型的注冊(cè)中心,象ebXML注冊(cè)中心。這些對(duì)Web服務(wù)的注冊(cè)信息進(jìn)行的操作,可以使用當(dāng)前的一些Web服務(wù)工具來完成(例如第三方的SOAP和ebXML消息工具)。另外,當(dāng)JAXP提供了一致并具有針對(duì)性的API來完成這些操作,這將使開發(fā)變得更加容易。
JAX/RPC
為了使開發(fā)人員專注于建立象SOAP那樣的基于XML的請(qǐng)求,JCP正在開發(fā)基于RPC (JAX/RPC) 的Java API。JAX/RPC是用來發(fā)送和接收方法調(diào)用請(qǐng)求的,它基于XML協(xié)議,象SOAP,或者其他的象XMLP (XML Protocol,要了解更多可以參考http://www.w3.org/2000/xp/)。JAX/RPC使你不用再關(guān)注這些協(xié)議的規(guī)范,使應(yīng)用的開發(fā)更快速。不久,開發(fā)人員就不用直接以XML表示方法調(diào)用了。目前有很多第三方實(shí)現(xiàn)了SOAP,開發(fā)人員可以在不同的層次上調(diào)用SOAP,并選擇使用哪一種。將來,JAX/RPC會(huì)取代這些APIs并提供一個(gè)統(tǒng)一的接口來構(gòu)造以及處理SOAP RPC請(qǐng)求。在接收一個(gè)從商業(yè)伙伴那里過來的SOAP請(qǐng)求的時(shí)候,一個(gè)Java servlet用JAX/RPC來接收這個(gè)基于XML的請(qǐng)求。一旦接收到請(qǐng)求后,servlet會(huì)調(diào)用商務(wù)方法,并且把結(jié)果回復(fù)給商業(yè)伙伴。
JAXM

當(dāng)從商業(yè)合作伙伴那里接收一個(gè)Web服務(wù)的請(qǐng)求時(shí),我們需要Java API實(shí)現(xiàn)一個(gè)Servlet來處理ebXML消息,就象我們用JAX/RPC來處理SOAP請(qǐng)求一樣。 Java API for XML Messaging (JAXM) 是集成XML消息標(biāo)準(zhǔn)(象ebXML消息或者SOAP消息)的規(guī)范。 這個(gè)API是用來推動(dòng)XML消息處理的,它檢測(cè)那些預(yù)定單的消息格式以及約束。它控制了所有的消息封裝機(jī)制,用一種直觀的方式分割了消息中的信息,象路由信息,發(fā)貨單。這樣,開發(fā)人員只要關(guān)注消息的有效負(fù)載,而不用去擔(dān)心那些消息的重復(fù)處理。目前的開發(fā)人員用JAXP來實(shí)現(xiàn)JAXM將要提供的功能,JAXM將會(huì)提供一套非常具有針對(duì)性的API來處理基于XML的消息傳送。這將大大簡(jiǎn)化開發(fā)人員的代碼,并使它們具有統(tǒng)一的接口。 JAXM和JAX/RPC的差別在于處理消息導(dǎo)向的中間件以及遠(yuǎn)程過程調(diào)用的不同。JAXM注重于消息導(dǎo)向,而JAX/RPC是用來完成遠(yuǎn)程過程調(diào)用的。

請(qǐng)注意,在JAXM 和 JAX/RPC技術(shù)成熟之前,開發(fā)人員還是依賴于第三方的SOAP APIs,象Apache SOAP, IdooXOAP, 以及 GLUE。當(dāng)JAXM 和 JAX/RPC正式發(fā)布后,它將為當(dāng)前不同的SOAP和ebXML消息提供統(tǒng)一的接口。就象JDBC位多種不同的數(shù)據(jù)庫(kù)提供統(tǒng)一的接口。  

JAXB
XML綁定技術(shù)可以把XML文檔和Java對(duì)象進(jìn)行自由轉(zhuǎn)換。 用JAXB,你可以在后臺(tái)的EJB層,把XML文檔轉(zhuǎn)換成Java對(duì)象。同樣你也可以把從EJB中取出的Java對(duì)象轉(zhuǎn)換成XML文檔返回給用戶。 JAXB接口提供了比SAX和DOM更高級(jí)的方法來處理XML文檔。它提供的特性可以在XML數(shù)據(jù)和Java類之間互相映射,提供了一個(gè)簡(jiǎn)單的方法來轉(zhuǎn)換XML數(shù)據(jù)。它比逐個(gè)解析標(biāo)記更簡(jiǎn)單。

出處:相關(guān)論壇
責(zé)任編輯:moby

◎進(jìn)入論壇網(wǎng)絡(luò)編程版塊參加討論

相關(guān)文章 更多相關(guān)鏈接
Windows2000 DNS服務(wù)器的區(qū)域類型
Flash MX 2004與WebService使用
為flash構(gòu)建asp.net Webservice
為Flash構(gòu)建 Java WebService
CFMX For F2K4 WebService
關(guān)鍵字搜索 常規(guī)搜索 推薦文檔
熱門搜索:CSS Fireworks 設(shè)計(jì)比賽 網(wǎng)頁(yè)制作 web標(biāo)準(zhǔn) 用戶體驗(yàn) UE photoshop Dreamweaver Studio8 Flash 手繪 CG
站點(diǎn)最新 站點(diǎn)最新列表
周大!熬•自然”設(shè)計(jì)大賽開啟
國(guó)際體驗(yàn)設(shè)計(jì)大會(huì)7月將在京舉行
中國(guó)國(guó)防科技信息中心標(biāo)志征集
云計(jì)算如何讓安全問題可控
云計(jì)算是多數(shù)企業(yè)唯一擁抱互聯(lián)網(wǎng)的機(jī)會(huì)
阿里行云
云手機(jī)年終巨獻(xiàn),送禮標(biāo)配299起
阿里巴巴CTO王堅(jiān)的"云和互聯(lián)網(wǎng)觀"
1499元買真八核 云OS雙蛋大促
首屆COCO桌面手機(jī)主題設(shè)計(jì)大賽
欄目最新 欄目最新列表
淺談JavaScript編程語(yǔ)言的編碼規(guī)范
如何在illustrator中繪制臺(tái)歷
Ps簡(jiǎn)單繪制一個(gè)可愛的鉛筆圖標(biāo)
數(shù)據(jù)同步算法研究
用ps作簡(jiǎn)單的作品展示頁(yè)面
CSS定位機(jī)制之一:普通流
25個(gè)最佳最閃亮的Eclipse開發(fā)項(xiàng)目
Illustrator中制作針線縫制文字效果
Photoshop制作印刷凹凸字體
VS2010中創(chuàng)建自定義SQL Rule

藍(lán)色理想版權(quán)申明:除部分特別聲明不要轉(zhuǎn)載,或者授權(quán)我站獨(dú)家播發(fā)的文章外,大家可以自由轉(zhuǎn)載我站點(diǎn)的原創(chuàng)文章,但原作者和來自我站的鏈接必須保留(非我站原創(chuàng)的,按照原來自一節(jié),自行鏈接)。文章版權(quán)歸我站和作者共有。

轉(zhuǎn)載要求:轉(zhuǎn)載之圖片、文件,鏈接請(qǐng)不要盜鏈到本站,且不準(zhǔn)打上各自站點(diǎn)的水印,亦不能抹去我站點(diǎn)水印。

特別注意:本站所提供的攝影照片,插畫,設(shè)計(jì)作品,如需使用,請(qǐng)與原作者聯(lián)系,版權(quán)歸原作者所有,文章若有侵犯作者版權(quán),請(qǐng)與我們聯(lián)系,我們將立即刪除修改。

您的評(píng)論
用戶名:  口令:
說明:輸入正確的用戶名和密碼才能參與評(píng)論。如果您不是本站會(huì)員,你可以注冊(cè) 為本站會(huì)員。
注意:文章中的鏈接、內(nèi)容等需要修改的錯(cuò)誤,請(qǐng)用報(bào)告錯(cuò)誤,以利文檔及時(shí)修改。
不評(píng)分 1 2 3 4 5
注意:請(qǐng)不要在評(píng)論中含與內(nèi)容無(wú)關(guān)的廣告鏈接,違者封ID
請(qǐng)您注意:
·不良評(píng)論請(qǐng)用報(bào)告管理員,以利管理員及時(shí)刪除。
·尊重網(wǎng)上道德,遵守中華人民共和國(guó)的各項(xiàng)有關(guān)法律法規(guī)
·承擔(dān)一切因您的行為而直接或間接導(dǎo)致的民事或刑事法律責(zé)任
·本站評(píng)論管理人員有權(quán)保留或刪除其管轄評(píng)論中的任意內(nèi)容
·您在本站發(fā)表的作品,本站有權(quán)在網(wǎng)站內(nèi)轉(zhuǎn)載或引用
·參與本評(píng)論即表明您已經(jīng)閱讀并接受上述條款
推薦文檔 | 打印文檔 | 評(píng)論文檔 | 報(bào)告錯(cuò)誤  
專業(yè)書推薦 更多內(nèi)容
網(wǎng)站可用性測(cè)試及優(yōu)化指南
《寫給大家看的色彩書1》
《跟我去香港》
眾妙之門—網(wǎng)站UI 設(shè)計(jì)之道
《Flex 4.0 RIA開發(fā)寶典》
《贏在設(shè)計(jì)》
犀利開發(fā)—jQuery內(nèi)核詳解與實(shí)踐
作品集 更多內(nèi)容

雜⑦雜⑧ Gold NORMANA V2