<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-128  評(píng)論-55  文章-5  trackbacks-0
     

    1.1     WSRF協(xié)議族

    2002-2003年提出的OGSI的概念是開放網(wǎng)格體系結(jié)構(gòu) (OGSA : Open Grid Service Architecture[34]) 的基本組件,它是一項(xiàng)基于新興的Web service標(biāo)準(zhǔn)的網(wǎng)格軟件基礎(chǔ)結(jié)構(gòu)標(biāo)準(zhǔn)化工作,用于為 OGSA 軟件組件提供最大的互操作性。其根本的出發(fā)點(diǎn)是通過將關(guān)鍵的網(wǎng)格技術(shù)與Web Services技術(shù)集成起來,形成一個(gè)分布式系統(tǒng)框架,通過一種Grid service來實(shí)現(xiàn)兩者的結(jié)合。

    為了更好的將Grid service的設(shè)想與現(xiàn)有的Web Services技術(shù)體系結(jié)構(gòu)融合起來,有必要對(duì)OGSI協(xié)議做必要的改進(jìn)。WSRF就是針對(duì)這一目標(biāo)而給出的對(duì)OGSI的重構(gòu)和發(fā)展。根據(jù)OGSI的幾點(diǎn)不足,把OGSI分成幾個(gè)相互獨(dú)立的協(xié)議,同時(shí)使用一些新的Web服務(wù)協(xié)議來對(duì)OGSI的功能進(jìn)行分解和擴(kuò)充,它的出現(xiàn)就是為了取代OGSI而成為OGSA的重要組成部分。

    WSRF是對(duì)OGSI的重構(gòu)和擴(kuò)展,它目標(biāo)在于使用新的Web服務(wù)標(biāo)準(zhǔn),特別是WS-Addressing,同時(shí)基于早期的實(shí)現(xiàn)和應(yīng)用經(jīng)驗(yàn)擴(kuò)展OGSI

    WSRF框架包含以下5個(gè)協(xié)議:

    l        WS-Resource協(xié)議:解釋WS-Resources的總體概念,并展示后續(xù)文檔中的所有概念如何成為一體。

    l        WS-ResourceProperties協(xié)議:解釋如何定義和操縱 WS-Resource

    l        WS-ResourceLifetime協(xié)議:解釋如何銷毀 WS-Resource

    l        WS-BaseFault協(xié)議:定義任何WSRF應(yīng)用程序都必須實(shí)現(xiàn)的基本故障消息,以及如何擴(kuò)展它以創(chuàng)建新的故障。

    l        WS-ServiceGroup協(xié)議:解釋如何創(chuàng)建 WS-Resources 的邏輯組,以及如何控制和操縱這些組。

     

    另外與WSRF密切相關(guān)的WS-Notification系列協(xié)議使得我們可以在Web服務(wù)的無狀態(tài)環(huán)境中模擬事件驅(qū)動(dòng)的應(yīng)用程序。WSN協(xié)議族包含以下三個(gè)協(xié)議:

    l        WS-BaseNotification協(xié)議:定義了基本通知機(jī)制的角色、接口及消息交換格式。

    l        WS-BrokeredNotification協(xié)議:定義了代理通知機(jī)制的角色、接口及消息交換格式。

    l        WS-Topics協(xié)議:定義了通知主題名字空間,主題,主題表達(dá)式結(jié)構(gòu)以及主題表達(dá)式查詢語言。

    1.1.1   WS-Resource協(xié)議

    1.1.1.1    什么是WS-Resource?

    WS-Resource 是一個(gè)有狀態(tài)資源(比如數(shù)據(jù)庫或硬盤)和它與之交互的 Web 服務(wù)組合。有狀態(tài)資源是一些即使您不與之交互也存在的東西。例如數(shù)據(jù)庫,即使在您不查詢它的時(shí)候,它也存在。此外,狀態(tài)概念也包含屬性的思想。當(dāng)要求您把所借的東西以原狀態(tài)返還時(shí),涉及某些屬性的值,比如清潔度、修理要求、油罐中的汽油量,等等。有狀態(tài)資源與此類似,具有定義其狀態(tài)的屬性,并且這些屬性就是我們將與資源交互的方式,如WS-Resource 的屬性中所示。

    那么有狀態(tài)資源(比如數(shù)據(jù)庫或硬盤)和Web 服務(wù)的組合的真正含義是什么呢?讓我們從實(shí)際的角度來看這個(gè)問題。假設(shè)我們有一個(gè)系統(tǒng),涉及到管理一組人造衛(wèi)星。每個(gè)人造衛(wèi)星是一個(gè)有狀態(tài)資源,因?yàn)榧词乖谖覀儾慌c之對(duì)話時(shí)它也存在。我們還有一個(gè) Web 服務(wù),它提供人造衛(wèi)星功能,比如更改反向、檢索信息,或者甚至調(diào)整姿勢(shì)。

    通過將者二者組合起來,我們創(chuàng)建了一個(gè) WS-Resource。注意,并不需要一對(duì)一的對(duì)應(yīng)關(guān)系。例如,這個(gè)Web服務(wù)可以與幾個(gè)不同的人造衛(wèi)星交互,從而創(chuàng)建幾個(gè)引用相同服務(wù)的不同WS-Resources。另一方面,一個(gè)人造衛(wèi)星可以與幾個(gè)不同的服務(wù)(比如控制宇宙實(shí)驗(yàn)的服務(wù)和發(fā)射激光束的服務(wù))交互,從而創(chuàng)建幾個(gè)引用相同有狀態(tài)資源的不同 WS-Resources

    那么我們?nèi)绾卧趹?yīng)用程序中表示這個(gè)有狀態(tài)資源呢?答案就在它的ResouceProperties中。正如有狀態(tài)資源中提到的,對(duì)象的狀態(tài)可以由它的各種屬性的值來決定。因?yàn)槲覀冋嬲信d趣的就是對(duì)象的狀態(tài),所以我們可以把有狀態(tài)資源表示為一個(gè)展示其屬性的 XML 文檔。該文檔叫做資源屬性文檔。

    在我們的人造衛(wèi)星例子中,它可能是具有以下代碼行的文檔:

    <satProp:GenericSatelliteProperties  xmlns:satProp="http://example.com/satellite">

       <satProp:latitude>30.3</satProp:latitude>

       <satProp:longitude>223.2</satProp:latitude>

       <satProp:altitude>47700</satProp:altitude>

       <satProp:pitch>49</satProp:pitch>

       <satProp:yaw>0</satProp:yaw>

       <satProp:roll>32</satProp:roll>

       <satProp:focalLength>21999992</satProp:focalLength>

       <satProp:currentView>

            http://example.com/satellite/2239992333.zip

       </satProp:currentView>

    </satProp:GenericSatelliteProperties>

    狀態(tài)的更改需要一個(gè)或多個(gè)這些屬性的更改,反之亦然。

    就像可以通過添加成員或方法來擴(kuò)展類一樣,我么可以通過添加屬性來擴(kuò)展 WS-Resource。例如,考慮這樣一種情形,我們具有一個(gè)人造衛(wèi)星,它也充當(dāng)恒星計(jì)數(shù)器。除了有狀態(tài)資源的一般屬性之外,我們可能還有一個(gè) currentCount 屬性:

    <satProp:GenericSatelliteProperties

           xmlns:satProp="http://example.com/satellite"

           xmlns:counterProp="http://example.com/satellite/CounterSatelliteProperties">

       <satProp:latitude>30.3</satProp:latitude>

       <satProp:longitude>223.2</satProp:latitude>

       <satProp:altitude>47700</satProp:altitude>

       <satProp:pitch>49</satProp:pitch>

       <satProp:yaw>0</satProp:yaw>

       <satProp:roll>32</satProp:roll>

       <satProp:focalLength>21999992</satProp:focalLength>

       <satProp:currentView>

            http://example.com/satellite/2239992333.zip

       </satProp:currentView>

       <counterProp:currentCount>92828</counterProp:currentCount>

    </satProp:GenericSatelliteProperties>

    注意新信息是在一個(gè)獨(dú)立的名稱空間中。

    至此,我們已經(jīng)創(chuàng)建了有狀態(tài)資源(人造衛(wèi)星)的表示,但是要真正地創(chuàng)建 WS-Resource,我們還必須使用 WSDL 文件將它綁定到服務(wù)。

    首先,我們將實(shí)際的有狀態(tài)資源添加到文件,并將之與 Web 服務(wù)關(guān)聯(lián):

    <?xml version="1.0" encoding="UTF-8"?>

    <definitions name="Satellite"

        targetNamespace="http://example.com/satellite"

        xmlns="http://schemas.xmlsoap.org/wsdl/"

        xmlns:tns="http://example.com/satellite"

        xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing"

        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"

        xmlns:wsrp="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd"

        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">

     

            <wsdl:import namespace="http://docs.oasis-open.org/wsrf/2004/06/wsrf-

    WS-ResourceProperties-1.2-draft-01.wsdl"

              location="WS-ResourceProperties.wsdl" />

          <types>

          <xsd:schema targetNamespace="http://example.com/satellite"

              xmlns:xsd="http://www.w3.org/2001/XMLSchema">

              <xsd:import namespace= "http://schemas.xmlsoap.org/ws/2004/03/addressing"

                      schemaLocation="WS-Addressing.xsd" />

              <xsd:element name="latitude" type="xsd:float" />

              <xsd:element name="longitude" type="xsd:float" />

              <xsd:element name="altitude" type="xsd:float" />

              <xsd:element name="pitch" type="xsd:float" />

              <xsd:element name="yaw" type="xsd:float" />

              <xsd:element name="roll" type="xsd:float" />

              <xsd:element name="focalLength" type="xsd:float" />

              <xsd:element name="currentView" type="xsd:string" />

               

              <xsd:element name="GenericSatelliteProperties">

                <xsd:complexType>

                   <xsd:sequence>

                     <xsd:element ref="latitude" minOccurs="1"  maxOccurs="1"/>

                     <xsd:element ref="longitude" minOccurs="1"  maxOccurs="1"/>

                     <xsd:element ref="altitude" minOccurs="1"  maxOccurs="1"/>

                     <xsd:element ref="pitch" minOccurs="1" maxOccurs="1"/>

                     <xsd:element ref="yaw" minOccurs="1" maxOccurs="1"/>

                     <xsd:element ref="roll" minOccurs="1"  maxOccurs="1"/>

                     <xsd:element ref="focalLength" minOccurs="1" maxOccurs="1"/>

                     <xsd:element ref="currentView" minOccurs="1" maxOccurs="1"/>

                   </xsd:sequence>

                </xsd:complexType>

              </xsd:element>             

               

          </xsd:schema>

           

        </types>

     

        <portType name="SatellitePortType"

                wsrp:ResourceProperties="tns:GenericSatelliteProperties">

        </portType>

       

        <binding name="SatelliteSoapBinding" type="tns:SatellitePortType">

          <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

        </binding>

       

        <service name="SatelliteService">

            <port name="SatellitePort"  binding="tns:SatelliteSoapBinding">

                <soap:address location="http://example.com/satellite"/>

            </port>

        </service>

    </definitions>

    我們首先是添加 Web 服務(wù)的基礎(chǔ)、實(shí)際的 service 元素和將之與 portType 關(guān)聯(lián)的 bindingportType 本身還沒有任何操作,但是重要的部分是 wsrp:ResourceProperties 屬性。該屬性指定,Web 服務(wù)執(zhí)行的任何操作都是在一個(gè)特定類型的有狀態(tài)資源上執(zhí)行的,如 GenericSatelliteProperties 元素所定義的。GenericSatelliteProperties 元素定義在 schema 中。該有狀態(tài)資源和該 Web 服務(wù)的組合就是WS-Resource

    注意,協(xié)議中指出,在創(chuàng)建資源屬性文檔(比如本例中的 GenericSatelliteProperties)時(shí),必須使用這里展示的樣式,即初始元素是定義和引用的,而不是內(nèi)聯(lián)地定義的。

     

    1.1.1.2    隱式資源模式

    為了使得有狀態(tài)的資源可以被Web服務(wù)的客戶端引用,從而引入了隱含資源模式,用來描述一個(gè)Web服務(wù)和一個(gè)或多個(gè)有狀態(tài)的資源之間的關(guān)系。

    術(shù)語“隱含”的使用是因?yàn)榕c一個(gè)給定的消息交換相關(guān)聯(lián)的有狀態(tài)的資源被當(dāng)作是執(zhí)行請(qǐng)求消息的隱含上下文。通過隱含,我們說請(qǐng)求者不需要把資源的標(biāo)示在請(qǐng)求消息體內(nèi)當(dāng)作顯式的參數(shù)來提供。取而代之,用來指定隱含的有狀態(tài)資源的上下文被封裝在WS-Addresin端點(diǎn)引用里,這個(gè)引用可以用來尋找目的Web服務(wù)的地址。

    術(shù)語“模式”的使用是為了指明:Web服務(wù)和有狀態(tài)資源的之間的關(guān)系已經(jīng)被編成“法典”。這是通過一些現(xiàn)存的Web服務(wù)技術(shù)完成的,比如XMLWSDLWS-Addressing等。

    也有其他的模式可以訪問有狀態(tài)的資源。比如,一個(gè)Web服務(wù)能夠保持資源的標(biāo)識(shí)符當(dāng)作一個(gè)靜態(tài)的服務(wù)狀態(tài),因此避免了在端點(diǎn)引用里傳遞資源標(biāo)識(shí)符。然而不建議使用這種模式,因?yàn)樗馕吨?/span>Web服務(wù)和有狀態(tài)資源的一個(gè)一對(duì)一的映射(就是說這個(gè)Web服務(wù)和幾個(gè)有狀態(tài)資源綁定了。別人用這個(gè)Web服務(wù)時(shí),同時(shí)就會(huì)用到這幾個(gè)資源)。取而代之,我們?cè)?/span>WS-Resource和它的相應(yīng)的Web服務(wù)之間保持一定的距離,為了把Web服務(wù)和有狀態(tài)資源嚴(yán)格分開,于是就允許Web服務(wù)端點(diǎn)和有狀態(tài)資源的一個(gè)一對(duì)多的映射。

     

    1.1.1.3    WS-Addressing

    以前,很容易指定 Web 服務(wù)的地址。所有真正需要的就是 URL,所有其他信息都包含在 SoapAction頭部或消息本身中。現(xiàn)在,Web服務(wù)應(yīng)用程序變得越來越復(fù)雜,并不總是那么簡(jiǎn)單。倘若想要讓應(yīng)答發(fā)送到除最初的請(qǐng)求者之外的其他地方,或者需要其他信息(比如會(huì)話標(biāo)識(shí)符)來定義實(shí)際的位置,那該怎么辦?或者只是需要附加到 Web 服務(wù)的一個(gè)特定實(shí)例,那該怎么辦?我們?cè)?/span> WS-Resources 的情況中將會(huì)遇到這個(gè)問題,所以我們需要一種處理它的方式。

    WS-Addressing提供一種方式來指定關(guān)于位置的信息,而不只是一個(gè)統(tǒng)一資源標(biāo)識(shí)符(Universal Resource IdentifierURI)或 URL

    實(shí)際上,在我們的例子中,它提供一種標(biāo)準(zhǔn)的方式,將大量的信息添加到 SOAP 消息。我們來構(gòu)造一個(gè) SOAP 消息,比如:

    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"

    xmlns:wsa="http://www.w3.org/2005/02/addressing"

    xmlns:sat="http://example.org/satelliteSystem">

        <SOAP-ENV:Header>

          <wsa:To SOAP-ENV:mustUnderstand="1">http://example.com/satellite</wsa:To>

          <wsa:Action>http://example.com/SetAltitude</wsa:Action>

          <sat:SatelliteId>SAT9928</sat:SatelliteId>

        </SOAP-ENV:Header>

        <SOAP-ENV:Body>

            <SetAltitudeRequest xmlns="http://example.com/satellite.xsd">

                <altitude>47700</altitude>

            </SetAltitudeRequest>

        </SOAP-ENV:Body>

    </SOAP-ENV:Envelope>

    在實(shí)際的SOAP消息中具有該信息似乎并不重要,但是請(qǐng)記住,消息可能會(huì)傳輸通過多個(gè)系統(tǒng),甚至需要多次傳輸才能到達(dá)最終目的地。

    要指定該信息,我們需要?jiǎng)?chuàng)建一個(gè) EndpointReferenceEndpointReference 是一種方式,用于指定讓消息到達(dá)適當(dāng)?shù)奈恢貌в羞m當(dāng)?shù)南嚓P(guān)信息。

    WS-Addressing標(biāo)準(zhǔn)化了端點(diǎn)引用結(jié)構(gòu),后者用來描繪配置在給定網(wǎng)絡(luò)端點(diǎn)的一個(gè)Web服務(wù)的地址。除了Web服務(wù)的端點(diǎn)地址以外,一個(gè)端點(diǎn)引用可能還包括:其他的與Web服務(wù)相關(guān)的元數(shù)據(jù),比如服務(wù)描述信息和引用屬性,這些可以幫助更深的限制Web服務(wù)地址的使用。端點(diǎn)引用里的引用屬性在隱含資源模式里扮演很重要的角色。

    一個(gè)服從隱含資源模式的端點(diǎn)引用可能包含引用屬性子元素,用來標(biāo)示使用這個(gè)端點(diǎn)引用完成的所有消息交換的執(zhí)行時(shí)所要用到的有狀態(tài)的資源。這類端點(diǎn)引用稱為具有WS-Resource資格的端點(diǎn)引用。被一個(gè)具有WS-Resource資格的端點(diǎn)引用指定的一個(gè)指向Web服務(wù)的請(qǐng)求消息,必須包含這個(gè)端點(diǎn)引用的引用屬性信息。

    因此,WSRF使用具有WS-Resource資格的端點(diǎn)引用來扮演一個(gè)指向WS-Resource的網(wǎng)絡(luò)范圍內(nèi)指針。具有WS-Resource資格的端點(diǎn)引用可能被當(dāng)作成為一個(gè)結(jié)果返回,比如:一個(gè)Web服務(wù)消息請(qǐng)求一個(gè)工廠創(chuàng)建一個(gè)新的WS-Resource,或者作為一些特定應(yīng)用的Web服務(wù)請(qǐng)求的結(jié)果。

    端點(diǎn)引用包含兩個(gè)重要的組成:(1)wsa:Address:指出了Web服務(wù)的地址,比如是一個(gè)URL,它和該Web服務(wù)的WSDL描述的端口元素里的地址是一樣的;(2) wsa:ReferenceProperties:包含WS-Resource的標(biāo)示,WS-Resource標(biāo)示表現(xiàn)了在消息交換執(zhí)行時(shí)所要用到的WS-Resource。在端點(diǎn)引用里用來保存這些WS-Resource標(biāo)示的引用屬性稱為WS-Resource上下文。一個(gè)端點(diǎn)引用包含了WS-Resource上下文,那么它就是一個(gè)具有WS-Resource資格的端點(diǎn)引用。

    表現(xiàn)的WS-Resource上下文信息對(duì)服務(wù)請(qǐng)求者來說是透明的。服務(wù)請(qǐng)求應(yīng)用軟件不會(huì)檢測(cè)或者嘗試解釋上下文的內(nèi)容。WS-Resource上下文僅僅對(duì)Web服務(wù)有意義,根據(jù)這個(gè)上下文,Web服務(wù)通過一個(gè)特殊的實(shí)現(xiàn)方法去識(shí)別在消息交換時(shí)需要用到的WS-Resource

    從服務(wù)請(qǐng)求者的角度來看,端點(diǎn)引用代表了一個(gè)指向Web服務(wù)的指針,而這個(gè)Web服務(wù)被進(jìn)一步限制在端點(diǎn)引用的WS-Resource上下文里執(zhí)行它的消息交換。

    例如,我們?cè)谇耙黄林兄付ǖ南⒌?/span> EndpointReference 應(yīng)該是:

    <wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/02/addressing"

    xmlns:sat="http://example.org/satelliteSystem">

        <wsa:Address>http://example.com/satellite</wsa:Address>

        <wsa:ReferenceProperties>

             <sat:SatelliteId>SAT9928</sat:SatelliteId>

        </wsa:ReferenceProperties>

    </wsa:EndpointReference>

    理解 EndpointReferenceSOAP消息之間的關(guān)系很重要,因?yàn)?/span> EndpointReference 就是我們指定特定 WS-Resource 的位置的方式。例如,當(dāng)我們請(qǐng)求創(chuàng)建新的WS-Resource時(shí),響應(yīng)將包含一個(gè)指向它的EndpointReference

    1.1.1.4    WS-R協(xié)議簡(jiǎn)介

    WS-Resource協(xié)議解釋WS-Resources 的總體概念,在WS-Resource協(xié)議中對(duì)資源的定義如下:

    一個(gè)資源是一個(gè)具有如下特征的邏輯實(shí)體:

    l        它必須是可鑒別的

    l        它必須擁有零個(gè)或多個(gè)屬性,以XML形式來表示

    l        它可以具有生命周期

    對(duì)WS-Resource的定義如下:

    一個(gè)WS-Resource是一個(gè)資源和一個(gè)Web服務(wù)的組合,通過Web服務(wù)資源可以被訪問。WS-Resource可以進(jìn)一步定義如下:

    l        通過一個(gè)Endpoint Reference來表示對(duì)一個(gè)WS-Resource的引用,或者正好是一個(gè)XML元素,其類型是(或派生自)EndpointReferenceType。這樣的EPRs必須正好是對(duì)一個(gè)WS-Resource的引用。

    l        資源屬性的集合必須通過XML schema 中所描述的XML infoset 來表示。WS-Resource 必須支持通過在WS-Resource Properties協(xié)議中定義的消息交換形式來對(duì)資源進(jìn)行訪問。

    l        一個(gè)WS-Resource可能支持在WS-Resource Lifetime協(xié)議中定義的消息交換類型

    對(duì)于一個(gè)給定的WS-Resource可能會(huì)有多個(gè)引用,判斷兩個(gè)引用是否等同的方法是實(shí)現(xiàn)協(xié)議,在本協(xié)議中沒有定義

    另外在WS-Resource協(xié)議還定義了兩個(gè)錯(cuò)誤:

    A WS-Resource may respond to any message with the following fault message:

    l        wsrf-rw:ResourceUnknownFault

    The resource identified in the message is not known to the Web service. The fault may contain additional resource- or application-specific information in it.

    l        wsrf-rw:ResourceUnavailableFault

    The resource identified in the message is unavailable. This fault SHOULD indicate a transient condition. A requester might respond to this fault by resending the message.

    此錯(cuò)誤應(yīng)該是指示了一個(gè)短暫的狀態(tài)。一個(gè)請(qǐng)求者對(duì)于此錯(cuò)誤的響應(yīng)應(yīng)該是重新發(fā)送消息



    Author: orangelizq
    email: orangelizq@163.com

    歡迎大家訪問我的個(gè)人網(wǎng)站 萌萌的IT人
    posted on 2009-07-19 15:40 桔子汁 閱讀(1392) 評(píng)論(1)  編輯  收藏 所屬分類: Web Service

    評(píng)論:
    # re: WSRF研究-WS-Resource協(xié)議[未登錄] 2009-10-22 10:45 | roger
    這篇文章 出自于IBM 的網(wǎng)格教程系列
    經(jīng)過被您改良 也受益非淺
    WS-RESOURCE最重要的組成部分是WSDL中的定義
    WS-ADDRESS對(duì)于SOAP的定義 對(duì)于此而言 不是重點(diǎn)
      回復(fù)  更多評(píng)論
      
    主站蜘蛛池模板: 亚洲伊人久久综合影院| 国产精品视_精品国产免费 | 亚洲天堂视频在线观看| 成全视成人免费观看在线看| 亚洲精品成人片在线观看| 二级毛片免费观看全程| 亚洲精品成a人在线观看| 一级做受视频免费是看美女| 在线精品亚洲一区二区三区| 久久久久久久久久免免费精品| 亚洲国产另类久久久精品 | 人妻巨大乳hd免费看| 亚洲国产精品成人一区| 亚洲五月午夜免费在线视频| 亚洲日韩欧洲乱码AV夜夜摸| 免费国产成人18在线观看| 亚洲短视频在线观看| 欧美大尺寸SUV免费| jizzjizz亚洲日本少妇| 综合亚洲伊人午夜网| 无码人妻一区二区三区免费n鬼沢| 亚洲国产精品lv| 免费可以在线看A∨网站| 男女超爽视频免费播放| 亚洲精品无码久久久久去q| 91精品国产免费网站| 中文字幕亚洲综合小综合在线| 国产免费观看黄AV片| 你是我的城池营垒免费观看完整版| 亚洲一区二区在线视频| 最近中文字幕mv免费高清视频7| 黄页网址大全免费观看12网站| 亚洲精品乱码久久久久久| 中文免费观看视频网站| 麻豆安全免费网址入口| 久久精品国产精品亚洲色婷婷| 成人无码区免费A片视频WWW | 久久免费视频精品| 亚洲妇女熟BBW| 亚洲国产精品福利片在线观看| 成人毛片免费视频|