1. 
      
        

           當(dāng)前位置:首頁>軟件介紹>Web Service Case Study:軟件反饋跟蹤平臺(tái) 查詢:
           
      Web Service Case Study:軟件反饋跟蹤平臺(tái)
      AMTeam.org

      WebServiceCaseStudy:軟件反饋跟蹤平臺(tái)



      柴曉路([email protected])

      ChiefSystemArchitect

      2002年3月26日

      在我以前的developerWorks的專欄文章中,我已經(jīng)系統(tǒng)地介紹了各種Web服務(wù)技術(shù)標(biāo)準(zhǔn)及其細(xì)節(jié),然而Web服務(wù)并不僅僅是一種技術(shù),更是一種應(yīng)用框架,一種系統(tǒng)架構(gòu)的方式,和一種應(yīng)用的思想。所以從本次開始的"WebServiceCaseStudy"文章系列中,我將在每一篇文章中使用一個(gè)具體的應(yīng)用實(shí)例,通過應(yīng)用分析來詳細(xì)闡述使用Web服務(wù)技術(shù)的好處和優(yōu)越性,同時(shí)從Web服務(wù)的角度結(jié)合實(shí)例介紹各種Web服務(wù)技術(shù)在具體的項(xiàng)目中應(yīng)該如何被使用。

      本文是先前文章的一個(gè)延伸,通過一個(gè)軟件反饋跟蹤平臺(tái)來考察如何具體設(shè)計(jì)一個(gè)Web服務(wù)應(yīng)用,如何評(píng)估Web服務(wù)解決方案的適用性等。我將陸續(xù)推出這個(gè)文章系列,希望大家通過這個(gè)系列的文章,能夠從實(shí)踐中掌握Web服務(wù)構(gòu)架。

      案例背景簡介-軟件反饋跟蹤平臺(tái)

      在本系列的第一篇文章中,我們將從軟件行業(yè)自身的應(yīng)用開始。我們知道,對(duì)于一個(gè)軟件企業(yè)而言,不論是提供軟件產(chǎn)品、還是提供軟件解決方案,或是承接軟件項(xiàng)目,對(duì)于用戶反饋的獲取都是非常重要的,這不僅是優(yōu)質(zhì)服務(wù)的必要保證,同時(shí)也是軟件產(chǎn)品、解決方案升級(jí)換代的重要依據(jù)。

      在這樣的應(yīng)用背景下,用戶反饋不僅僅包括用戶對(duì)產(chǎn)品的意見,同時(shí)也包含軟件產(chǎn)品的BUG自動(dòng)報(bào)告,以及一些性能參數(shù)的采集等。當(dāng)然其中的有些是需要客戶授權(quán)進(jìn)行的,比如性能參數(shù)收集等。

      首先,我們先來分析一下在這個(gè)應(yīng)用背景下的角色及其對(duì)應(yīng)的行為描述如下:

      軟件公司:軟件公司是生產(chǎn)軟件、提供軟件產(chǎn)品的企業(yè)。它對(duì)自己的軟件產(chǎn)品的質(zhì)量負(fù)有責(zé)任,對(duì)客戶需要提供技術(shù)支持,同時(shí)在獲取足夠的反饋的前提下,需要即時(shí)地對(duì)自己的軟件產(chǎn)品進(jìn)行升級(jí),或者開發(fā)新的軟件產(chǎn)品,因此它需要即時(shí)地獲取有關(guān)其提供的軟件產(chǎn)品的各種反饋信息。

      客戶:使用、消費(fèi)軟件產(chǎn)品的商業(yè)實(shí)體或個(gè)人。為了更好地接收軟件公司的服務(wù),它需要提供必要的和充分的軟件使用反饋,反饋包括由客戶的技術(shù)人員以描述方式提供,或通過軟件產(chǎn)品的某種日志接口導(dǎo)出文件并提供給軟件公司。

      通過對(duì)以上角色及其行為的分析,我們認(rèn)為在最終的實(shí)現(xiàn)系統(tǒng)中概要層次上的對(duì)象主要就有這樣幾種:

      反饋信息分類目錄,反饋信息分類目錄由軟件公司維護(hù),所有的反饋信息都位于反饋信息分類目錄的不同結(jié)點(diǎn)下分類組織。

      反饋信息,由客戶或運(yùn)行中的軟件產(chǎn)品產(chǎn)生,經(jīng)過反饋信息分類目錄歸類組織,由軟件公司使用。

      用戶,用戶分兩類,一類是客戶用戶(包括客戶消費(fèi)的軟件產(chǎn)品中可能用到的用戶),一類是軟件公司用戶,分別用于處理兩類事務(wù):軟件公司用戶的目錄管理信息查詢,以及客戶用戶的信息提交。

      系統(tǒng)構(gòu)架概述

      Figure1.系統(tǒng)結(jié)構(gòu)概述


      應(yīng)該說,這個(gè)系統(tǒng)還是比較簡單的。其中,CatalogService管理所有各種類型的反饋信息,AuthenticationService負(fù)責(zé)用戶登錄和權(quán)限認(rèn)證。CatalogService和AuthenticationService組成了服務(wù)平臺(tái)。這個(gè)服務(wù)平臺(tái)有兩個(gè)標(biāo)準(zhǔn)客戶端:UserClientModule是為使用軟件的客戶所準(zhǔn)備的,主要是提交反饋信息用途,而AdministratorClientModule則是軟件公司的管理模塊,功能包括管理配置反饋信息目錄(Catalog),查詢?yōu)g覽反饋信息目錄以及進(jìn)行用戶管理。

      下面我花一點(diǎn)篇幅稍詳細(xì)解析一下框架中的兩個(gè)個(gè)主要服務(wù):CatalogService和AuthenticationService。

      CatalogService

      根據(jù)前面的應(yīng)用背景描述,CatalogService應(yīng)當(dāng)具備如下功能:

      類別(Category)管理,包括增加一個(gè)Category、刪除一個(gè)Category、修改一個(gè)Category等;其中Category不光用于表示軟件產(chǎn)品的分類,同時(shí)軟件產(chǎn)品也將以葉子類別結(jié)點(diǎn)的形式出現(xiàn)。

      反饋數(shù)據(jù)管理,包括增加一則反饋數(shù)據(jù)、刪除一個(gè)反饋數(shù)據(jù)、修改一個(gè)反饋數(shù)據(jù)、移動(dòng)一個(gè)反饋數(shù)據(jù)(從一個(gè)Category下移動(dòng)到另一個(gè)Category下)等;

      數(shù)據(jù)交換,包括單個(gè)類別下所有反饋數(shù)據(jù)的導(dǎo)入導(dǎo)出(ImportExport),單個(gè)反饋數(shù)據(jù)的導(dǎo)入導(dǎo)出,整個(gè)類別樹的導(dǎo)入導(dǎo)出等;

      數(shù)據(jù)備份,整個(gè)目錄下所有反饋數(shù)據(jù)的備份恢復(fù)等。

      AuthenticationService

      而AuthenticationService則相對(duì)簡單,它的功能可描述如下:

      用戶登錄注銷,完成用戶登錄服務(wù)和從服務(wù)注銷的功能,這個(gè)功能是由用戶使用的(包括管理員用戶和一般用戶)。

      權(quán)限審核,用戶權(quán)限審核,為除AuthenticationService之外的服務(wù)提供權(quán)限審核功能。

      系統(tǒng)間的交互

      我們將以上功能各個(gè)模塊的功能描述加以總結(jié),去除內(nèi)部實(shí)現(xiàn)的部分,我們可以發(fā)現(xiàn)在Internet上需要傳輸?shù)臄?shù)據(jù)也就是兩類:目錄和反饋數(shù)據(jù)。

      目錄由多個(gè)目錄結(jié)點(diǎn)組成,目錄包含一個(gè)根結(jié)點(diǎn),每個(gè)目錄結(jié)點(diǎn)(除根結(jié)點(diǎn)以外)有一個(gè)父目錄結(jié)點(diǎn),一個(gè)目錄結(jié)點(diǎn)可以包含多個(gè)子結(jié)點(diǎn)。一般而言目錄的葉子結(jié)點(diǎn)是某個(gè)軟件產(chǎn)品,而中間結(jié)點(diǎn)則是表示軟件產(chǎn)品的分類。

      反饋數(shù)據(jù)總是從屬于一個(gè)目錄結(jié)點(diǎn),一般來說主要的反饋數(shù)據(jù),包括BUG報(bào)告,性能數(shù)據(jù)以及描述性反饋都是屬于葉子結(jié)點(diǎn),也就是軟件產(chǎn)品的,不過在非葉子結(jié)點(diǎn)下也會(huì)包含一些描述性反饋數(shù)據(jù)。

      自具體定義中,我們需要先定義一個(gè)抽象反饋信息類,然后以這個(gè)類為基類,派生出BUG報(bào)告反饋類、性能數(shù)據(jù)反饋類以及描述性反饋類等。

      總之,在我們這個(gè)應(yīng)用環(huán)境下,有兩種數(shù)據(jù)是我們要主要關(guān)心的:目錄和反饋數(shù)據(jù)。

      在系統(tǒng)之間交互數(shù)據(jù)是交互的第一層次:數(shù)據(jù)交換,然而對(duì)于Web服務(wù)而言,光光有數(shù)據(jù)交換是不夠的,應(yīng)當(dāng)提供更高層次:服務(wù)集成的支持。

      因此,交互的內(nèi)容不光包括互相交互的數(shù)據(jù),同時(shí)應(yīng)當(dāng)包含對(duì)數(shù)據(jù)的操作(比如數(shù)據(jù)請(qǐng)求,數(shù)據(jù)添加,數(shù)據(jù)更新等等)。這些往往會(huì)對(duì)應(yīng)于服務(wù)端的一個(gè)處理模塊。

      無論是對(duì)數(shù)據(jù)的操作,還是數(shù)據(jù)本身,為了在系統(tǒng)與系統(tǒng)之間進(jìn)行交互,尤其是異構(gòu)平臺(tái)之間,我們需要將所有的操作(服務(wù)調(diào)用)和操作的數(shù)據(jù)(服務(wù)調(diào)用的參數(shù)和返回值)進(jìn)行規(guī)范化的描述,形成規(guī)范文檔后發(fā)布以供所有需要參與互操作的系統(tǒng)共同遵守。

      為什么使用Web服務(wù)解決方案?

      我們知道,對(duì)于一個(gè)軟件產(chǎn)品的信息采集系統(tǒng)而言,以下兩個(gè)特性是不可缺少的:

      使用的方便性,我們知道在軟件產(chǎn)品中的反饋數(shù)據(jù)采集模塊,尤其是那些Bug報(bào)告模塊或者是性能數(shù)據(jù)收集模塊,需要嵌入在軟件產(chǎn)品的代碼中的,在嵌入的時(shí)候應(yīng)當(dāng)盡可能地簡單和統(tǒng)一,這樣才能保障軟件產(chǎn)品的代碼的可維護(hù)性。

      客戶端模塊的跨平臺(tái)性,對(duì)于一個(gè)公司而言,它的軟件產(chǎn)品可能是會(huì)跨越多個(gè)平臺(tái)的,同時(shí)開發(fā)環(huán)境也不盡相同,如何能讓客戶端在各種平臺(tái)下的軟件產(chǎn)品中被嵌入,是一個(gè)非常重要的問題。同時(shí),跨平臺(tái)性這個(gè)特性還能使得這個(gè)平臺(tái)能夠拓展到ASP(ApplicationServiceProvider)的模式下,為多個(gè)軟件企業(yè)服務(wù),從而成為公共的網(wǎng)絡(luò)服務(wù)平臺(tái)。

      基于XML技術(shù)的Web服務(wù)正是解決這一問題的最佳手段。Web服務(wù)的使用將改變目前的開發(fā)模式和應(yīng)用部署的費(fèi)用規(guī)模。各種Web服務(wù)分別實(shí)現(xiàn)了一定的模塊功能,通過將各種提供不同功能的Web服務(wù)進(jìn)行組合和集成以創(chuàng)建動(dòng)態(tài)應(yīng)用。Web服務(wù)能夠統(tǒng)一地封裝信息、行為、數(shù)據(jù)表現(xiàn)以及商務(wù)流程,而無需考慮應(yīng)用所在的環(huán)境是使用何種系統(tǒng)和設(shè)備。

      從外部的使用者的角度而言,Web服務(wù)是一種部署在Web上的對(duì)象組件,它具備以下特征:

      完好的封裝性,Web服務(wù)既然是一種部署在Web上的對(duì)象,自然具備對(duì)象的良好封裝性,對(duì)于使用者而言,他能且僅能看到該對(duì)象提供的功能列表。

      松散耦合,這一特征也是源于對(duì)象組件技術(shù),當(dāng)一個(gè)Web服務(wù)的實(shí)現(xiàn)發(fā)生變更的時(shí)候,調(diào)用者是不會(huì)感到這一點(diǎn)的,對(duì)于調(diào)用者來說,只要Web服務(wù)的調(diào)用界面不變,Web服務(wù)的實(shí)現(xiàn)任何變更對(duì)他們來說都是透明的,甚至是當(dāng)Web服務(wù)的實(shí)現(xiàn)平臺(tái)從J2EE遷移到了.NET或者是相反的遷移流程,用戶都可以對(duì)此一無所知。

      使用協(xié)約的規(guī)范性,這一特征從對(duì)象而來,但相比一般對(duì)象其界面規(guī)范更加規(guī)范化和易于機(jī)器理解。首先,作為Web服務(wù),對(duì)象界面所提供的功能應(yīng)當(dāng)使用標(biāo)準(zhǔn)的描述語言來描述(比如WSDL);其次,由標(biāo)準(zhǔn)描述語言描述的服務(wù)界面應(yīng)當(dāng)是能夠被發(fā)現(xiàn)的,因此這一描述文檔需要被存儲(chǔ)在私有的或公共的注冊(cè)庫里面。同時(shí),使用標(biāo)準(zhǔn)描述語言描述的使用協(xié)約將不僅僅是服務(wù)界面,它將被延伸到Web服務(wù)的聚合、跨Web服務(wù)的事務(wù)、工作流等,而這些又都需要服務(wù)質(zhì)量(QoS)的保障。其次,我們知道安全機(jī)制對(duì)于松散耦合的對(duì)象環(huán)境的重要性,因此我們需要對(duì)諸如授權(quán)認(rèn)證、數(shù)據(jù)完整性(比如簽名機(jī)制)、消息源認(rèn)證以及事務(wù)的不可否認(rèn)性等運(yùn)用規(guī)范的方法來描述、傳輸和交換。最后,在所有層次的處理都應(yīng)當(dāng)是可管理的,因此需要對(duì)管理協(xié)約運(yùn)用同樣的機(jī)制。

      使用標(biāo)準(zhǔn)協(xié)議規(guī)范,作為Web服務(wù),其所有公共的協(xié)約完全需要使用開放的標(biāo)準(zhǔn)協(xié)議進(jìn)行描述、傳輸和交換。這些標(biāo)準(zhǔn)協(xié)議具有完全免費(fèi)的規(guī)范,以便由任意方進(jìn)行實(shí)現(xiàn)。一般而言,絕大多數(shù)規(guī)范將最終有W3C或OASIS作為最終版本的發(fā)布方和維護(hù)方。

      高度可集成能力,由于Web服務(wù)采取簡單的、易理解的標(biāo)準(zhǔn)Web協(xié)議作為組件界面描述和協(xié)同描述規(guī)范,完全屏蔽了不同軟件平臺(tái)的差異,無論是CORBA、DCOM還是EJB都可以通過這一種標(biāo)準(zhǔn)的協(xié)議進(jìn)行互操作,實(shí)現(xiàn)了在當(dāng)前環(huán)境下最高的可集成性。

      Web服務(wù)的這些特點(diǎn)的的確確能夠滿足我們的這個(gè)反饋數(shù)據(jù)收集平臺(tái)的需求,并且為這個(gè)反饋數(shù)據(jù)收集平臺(tái)賦予了功能延伸和規(guī)模延伸的可能。

      交互界面設(shè)計(jì)

      之前,我們已經(jīng)談到了需要為我們自己開發(fā)的Web服務(wù)制訂調(diào)用規(guī)范,那么調(diào)用規(guī)范該如何定義呢,從總體上來說,規(guī)范定義可以分為兩部分:

      Programmer"sAPI:這是類似傳統(tǒng)含義的API定義,不過承載的介質(zhì)是SOAPMessage,也就是說Programmer"sAPI是一組SOAPAPI,不同的API用于完成不同的服務(wù)調(diào)用,在這部分中需要定義不同的SOAPAPI的行為和實(shí)現(xiàn)的調(diào)用響應(yīng)的功能描述;

      DataStructure:這部分定義了在SOAP消息中傳輸?shù)膮?shù)數(shù)據(jù)和響應(yīng)數(shù)據(jù)的XMLSchema,這部分為每個(gè)API補(bǔ)充的消息格式,同時(shí)為最終的API處理提供了數(shù)據(jù)層解析包裝的規(guī)范。

      API設(shè)計(jì)原則

      簡單性,由于這是一個(gè)對(duì)于公共開放的Web服務(wù),它的API的設(shè)計(jì)首先應(yīng)當(dāng)是簡單的,要被大量用戶接受,要獲得比較好的應(yīng)用,那么API必須簡單,沒有哪個(gè)復(fù)雜難用的API會(huì)得到大家的廣泛接受的。

      可擴(kuò)展性,作為更新頻率較高,開放性較強(qiáng)的Web服務(wù),其API應(yīng)當(dāng)具有很好的向后擴(kuò)展性,當(dāng)應(yīng)內(nèi)部需求的改變或外部需求的改變的需要時(shí),API將根據(jù)新的邏輯發(fā)生變化,此時(shí)不應(yīng)當(dāng)將API從根本上推翻重建,而應(yīng)當(dāng)具備增量式的可擴(kuò)展的能力。

      高效性,API應(yīng)該在堅(jiān)持簡單性的前提下,兼顧高效性,當(dāng)某些組合操作應(yīng)用地非常頻繁的時(shí)候,我們應(yīng)當(dāng)為這樣的組合操作調(diào)用設(shè)計(jì)一個(gè)只需一次交互的單一入口調(diào)用,這樣能夠提升外部應(yīng)用的效率,同時(shí)減輕Web服務(wù)的負(fù)載。

      完備性,所謂完備性就是說整個(gè)API要覆蓋所有需要對(duì)外公開的功能,這相對(duì)而言是最好實(shí)現(xiàn)的目標(biāo),只要設(shè)計(jì)階段考慮得完備,就能達(dá)到完備性的要求。而且萬一發(fā)現(xiàn)不完備的情況,修正起來也是相對(duì)容易的。

      DataStructure設(shè)計(jì)

      本系統(tǒng)的數(shù)據(jù)主要有兩類:目錄和反饋數(shù)據(jù)。首先,我們先來給出相對(duì)簡單的目錄XML數(shù)據(jù)結(jié)構(gòu)定義。

      Category的具體描述格式:

      categorycategoryKey="…"parentCategoryKey="…"
      name……name
      description……description
      categorycategoryKey="…"parentCategoryKey="…"*
      category

      這是一個(gè)縮略版的目錄數(shù)據(jù)格式定義,我們可以看到一個(gè)category可以包括0個(gè)或多個(gè)category,同時(shí)每個(gè)category具有兩個(gè)子元素name和description分別描述這個(gè)類別結(jié)點(diǎn)的名稱和描述,category還包含兩個(gè)屬性:categoryKey和parentCategoryKey,分別表示一個(gè)類別結(jié)點(diǎn)的UUID(唯一標(biāo)識(shí)符)及其父類別結(jié)點(diǎn)的UUID。由一個(gè)根類別結(jié)點(diǎn)開始及其包含的所有子孫類別結(jié)點(diǎn)一起組成了我們的目錄數(shù)據(jù)。

      在給出了目錄的數(shù)據(jù)之后,我們?cè)賮矶x反饋數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu):

      feedbackfeedbackKey="…"parentCategoryKey="…"type="…"
      name……name
      description……description
      dataBag
      fieldname="[fieldname]"……field*
      dataBag
      feedback

      其中,feedback元素的屬性feedbackKey和parentCategoryKey分別表示當(dāng)前feedback元素的UUID以及其所在類別結(jié)點(diǎn)的UUID。Name和description子元素與前面的含義是類似的。下面我們來介紹一下dataBag這個(gè)子元素,這是一個(gè)字段值的聚集,一個(gè)dataBag可以包含0個(gè)或多個(gè)字段。每個(gè)字段都是以fieldname="……"……field的形式出現(xiàn)的,

      可以想象,采用了諸如dataBag這樣的數(shù)據(jù)聚集的描述方式,將使得這個(gè)系統(tǒng)的適用性非常強(qiáng),可以適應(yīng)大多數(shù)用戶的特殊需求,用戶可以在其中自由地定義字段并為字段賦上相關(guān)的字段值。對(duì)于系統(tǒng)的適應(yīng)性和可擴(kuò)展性,這樣的數(shù)據(jù)描述方式是非常有效的,然而如此自由的描述方式,對(duì)于系統(tǒng)平臺(tái)去檢驗(yàn)這些字段的合法性(比如字段名有沒有寫錯(cuò),字段值的類型是否正確等)卻是非常不利的。

      鑒于合法性校驗(yàn)的考慮,我們認(rèn)為,可以引入dataBagTemplate的概念,所謂dataBagTemplate就是一種預(yù)先定義好的在某個(gè)特定領(lǐng)域應(yīng)用中使用的反饋信息數(shù)據(jù)的模版,這個(gè)模版定義了所有合法的字段,包括字段名稱及其字段值類型。下面我們給出一個(gè)dataBagTemplate的例子:

      dataBagTemplatetemplateKey="…"
      fieldname="Applicationo"type="xs:string"
      fieldname="Module"type="xs:string"
      fieldname="Exception"type="xs:integer"
      fieldname="Description"type="xs:string"
      dataBagTemplate

      這個(gè)dataBagTemplate定義了三個(gè)字段,Application(應(yīng)用名稱)、Module(模塊名稱)、Exception(異常編號(hào),注意這是整型字段)以及Description(錯(cuò)誤描述),這個(gè)Template用于定義一般的錯(cuò)誤報(bào)告的模版結(jié)構(gòu)。

      由于使用了dataBagTemplate,我們需要更新反饋數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu):

      feedbackfeedbackKey="…"parentCategoryKey="…"type="…"
      name……name
      description……description
      dataBagtemplateKey="……"
      fieldname="[fieldname]"……field*
      dataBag
      feedback

      如此,系統(tǒng)平臺(tái)就可以利用templateKey找到相應(yīng)的dataBagTemplate,從而進(jìn)行數(shù)據(jù)校驗(yàn)。需要注意的是,databagTemplate并不在系統(tǒng)的一般交互中被傳輸,它是作為系統(tǒng)的插件安裝在平臺(tái)系統(tǒng)或者客戶端中的,也就是說,當(dāng)平臺(tái)系統(tǒng)接收到反饋數(shù)據(jù)XML文檔后,從這個(gè)文檔中獲得templateKey,然后通過templateKey在系統(tǒng)中查找,看看這個(gè)對(duì)應(yīng)的dataBagTemplate是否已經(jīng)被安裝(導(dǎo)入)進(jìn)平臺(tái),如果已經(jīng)安裝了,那么就按照這個(gè)Template來校驗(yàn)合法性,如果尚則安裝,則可以選擇報(bào)錯(cuò),或忽略合法性校驗(yàn)。

      CatalogServiceAPI設(shè)計(jì)

      CatalogService的API設(shè)計(jì)如下:

      save_category:保存category,在這個(gè)API調(diào)用中,包含了更新和新建的操作,同時(shí)category的遷移也可以通過這個(gè)API來完成。

      delete_category:刪除category,將指定category及其全部子元素從Catalog中刪除。

      find_category:在catalog中定位尋找category,可以通過多種方式,比如名稱,鍵值等。

      save_feedback:保存product,在這個(gè)API調(diào)用中,同樣可以包含更新、新建和遷移的操作。

      delete_feedback:刪除product,將指定product的信息從Catalog中刪除。

      find_feedback:在catalog中定位尋找product,可以通過多種方式,比如名稱,比如所在的category,比如使用的template等等。

      get_categoryDetail:獲取category的完整信息,包括包含的所有category的簡要信息和feedback的詳細(xì)信息。

      get_productDetail:獲取feedback的完整信息。

      get_categoryInfo:獲取category及其所有子孫category和feedback的所有信息。

      如果我們把用戶分為軟件產(chǎn)品生產(chǎn)者用戶和軟件產(chǎn)品使用(消費(fèi))者用戶的話,那么功能基本上可以被分為兩類。軟件產(chǎn)品使用者僅能使用find_category和save_feedback,而軟件產(chǎn)品生產(chǎn)者則可使用所有功能。如果平臺(tái)提供商與軟件產(chǎn)品生產(chǎn)者并非同一家的話,那么軟件產(chǎn)品生產(chǎn)者將不能使用delete_category和save_category消息API。

      由于我們先前已經(jīng)確定了category和feedback這兩個(gè)實(shí)體的數(shù)據(jù)結(jié)構(gòu)的XML描述格式,那么下面我們就可以來定義API消息了。在這里,我們僅僅定義一個(gè)消息save_feedback,其他的消息則可以類似推得。

      save_feedback

      用于提交反饋數(shù)據(jù),使用這個(gè)API調(diào)用,可以完成對(duì)反饋數(shù)據(jù)的更新、新建和遷移的操作。一般來說對(duì)于普通用戶,僅僅可以新建反饋數(shù)據(jù)(提交新的反饋數(shù)據(jù)),而不能進(jìn)行更新和遷移等操作。

      save_feedback
      authInfo……authInfo
      feedbackfeedbackKey="…"parentCategoryKey="…"type="…"*
      name……name
      description……description
      dataBagtemplateKey="……"
      fieldname="[fieldname]"……field*
      dataBag
      feedback
      ave_category

      在上述的語法描述中,大家應(yīng)該可以發(fā)現(xiàn),save_feedback能夠用于保存一個(gè)或多個(gè)feedback反饋數(shù)據(jù),這樣的設(shè)計(jì)是為了達(dá)到高效性的設(shè)計(jì)目標(biāo)。

      當(dāng)整個(gè)消息中的任意一個(gè)feedback所屬的表示自身實(shí)體的鍵值feedbackKey為空,即表示這是一個(gè)新增的feedback,需要被插入到數(shù)據(jù)庫中,在返回消息中,將回送這些元素的鍵值。

      當(dāng)消息中任意一個(gè)feedback的parentCategoryKey沒有發(fā)生更改時(shí),表明是要更新該元素的信息。而若parentCategoryKey發(fā)生更改的時(shí)候,表明該元素將從之前的由原有parentCategoryKey所標(biāo)識(shí)的category結(jié)點(diǎn)下被遷移到由新的parentCategoryKey所標(biāo)識(shí)的category結(jié)點(diǎn)下。當(dāng)然如果包含了數(shù)據(jù)更新操作,同樣會(huì)實(shí)施該數(shù)據(jù)更新操作。

      細(xì)心的讀者一定已經(jīng)發(fā)現(xiàn)了在這個(gè)消息中,有一個(gè)authInfo元素,這是一個(gè)用于權(quán)限檢驗(yàn)的授權(quán)令牌。用戶通過向AuthenticationService登錄而獲得這個(gè)令牌,當(dāng)CatalogService得到這個(gè)令牌后,則是向AuthenticationService詢問令牌的合法性,如果合法方能執(zhí)行相應(yīng)的消息,用戶在交互完畢之后,應(yīng)向AuthenticationService注銷令牌。

      save_feedback消息調(diào)用的返回是一個(gè)或多個(gè)完整的被接受的feedback信息,與提交的信息的差別就是僅有概要信息,沒有詳細(xì)信息,同時(shí)原先空著的鍵值都被填上Web服務(wù)所指派的鍵值。下面是一個(gè)返回消息的例子:

      result
      feedbackfeedbackKey="f02"parentCategoryKey="a01"
      feedbackfeedbackKey="f03"parentCategoryKey="a01"
      feedbackfeedbackKey="f04"parentCategoryKey="a01"
      result

      Web服務(wù)實(shí)現(xiàn)

      在本文的前面的內(nèi)容中,我們已經(jīng)設(shè)計(jì)了這個(gè)軟件反饋跟蹤平臺(tái)的實(shí)現(xiàn)方案,并著重地討論了服務(wù)組件的Web服務(wù)界面,下面我將依靠一些實(shí)踐來進(jìn)一步介紹Web服務(wù)技術(shù)系列中的XMLSchema、SOAP、WSDL、UDDI等在服務(wù)實(shí)現(xiàn)的過程中是如何被一一使用的。

      在這部分中,我將把save_feedback這個(gè)SOAPAPI拿出來,看看在具體的實(shí)現(xiàn)上,應(yīng)當(dāng)如何對(duì)這個(gè)消息使用W3CXMLSchema進(jìn)行建模,在具體的服務(wù)交互中,SOAP消息的格式是如何的,如果使用WSDL將基于該消息調(diào)用的Web服務(wù)進(jìn)行規(guī)范描述并交付調(diào)用者,以及如何將這個(gè)Web服務(wù)連同它的WSDL規(guī)范化描述文件一起發(fā)布到UDDI注冊(cè)中心中去。

      XMLSchema數(shù)據(jù)建模

      一個(gè)XMLSchema文檔中的定義通常分為兩部分,型(Type)定義和元素(Element)定義。下面我們結(jié)合save_feedback具體的XMLSchema定義來說明如何使用XMLSchema來進(jìn)行模式定義。

      save_feedback的XMLSchema描述定義:

      ?xmlversion="1.0"encoding="UTF-8"?
      xs:schemaxmlns:xs=""elementFormDefault="qualified"attributeFormDefault="unqualified"
      xs:elementname="save_feedback"type="save_feedback"
      xs:annotation
      xs:documentationsave_feedbackAPISchemaDefinitionxs:documentation
      xs:annotation
      xs:element
      xs:complexTypename="save_feedback"
      xs:sequence
      xs:elementname="authInfo"type="xs:base64Binary"
      xs:elementname="feedback"type="feedbackType"
      xs:sequence
      xs:complexType
      xs:complexTypename="feedbackType"
      xs:sequence
      xs:elementname="name"type="xs:string"
      xs:elementname="description"type="xs:string"
      xs:elementname="databag"type="dataBagType"
      xs:sequence
      xs:complexType
      xs:complexTypename="dataBagType"
      xs:sequence
      xs:elementname="field"type="xs:anyType"minOccurs="0"maxOccurs="unbounded"
      xs:sequence
      xs:complexType
      xs:schema

      在這個(gè)模式文檔中,以此非別定義了save_feedback元素、save_feedback類型、feedbackType類型和dataBagType類型。其中,save_feedback元素的類型是save_feedback類型,而在save_feedback類型定義中引用了feedbackType類型定義,同時(shí)feedbackType類型定義中使用了dataBagType類型定義。

      SOAP消息示例

      有了XMLSchema之后,我們就可以參照XMLSchema在Web服務(wù)實(shí)現(xiàn)時(shí)使用SOAP進(jìn)行互相通信了。以下是一個(gè)save_feedback的調(diào)用例子,在例子中使用了SOAPHTTPBinding(使用的SOAP規(guī)范的版本是1.2),假設(shè)目標(biāo)Web服務(wù)被部署在假象的www.sagitta.com,而調(diào)用的Web服務(wù)的入口位置將是

      在這個(gè)消息中,將在一個(gè)現(xiàn)有的category中添加一個(gè)新的feedback。

      POSTcatalogHTTP1.1
      Content-Type:textxml;charset="utf-8"
      Content-Length:nnnn
      SOAPAction:""
      Host:www.sagitta.com

      ?xmlversion="1.0"encoding="UTF-8"?
      env:Envelopexmlns:env=""
      env:Body
      save_feedbackxmlns=""
      authInfo5Az784kJceHCE982eBauthInfo
      feedbackfeedbackKey=""parentCategoryKey="……"
      nameBugReportname
      description……description
      dataBagtemplateKey="……"
      fieldname="Application"AgilityBusinessPlatformfield
      …………
      dataBag
      feedback
      ave_feedback
      env:Body
      env:Envelope

      從中我們可以看到在save_feedback元素后面帶了一個(gè)xmlns的修飾""。這個(gè)URI唯一表示了該元素及其所有子元素的的命名空間。同時(shí)通過這個(gè)URL可以獲得這些元素的Schema定義。

      使用W3CXMLSchema描述的XML文檔的模式定義在整個(gè)Web服務(wù)的技術(shù)系列中處于一個(gè)支持工具的地位。W3CXMLSchema是任何類型的XML文檔的建模工具。在Web服務(wù)體系中,無論在SOAP消息的表示上,還是在WSDL的界面描述上,XMLSchema都是不可缺少的重要工具和底層支持。

      WSDL服務(wù)描述

      對(duì)SOAPAPI消息完成Schema建模之后,一方面這個(gè)數(shù)據(jù)模型可以由SOAPInterface來使用,當(dāng)發(fā)生具體調(diào)用時(shí)可以使用這個(gè)數(shù)據(jù)模型來處理傳入的參數(shù)并生成傳出的參數(shù)。同時(shí),利用這個(gè)數(shù)據(jù)模型,我們可以生成相應(yīng)的WSDL描述,從而將這個(gè)Web服務(wù)的接口文檔發(fā)布給使用者,該接口文檔是具備被程序自動(dòng)處理的能力的。

      一般來說,有了XMLSchema,WSDL文檔的生成是非常方便的,我們?cè)诟鱾€(gè)平臺(tái)上都有豐富的工具可以使用,這里就不給出具體的WSDL文檔了。

      UDDI服務(wù)發(fā)布

      由于我們?cè)谠O(shè)計(jì)這個(gè)軟件反饋跟蹤平臺(tái)的一開始,就致力于將它往公共平臺(tái)或者是可重用平臺(tái)的方向發(fā)展,為了使更多的潛在用戶能夠發(fā)現(xiàn)這個(gè)Web服務(wù),同時(shí)也為了加強(qiáng)這個(gè)Web服務(wù)的互操作能力和災(zāi)難恢復(fù)時(shí)的連接保持能力,我們需要使用UDDISDK將這個(gè)Web服務(wù)注冊(cè)到UDDI注冊(cè)中心中去。

      我們之前已經(jīng)注冊(cè)了一個(gè)businessEntity,叫做www.sagitta.com,一個(gè)在線服務(wù)提供商,這個(gè)businessEntity的鍵值是"434554F4-6E17-1342-EA41-36E642531DA1",那么我們要在這個(gè)businessEntity下注冊(cè)一個(gè)businessService,以用于描述我們的這個(gè)FeedbackService。同時(shí)我們也預(yù)先注冊(cè)了一個(gè)ServiceType(tModel),這個(gè)tModel描述了我們這個(gè)需要發(fā)布的Web服務(wù)的調(diào)用規(guī)范,具體內(nèi)容是我們先前已經(jīng)生成的WSDL文檔,在UDDI中,注冊(cè)的是這個(gè)描述文檔的鏈接URL。

      businessService注冊(cè)的SOAP消息如下,其中使用了Microsoft的test.uddi.microsoft.com站點(diǎn),因此authInfo中可以填入測(cè)試用的"udditest"。

      ?xmlversion="1.0"encoding="UTF-8"?
      Envelopexmlns=""
      Body
      save_servicegeneric="1.0"xmlns="urn:uddi-org:api"
      authInfoudditestauthInfo
      businessServicebusinessKey="434554F4-6E17-1342-EA41-36E642531DA1"serviceKey=""
      namefeedbackServicename
      descriptionxml:lang="en"OnlineWebServiceforFeedbackdescription
      bindingTemplates
      bindingTemplatebindingKey=""serviceKey=""
      descriptionxml:lang="en"feedbackService"sBindingTemplatedescription
      accessPointURLType="http"
      tModelInstanceDetails
      tModelInstanceInfotModelKey="uuid:231A569A-EEFF-4448-BA4D-2B222FE4ACEF"
      ……
      tModelInstanceInfo
      tModelInstanceDetails
      bindingTemplate
      bindingTemplates
      businessService
      ave_service
      Body
      Envelope

      通過上述的API調(diào)用,我們就已經(jīng)把這個(gè)服務(wù)注冊(cè)進(jìn)了UDDI注冊(cè)中心,其中bindingTemplate的accessPoint是服務(wù)的入口。

      潛在的使用者可以通過查詢UDDI注冊(cè)中心找到這個(gè)Web服務(wù),通過overviewURL中保存的URL找到服務(wù)的描述,然后通過accessPoint所指定的訪問地址來訪問這個(gè)服務(wù)。

      當(dāng)發(fā)生緊急服務(wù)崩潰的時(shí)候,Web服務(wù)可能被遷移到另一臺(tái)主機(jī)上,IP地址,甚至是訪問的URL都可能有很大變化,此時(shí)原先的集成的連接將不再工作。但是由于UDDI注冊(cè)的存在,我們可以通過自動(dòng)化的程序手段來解決這個(gè)問題,使得類似的服務(wù)災(zāi)難恢復(fù)的過程非常迅速。

      具體的流程一般是:

      當(dāng)恢復(fù)的服務(wù)啟動(dòng)后,自動(dòng)去更新UDDI注冊(cè)中心上的數(shù)據(jù),將訪問入口修改到新的URL位置;

      連入的客戶端系統(tǒng)當(dāng)發(fā)現(xiàn)無法訪問最終服務(wù)的時(shí)候,將會(huì)定期去查詢UDDI注冊(cè)中心,看看新的BindingTemplate數(shù)據(jù)和本地緩存的有沒有差別,如果有的話,就下載到本地,重新建立服務(wù)綁定,完成服務(wù)連接的遷移。

      遺留的問題

      這里給出了軟件反饋跟蹤平臺(tái)的簡要設(shè)計(jì),而關(guān)于一些更深入的功能和實(shí)現(xiàn)上的一些考慮,我想就留給廣大讀者,下面,我謹(jǐn)提出兩個(gè)可能的問題:

      在dataBagTemplate的設(shè)計(jì)中,如果用戶認(rèn)為類似關(guān)系數(shù)據(jù)庫的平坦的數(shù)據(jù)結(jié)構(gòu)尚不能滿足需要,而需要有層次性的數(shù)據(jù)結(jié)構(gòu)來支持,我們應(yīng)該如何更新dataBagTemplate的設(shè)計(jì)?

      在具體實(shí)現(xiàn)中,尤其是在大規(guī)模使用的公共平臺(tái)實(shí)現(xiàn)中,如果訪問量大幅度增大,應(yīng)該如何對(duì)實(shí)施架構(gòu)的部署進(jìn)行進(jìn)一步設(shè)計(jì)?

      大家對(duì)于這兩個(gè)問題的任何建議以及大家想到的其他可能的問題,都?xì)g迎來到"?forum=15topic=7show="提出意見或給出評(píng)論。

      小結(jié)

      在本系列下一篇文章中,我將圍繞一個(gè)認(rèn)證考試申請(qǐng)系統(tǒng)展開設(shè)計(jì)和討論,這與本文的系統(tǒng)不同,主要是面向B2C模式的應(yīng)用,著眼點(diǎn)在于如何將系統(tǒng)的Client插入到盡可能多的公共平臺(tái)、桌面系統(tǒng)中去,同時(shí)借助這個(gè)CaseStudy,我將著重講解在Web服務(wù)設(shè)計(jì)的時(shí)候,如何有效地使用XMLSchema設(shè)計(jì)系統(tǒng)中使用的XML數(shù)據(jù)模式。

      參考資料

      • WebService技術(shù)評(píng)論網(wǎng)站
        • UDDI-China.ORG,以UDDI為主的Web服務(wù)技術(shù)網(wǎng)站。
        • WebServices.ORG,Web服務(wù)的綜合類技術(shù)網(wǎng)站。
        • IBMdeveloperWorksWebServiceZone,IBM的Web服務(wù)技術(shù)資源中心
        • MSDNOnlineWebServicesDeveloperResources,Microsoft的Web服務(wù)的開發(fā)者資源網(wǎng)站
        • ITPapersWebService,ITPapers的Web服務(wù)評(píng)論文章
          • 解決B2B電子商務(wù)應(yīng)用交互和集成的InterOPStack系列技術(shù)標(biāo)準(zhǔn)規(guī)范
            • UDDI執(zhí)行白皮書,UDDI-China.org,UDDI.org
            • UDDI技術(shù)白皮書,UDDI-China.org,UDDI.org
            • UDDI程序員API規(guī)范,UDDI-China.org,UDDI.org
            • UDDI數(shù)據(jù)結(jié)構(gòu)參考,UDDI-China.org,UDDI.org
            • WebServiceDescriptionLanguage(WSDL)1.0,IBM,25Sep2000
            • SOAP:SimpleObjectAccessProtocolSpecification1.1,IBM,Microsoft,DevelopMentor,2000
            • XMLSchemaPart0:Primer,W3C,2May2001
            • ExtensibleMarkupLanguage(XML)1.0(SecondEdition),W3C,6Oct2000
                • 作者簡介

      柴曉路:上海得易電子商務(wù)技術(shù)有限公司(DealEasy)首席系統(tǒng)架構(gòu)師、XMLWebSevices技術(shù)顧問,UDDI-China.org創(chuàng)始人,UDDIAdvisoryGroup成員,IBMdeveloperWorks專欄作家。2000年獲復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)碩士學(xué)位,曾在國際計(jì)算機(jī)科學(xué)學(xué)術(shù)會(huì)議(ICSC)、亞太區(qū)XML技術(shù)研討會(huì)(XMLAsiaPacific"99)、中國XML技術(shù)研討會(huì)(北京)、計(jì)算機(jī)科學(xué)期刊等各類國際、國內(nèi)重要會(huì)議與期刊上發(fā)表論文多篇。專長于WebServices技術(shù)架構(gòu)、基于XML的系統(tǒng)集成和數(shù)據(jù)交換應(yīng)用及方法,同時(shí)對(duì)數(shù)據(jù)庫、面向?qū)ο蠹夹g(shù)及CSCW等技術(shù)比較擅長。


      名易OA管理系統(tǒng)集成應(yīng)用方案確保Windows操作系統(tǒng)穩(wěn)定的六個(gè)秘笈
      文檔安全加密系統(tǒng)的技術(shù)研究和實(shí)現(xiàn)方式獨(dú)家:HIPS和NIPS兩種類型入侵防護(hù)系統(tǒng)對(duì)比
      四大高招教你如何管好加密軟件探討一下開源CRM軟件項(xiàng)目的可行性
      crm系統(tǒng)下的間接經(jīng)濟(jì)效益crm系統(tǒng)有效解決企業(yè)五大難題
      PHP程序不適用大型系統(tǒng)之九大原因缺乏統(tǒng)一的客戶戰(zhàn)略讓CRM軟件項(xiàng)目度日如年
      CRM實(shí)施受難 怎樣合理選擇CRM軟件送你一雙慧眼 識(shí)破偽石家莊OA信息化軟件
      SOAP技術(shù)與B2B應(yīng)用集成--SOAP的型系統(tǒng)和數(shù)據(jù)編碼規(guī)則名易軟件石家莊OA信息化系統(tǒng)技術(shù)架構(gòu)
      兩款常用的測(cè)試bug管理與壓力測(cè)試軟件拐點(diǎn)之年:中國管理軟件行業(yè)2008大盤點(diǎn)
      信息發(fā)布:廣州名易軟件有限公司 http://www.jetlc.com
      • 勁爆價(jià):
        不限功能
        不限用戶
        1998元/年

      • 微信客服

      1. 
        
        色老板精品视频在线观看 | 三级片欧美在线观看者 | 美女裸体无遮挡天天摸天天做 | 黄色A片观看 | 婷婷综合网 | 亚洲精品AA | 俺也来最新色视频 | 欧美成人一区二区三区高清 | 日日天天 | 啪啪啪网站免费 | 欧美三级视频在线观看 | 婷色| 天天碰天天摸 | 国产黄色一区二区 | 九九国产 | www久久久 | 大香蕉伊人18禁止出售借阅 | 簧片天堂 | 九九偷拍一区 | 色五月婷婷小说 | 操逼网站在线观看 | 欧美大屌视频在线观看 | 国产乱伦视频一区二区 | 狠狠干狠狠干 | 日日操日日干 | 男女拍拍的视频 | 91香蕉网站在线下载 | 清纯唯美亚洲第一页麻豆豆花 | 天天干天天橾 | 国产操操逼图片 | 亚洲片在线观看 | 少妇双乳好大有奶水视频 | 中国一级黄色视频勉费看 | 四虎影院永久在线 | 免费观看在线Aⅴ播放 | 家庭av乱伦| 久久三级片网站 | 操操操操黄片免费看 | 人妻喷水 | JUY-579被丈夫的上司侵犯后的第7天,我 尤物网在线观看 | 日本一区视频免费 | 特一级黄色电影 | 尻屄视频网 | 亚洲插逼| aigao | www.黄色亚洲 | 黄片日逼能看的视频 | 波多野结衣AV在线 | 欧美性爱视频简体中文 | 国产成人无码精品色欲天香 | 小黄书在线观看 | 亚洲欧美不卡高清在线 | 最近中文字幕无码 | 一道本一区二区三区在线视频 | 国产乱码在线 | 亚洲大胆人体视频 | 激情网站4438 | 搜国产黄色成人网站视频免费观看 | 特级西西444www精品视频 | 婷婷色基地 | 激情小网站 | 婷婷丁香五月天影院亚洲综合桃花 | 国产精品欧美三级 | 日逼黄色视频 | 国产婷婷操逼动态图视频网站 | 国产成人无码Av片小说在线观看 | 一区二区三区四区五区免费看 | 激情丁香网 | 久久黄色樱桃视频 | 中文字幕在线观看免费视频 | 欧美午夜精品一区二区三区 | 老阿姨的丝丝波涛胸涌诱惑 | 精品亲子伦√区一区三区 | 日本A片黄色 | 亚洲综合激情视频 | 大屌肏屄视频在线播 | 亚洲欧洲天堂 | 国产精品44 | 中文字幕乱伦 | AV资源网在线观看 | 日本少妇www | 欧美熟妇操屄视频 | www.4438AV | 日BB在线 | 人人看人人摸人人操天天看天天摸天天操 | 操大逼视频 | 日本黄色一级视频 | 国产三级网站 | 九一视频在线观看久久网 | 国产成人精品亚洲777人妖 | 欧美三日本三级少妇三级999 | 韩国毛片一级 | 色五月在线 | 午夜成人一区二区三区影院在线 | 最新黄色视频 | 无码精品一区二区三区四区找到 | 91精品国产福利 | 中文字幕黄色片 | 中国 免费XXXX18 | 国产无码影视 | 黄色大片免费在线观看 | 美女极度色诱图片www视频 | 一级毛片在线 | 一区二区三清视频 | 台湾综合在线观看 | 欧美久久久久久久 | 日韩一级视频在线 | 高清无码视频在线观看不卡 | 影音先锋中文资源网 | 伊人久久大香线蕉综合色狠狠 | 无码国产一区二区三区四区五区 | 欧美日韩男女考逼视频 | 青娱乐 欧美在线视频 | 影音先锋成人在线电影 | A片日逼| 人人操一级片 | 五月丁香婷婷基地 | 老女人a| 日本高清无码手机在线毛片 | 成人免费黄色 | 久久韩国 | 天天干天天射天天日 | 稀缺小u女呦品呦cB视频 | 亚洲视频无码在线 | 在线亚洲欧洲免费视频 | 久久丁香五月天综合网 | 国精品无码一区二区三区四区五区 | 特级黄色片 | 日韩欧美视频 | AA片在线观看 | 国产午夜精品理论 | 天天干天天很天天狠狠 | 18禁 成人黄网站免费视频 | 一级A片亲子乱乱纪 | 国产熟妇久久77777 | 亚洲不卡视频 | 三级操逼 | 99精品欧美一区二区蜜桃免费 | AⅤ在线观看视频 | 日韩一二区 | 免费做爱毛片 | 亚洲成人第一页 | 日韩一级片视频 | 欧美性爱在线网 | 蜜桃视频ht19.vp | 我去也最新无码 | 91成人在线 | 99精品视频一区二区 | 影音先锋成人在线视频 | 操逼地址 | 人人超碰97| 国产日本视频在线 | 人人综合网 | 精品韩无码台湾成人在线 | 天天干 夜夜操 | 国产精品乱 | 人人草人人摸人人爽 | 一区二区三区视频免费 | 亚洲网站在线看 | 国产18禁美女黄禁片免费网站 | 麻豆国产一区二区 | 国产av黄 | 一级黄色A片视频 | 高清精品在线 | 蜜乳视频 | 1000部国产av | 婷婷丁香爱爱影院 | 99在线观看免费高清 | 熟女网址 | 九九九九九国产 | 免费黄色做爱视频 | 国产无遮挡又黄又爽又 | 影音先锋AV在线资源 | 欧美成人精品欧美一级乱黄 | A片视频播放 | 亚洲操比视频 | 日韩欧美精品熟 | 久久久精品网站 | 日韩黄色一级网站 | 青娱乐在线精品视频 | 91麻豆一区 | 免费看日逼视频 | 久久99久久99精品免费看小说 | 亚洲黄色视频在线观看网站 | 久久婷婷国产综合精品_国产激情 | 国产AV片 色哟哟 | 极品人妻侨喘呻吟 | 青娱乐成人分类视频 | 看毛片的网站 | 日本不卡免费 | 亚洲欧美乱伦 | 激情丁香六月 | 国产色婷婷一区二区 | 操美女骚逼逼影是 | 综合毛片 | 操逼视频在线播放 | 日皮视频在线观看免费高清网站 | 操逼网站在线看 | 一本不卡免费特黄视频在线观看 | 丰满老妇高潮一级A片免费看 | 日韩欧美爱爱 | 蜜臀尤物一区二区三区直播 | 青娱乐免费视频观看 | A片在线观看免费观看 | 青青91视频 | A一区二区免费视频 | 欧美系列在线观看 | 大香蕉在线大香蕉国产 | 成人免费黄色视屏 | 99精品在线观看免费视频 | 中文字幕在线观看的视频 | 激情一区二区三区欧美 | 国产性爱精品 | 豆花无码成人无码视频 | 在线播放成人网站 | 日韩免费福利视频 | 俺来也俺也去无码 | 天堂日本亚洲 | 亚洲欧美最大色情网站 | 婷婷丁香五月天色 | 国产精品一 | 国产精品嫩草影院久久久 | 日本高清AⅤ在线播放 | 麻豆国产精品无码人妻无码 | 久久足交视频 | 亚洲成人app | 云南久久久久视频 | 夜夜草视频 | 大香蕉怡春院日韩精品视频 | 成人网站在线免费观看 | 日韩三级片一二三区 | 天天爽夜夜爽夜夜爽精品视频 | 99久热只有精品视频 | 人妻午夜福利 | 日韩精品一区二区亚洲AV观看 | 色婷婷激情AV视 | 成人免费视频 国产免费麻豆。 | 九九久久精品视频 | 三级无码久久 | 亚洲综合五月天婷婷丁香 | 肏小屄视频 | 免费在线看片黄在线观看 | 做爱视频免费网站 | 国产亚洲激情视频 | 69久蜜桃人妻无码精品一区 | 青青草原网址 | 免费看欧美一级片 | 日韩无码 精品 乱伦 | av综合人妻 | 久热精品视频 | 天天免费摸天天免费日 | 免费毛片18女人毛片大全在线看 | 91免费在线视频 | 中文字幕中文字幕一区 | 中文字幕有码在线观看 | 极品少妇XXX | 国产亚洲精品AAA | 日韩特级毛片在线视频 | 大香蕉综合一二 | 有码一区二区三区 | 天堂AV√ | 伊人91 | 国产伦精品一区二区三区竹菊视频 | 豆花视频操逼视频 | 日本黄色免费视频 | 天天综合网永久入口 | 日韩无码AV一区 | h片在线免费播放 | 精品国产91久久久久久小树林 | 国产黄色一级毛片 | 日韩AV一二三 | 国产精品久久久久久久精 | 内射视频福利 | 一区二区水蜜桃 | 在线做爱网站 | 综合大香蕉在钱 | 俺去操在线视频 | 操逼操逼操逼操逼操逼操逼操逼操逼 | 上床视频网站在线 | www.黄色电影 | 中文字第一页幕精品导航网站国产乱伦 | 国产综合久久777777麻豆 | 91亚洲国产成人久久精品麻豆 | 欧美一级视频亚洲一级视频免费 | 大香蕉www.www | 99中文视频 | 一区二区三区三区无码 | 欧美性综合 | 青春草在线视频观看 | 成人网站在线观看免费 | 毛片手机在线 | 五月色婷婷中文字幕在线 | 台湾成人在线 | 在线五区 | 国产精品秘 欧美丨欧美捆绑精品 | 日欧精品在线 | 深爱激情丁香五月 | 青青草视频免费在线播放 | 国产一级a毛一级a看免费观看 | 成人毛片18女人毛片免费看麻豆 | 国产精品V无码A片在线看吃奶 | 色综合天天综合成人网 | 十八毛片18女人18毛片 | 骚片在线观看 | 一本到高清色情久久无码中文 | 俺也色俺也干 | 台湾成人在线观看 | 三级国产三级在线 | 免费无码婬片A片AAA毛片96 | 亲子伦A片免费 | 超碰手机免费公开在线 | 插插插色欲 | 欧美第一页精品 | 日批网站在线播放 | 俺去俺也去| 中国1级毛片 | 欧美成人国产精品高潮 | 免费在线观看黄色视频网站 | 北条麻妃黄色视频 | 日本精品一区二区三区视频 | 欧美成人视频在线观看 | 日本色一级片 | 国产高潮视频在线观看 | 91久久免费 | 熟妇人妻中文字幕无码老熟妇 | 日韩一级A片 | 国产刺激高潮 | 婷婷丁香五月小说 | 美女久久久久 | 水多多www视频在线观看高清 | 欧美性交手机在线 | 欧美及黄视频在线观看 | av天堂中文版 | 秋霞网在线伦日伦 | 大奶一二三区 | 91人人人人 | 五月天六月色婷婷在线 | 国产欧美精品AAAAAA片 | av婷婷五月天 | 亚洲午夜精品视频 | 成人超碰人人操 | 校园春色亚洲App下载 | 日本高清视频在线 | 亚洲娇小wite黑人粗大 | 91av免费看 | 狠狠狠狠狠狠狠狠狠 | 俺来也俺也啪www色 | 黄色免费网站在线看 | 青青草91久久久久久久久 | 国产激情在线播放 | 五月乱伦小说 | 亚洲男女免费啪啪视频 | 久久亚洲精品中文字幕不卡一区 | 天堂网视频欧美 | 国产91精品国自产精品 | 五月开心色播 | 激情综合五月 | 豆花视频18成人入口 | 久久精品视频免费看 | 国产三级A片 | 青娱乐国产在线 | 亚洲免费在线视频观看 | 又爽又黄又高潮视频 | 想要XX网站入口 | 一级二级在线观看网站 | 东方欧美在线 | 俺也去官网 | 青草综合在线 | 久草福利在线视频 | 欧美精品三级片 | 成人熟妇 | 激情五月天久久 | 国内自拍视频网 | 日本片A天堂 | 少妇在线观看 | 麻豆专区| 永久免费 看片直接看 | 精品久久久久久久久久久 | 成人狼友网址 | 国产l精品久久久久久久久久 | 黄片视频在线观看免费 | 天天操中文字幕 | 亚洲中国操逼视屏 | 欧美精品久久久久久 | 久热精品在线 | 2025天天操 | 欧美性爱在线中文字幕 | 日本亚洲欧美在线 | 爽妇综合网 | 三区在线视频观看 | BB在线视频网站 | 日本美女操逼视频 | 国产黄色片在线免费观看 | 欧美逼逼逼| 日韩在线小电影 | 国产视频无码 | A操逼| igao在线 | 在线免费观看国产黄片 | 火爆达人金先生短发白领 | 蜜桃视频 成人app ios | 国产久久久精品 | 欧美天天澡天天爽日日a | 干屄视频在线观看 | 超碰免费网站 | 水多多在线成人免费视频 | 欧美性爱综合在线 | 天天综合天天添夜夜添狠狠添 | 字幕一区二区久久人妻网站 | 亚洲色拍视频 | 成人性爱网站 | 国产激情有吗在线观看 | 69福利网 | 国产视频色在线播放 | 国产精品无码无卡无需播放器 | 国产黄色视频网站免费 | 韩无码在线 | 日日日日人人人夜夜2022 | 中国大香蕉黄色在线视频 | 成人在线无码视频 | 日韩精品久久久 | 少妇淫荡视频 | 国产久久这里只有精品视频 | 国产精品久久精品久久 | 搞基操逼摸奶黄色视频网站 | 国产A V一区二区三区 | 99这里都是精品 | 围产精品久久久久久久久久久久 | 亚洲一区二区免费视频 | 中文字幕国产第一页 | 少妇被c 黄 在线网站动漫 | 久操资源站 | 操逼天堂网 | 高清无码内射视频 | 高清无码小视频 | 深夜操逼逼 | 亚州性爱第一视频 | 亚洲黄网站在线观看 | 久草高清视频 | 女18人毛片 | 国产一区二区三区四区五区六区七区 | 欧美孕妇一级片 | 亚洲激情在线 | 毛片其地| 国产一级片AV | 中文字幕天天干 | 91人妻人人澡人人爽 | 日韩乱轮小说与视频 | 男人的天堂天天在线视频 | www.婷婷六月天 | 国产成人+综合亚洲+天堂 | 91AV电影网 | 亚洲成人激情电影 | 中文字幕成人电影 | 超碰 天天干 天天摸 | 欧美成人毛片一级A片 | 亚洲狼友自拍 | 国产黄色一级电影 | 亚洲天堂黄色 | 黄色毛片av成人免费 | 亚洲第一页国产 | 亚洲婷婷网 | 国产三级韩国三级日本三级99 | 国产日韩又刺激又爽无码 | 国产婷婷内射 | 美国发布站久久 | 国产免费自拍视频 | 美女操逼网址 | 超碰www| 精品国产91久久久久久暴行片 | 成人做爰A片一区二区 | 大香蕉伊人网 | 韩国三级片网站播放 | 一本经毛片 | 18 网站在线 | 真人一级黄色片 | 日本视频精品在线 | 精品人人妻| 久久人妻 | 影音先锋亚洲一区 | 欧美黄片一区 | 一本色道久久综合亚州AV | 亚洲少妇性爱 | 在线内射 | 久久久一级毛片 | 欧美高清无码在线观看 | 深爱激情五月天网 | 中文字幕不卡在线观看 | 高清无码网站在线观看 | 毛片播放网站 | 91无码| 最好看2019中文在线播放电影 | 欧美三级网站 | 美女大黄视频 | 91青青草视频在线 | 青青草国产激情 | 亚洲视频在线观看中文字幕 | 久大香蕉 | 日产无码久久久久久久久精英 | 国产操逼视频福利 | 苍井空和黑人最猛一次 | 天天干天天射天天干 | 香蕉视频亚洲 | 五月丁香色婷婷电影 | 爱草在线| 国产 精品 探花 熟女 | 特级西西444Ww高清大胆 | 韩国三级小视频 | 国产成年女人视频 | 日韩丝袜足交视频 | 天天好逼网好逼天天有 | 天天操天天摸天天爱 | 天天射天天干天天做 | 亚洲成人五区 | 久久免费高清 | 操操操操操操操操操操操逼 | 欧美性爱手机在线 | 九一麻豆影院无码精品 | www.人人摸 | 欧美性爱 在线 | 蜜桃精品视频在线 | 有码中文 | 亚洲无码一区在线 | 欧洲色天堂 | 日批网站在线播放 | 国产熟妇 码AV | 五月丁香六 | 亚洲中文av | 欧美日韩黄| 亚洲精品MV | 天天操天天草 | 99在线看 | 蜜臀久久精品久久久久宅男 | 欧美一交一乱一交一色一色情 | 色色综合网络 | 久草免费极品盛宴 | 色爱综合网 | 免费a√在线 | 最新国产精品视频豆花 | 中文字幕乱伦大杂烩 | 我要看免费 A片 | 在线精品播放 | www,污网站 | 可以免费看的黄色 | 搜国产黄色成人网站视频免费观看 | 囯产精品久久久久久久久久辛辛 | 国产日韩欧美亚洲 | 色色香蕉视频 | 精品69 | 午夜网站你懂的 | 亚洲成人自拍偷拍 | 日韩无码国产高清 | 免费国产网站污污 | 黄色电影在线观看国内免费 | 国产91久久婷婷一区二区 | 我想天天肏你 | 日本精品一区 | 毛片手机在线 | 日韩激情视频一区二区三区 | 无码高清毛片在线观看 | 亚洲欧美国产日韩字慕 | 欧美一级颜情免费视频 | 在线电影无码 | 国产91精品国自产精品 | 在线免费观看亚洲网站 | 中文字幕18页 | 午夜视频入口 | 欧美无乱码特黄日本大片 | 大香蕉视频精品 | 久久九九网 | 精品国产乱码一区二区三区小黄书 | 欧美色色色 | 国内成人自拍视频 | 国产欧美日韩成人 | 精品无码久久久久久久久不卡 | 亚洲人妻AV在线 | a片黄片免费看 | 亚洲欧美一区二区三区在线 | 土豪胖哥酒店微信高价的御范气质身材苗条匀称 | 免费观看全黄做爰的视频 | 九九精品一区二区三区四区 | 请搜索亚洲家庭乱伦 | 午夜黄色小视频 | 操屄视频网 | 国产又粗又硬又黄的视频 | 黄色成人网站观看 | 黄色网址在线播放 | 一本色道综合 | 欧美三级黄 | 国产黄色在线看 | 国产主播在线播放 | 国产激情小视频在线观看 | 看操逼的网站 | 国产白嫩精品久久久久久 | 一本无码在线视频观看 | 欧美操操操 | 亚州无码高清视频在线观看 | 国产精品123区 | 国产精品自产拍在线观看 | 极品无码 | 3p少妇| 天天操好逼 | A 片成人网 | 日本激情视频小说 | 欧美性爱天天干 | a视频在线观看免费 | 日逼A片大全 | 国产1区2区3区 | 亚洲男女激情网站 | 韩国高清一区二区 | 日韩啪啪片 | 日韩一级片在线观看 | 欧美高清精品成人在线 | 尾随搭讪酒店前台思妍 | 黄色大片免费看 | 日日夜夜大香蕉 | 精品久久无码一区二区 | 香蕉操逼网 | 国产福利AV | 嫖老熟女x88AV | 91免费片 | 苍井さくら在线一区二区 | 青青视频网| 久操人妻| 欧美五十路 | 免费黄网站在线观看 | 国产成人豆花在线影视 | 色婷婷亚洲1 | 麻豆福利导航 | 中国产一级黄色a片 | 日韩性爱网 | zzijzzij亚洲日本少妇ji… | 夜夜骚视频 | 福利视频久久久久 | 北条麻妃中文字幕一区 | 国产黄片一区二区三区 | 精品熟人一区二区三区四区 | 苍井空一区二区三区四区五区 | 日韩黄色在线观看 | 乱伦一二三| 中文字幕欧美在线 | 青青国产在线 | 波多野结衣一品二品免费观看AV | 久久精品欧美一 | 狠狠久久婷五月 | 成人午夜免费视频 | 插综合网| 日本黄色操逼视频 | 欧美老女人操逼视频 | 欧美国产精选视频 | 久久久91人妻无蜜桃码 | 人人摸在线精品视频 | 黄色无遮挡亚洲 | 国产V A | 激情婷婷综合网 | 一级a啪啪啪 | 在线视频这里只有精品6 | 777精品视频在线 | 露脸熟女不卡视频 | 特一级一性一交一视频 | 亚洲永久免费视频 | 国产精品MV视频 | 国产日韩在线观看视频 | 影音先锋男人在线资源 | 欧美日韩性爱一区二区三区 | 黄片逼站 | 一级操逼视频看看 | 大香蕉视频99一本 | 日韩黄色三级视频网站在线播放 | 【乱子伦】国产精品 | 99精品在线观看免费视频 | 国产在线精品色 | 久久婷婷AV | 亚洲第一网站在线观看 | 亚洲国产精品毛片一区二区三区 | 毛片免费网址 | 国产麻豆精品人妻无码 | 久久三级久久三级久久三级 | 天堂v视频永久在线播放平台 | 免费看无码 | 干成人网| 黄 片 免费 在 线 观 看 s | 俺也操 | 国产视频乱伦 | 91社区视频 | 一级黄色免费在线 | 暴肏美女视频在线观看 | 国产女人18毛片水真多1 | 天堂网资源av | 靠逼视频在线观看 | 无码人妻精品一区二区蜜桃在线看 | 豆花视频免费在线 | 国产99久久九九精品无码免费 | 精品一区一区三区四区 | 俺去啦俺也去 | 1000精品无码 | 啪啪啪免费在线观看 | 久久久久久久久久成人永久免费视频 | 欧美黄色成人网站 | 成人免费 做爱视频 | 免费无码毛片一区二区本码视频 | 午夜三级影片 | 内射视频网站免费观看 | 麻豆性爱 | 天天干免费手机视频 | 三级片www | 青娱乐在线无码视频 | 婷婷色影音先锋 | 亚洲激情视频小说 | 国产黄色视频在线看 | 在线免费观看亚洲 | 亚洲草逼视频 | 黑人大屌孟操日本女人 | 日本一区二区三区久久久久久久久不卡免费 | 又黄又爽无遮拦网站 | 中文字幕日本欧美 | 日韩精品人妻中文字幕蜜乳 | 亚洲精品无码视频在线观看 | 伊人婷婷色 | 伊人婷婷色五月色婷婷区 | 亚洲一级无码 | 午夜视频网址 | 亚洲精品视频免费看 | 曰韩欧美一级 | 青青操娱乐日韩 | 天天爱激情 | 伊人天堂视频 | 豆花视频成人网站入口免费观看 | 国产三级观看 | 无码一区二区三区四区精品 | 色哟哟免费视频一区二区三区 | 精品无码秘 人妻一区二区媚黑 | 欧美日韩操逼视屏 | 少妇厨房愉情理伦BD在线观看 | 国产无码操屄 | 2016av天堂网 | 无码免费毛片一区二区三区古代 | 日韩无码第一页 | 伊人网成人综合 | 欧美日韩一区二区三区电影 | a免费观看| 日本骚少妇 | 一本道一区二区 | 中文字幕免费黄色电影 | 日本无码久久嗯啊流水 | 在线观看国产色情 | 午夜福利视频网 | 射射蜜桃av免费电影 | 国产精成人品 | 亚洲黄网站在线观看 | 大香蕉国产伊人在线 | 国产欧美日韩久久 | 成人做爰黄A片免费看直播室动漫 | 中文字幕第一页精品视频 | 欧美亚洲日韩国产 | 欧美精品一道本 | PORNY九色视频9l自拍 | 欧美色色色 | 五月丁香婷婷综合 | 日韩高清无码电影 | 亚洲视频小说 | MD-0127 艾秋 分享骚货老婆 强势调教处男晚辈 | 肏屄免费| 老司机视频在线视频18 | 亚洲另类调教 | 婷婷五月福利 | 国产精品久久一区二区三区影音先锋 | 息与子五十路の高齢熟女在线视频 | 天天肏在线观看 | 免费看操逼的网站 | 农村嫩苞一区二区三区… | 女人18片毛片90视频 | 国产精品在线免费观看 | 中文字幕777 | 完整一级a片偷拍片 | 欧美日韩精品一区 | 蜜桃精品视频 | 天堂资源网在线观看 | 天天淫色| 91视屏18 | 国产精品粉嫩福利在线 | 欧美成人一区二区三区片免费 | 欧美性猛交XXXXX按摩欧美 | 亚洲无码免费视频一区二区三区四虎 | 在线观看日韩三级片 | 亚洲无吗免费在线观看 | 国产成人三级在线观看视频 | 免费一级特黄美女高潮 | 亚洲经典免费视频 | a在线免费 | 色性操逼 | 在线成人毛片 | 成人黄色影视 | 亚洲免费免费在线观看 | 国产v亚洲 | xxx国产在线免费观看 | 国精产品一区二区三区糖心269 | 国产综合第一页 | 亚洲精品伦 | 日韩A电影| 天天躁日日躁狠狠躁免费麻豆 | 水蜜桃成人A片视频网站 | 亚州在线观看视频 | 欧美人在线播放成 | 亚洲无码手机在线 | 青青草原视频在线观看免费 | 国产人妻精品一区二区三区不卡 | 日本在线黄色视频 | 做爰 视频毛片下载蜜桃视频 | 日本精品一区二区 | 欧美黄色成人视频 | 日本熟妇视频中出熟妇 | 五月婷婷综合激情 | 黄片无码在线免费观看 | 国内自拍叭叭叭 | 逼视频在线观看 | 乱伦免费视频中文字幕 | 免费看成人做爰视频 | 在线免费av观看 在线免费精品福利 | 操逼视频在线 | 成人无码精品 | 久久久黄色 | 免费拍拍拍 | 毛片手机在线 | 国产精品午夜福利电影 | 老熟妇仑乱一区二区av | 中国一级黄色 | 欧美黄色影片在线观看 | 91禁在线观看 | 亚洲成人视频在线观看 | 爱爱爱视频免费 | 91黄色电影在线观看 | 天天躁夜夜躁狂躁2022 | 中文字幕第一页精品视频 | 国产精品 久久久 | 韩国精品一二三 | 成 年 人 电影app免费 | 欧美精品秘 日韩少妇 | 日韩三级片免费 | 国严精品99欧美一级片在线观看 | 亚欧毛片 | 国产一区色 | 无码爆操 | 在线视频1区 | 免费成人黄色片 | 在线免费播放黄色电影 | 无码国产精品一区二区 | 热久久综合网 | 欧美乱婬妺妺躁爽A片 | 黄片在线视频 | 天天日天天干天天胔 | 国产福利在线 | 无码一级日韩免费 | 先锋影音AV资源站 | 尤物视频网 | 老司机日比视频 | 亚州免费视频 | 青青草国产激情 | 国产熟女一区二区视频网站 | 天天色综合zx | 精品免费国产一区二区三区四区的使用方法 | 中日韩在线视频 | 手机在线日本A V电影 | 额去撸在线视频 | 操逼免费在线视频 | 无码人妻AⅤ一区二区三区A片一 | a在线免费观看视频 | 亚洲视频网免费在线 | 不要网站的黄色电影 | 欧洲无码在线播放 | 欧美成人精品一区二区三区在线看 | 成年人视频免费在线观看大香蕉 | 欧美日韩一级视频 | 亚洲无码字幕 | caoporm超碰 | 免费成人黄色电影视频 | 最新最近日本中文字幕不亚洲 | 免费看日逼 | 好男人WWW一区二区三区 | 一本无码在线视频观看 | 亚洲黄色电影在线 | 玖玖精品热在线 | 无码人妻一区二区三一区免费n狂飙 | a一级欧美 | 高清无码网 | 麻豆果传媒成人A片免费看 | 青娱乐免费视频观看 | 亚洲AV综合在线 | 东京热一区二区三区 | 豆花综合网 | 欧美久久久久久久久久久 | 中文字幕乱码一二三区 | 青青青青青操久免费观看电视剧 | 青青草无码成人A片免费看 | 激情伊人网 | 美女网站黄色 | 日本黄色成人网站 | 对白刺激国语子与伦 | a级黄色的网站在线观看 | 欧美老熟妇性色XXXXx | 色老板在线视频永久免费 | 九九午夜 | 婷婷俺也去| 大香蕉猫咪AV | www射www | 中文字幕av久久波多野结 | 亚洲专区欧美专区 | 北条麻妃中文字幕黄色片子 | 午夜无码鲁丝 | 亚洲天堂2021在线 | 成人视频三级A片 | 日韩三级在线观看 | 在线浏览亚洲性图 | 爱爱网官方登录网站入口 | 美女干逼免费的 | 国产视频一区二区四区 | 欧美三级黄色 | 中文字幕在线视频网站国产免费 | 19福利在线 | 色老板在线永久免费视频 | 在线免费观看黄片网站 | 91色在线观看 | 成人在线性爱视频 | 内射七八高清视频 | 成人啪啪视频 | 慢点操啊啊啊麻豆太深了 | 成人三级AV在线 | 色婷婷国产精品免费视频 | 亚洲成人影音先锋 | 爱爱爱爱免费视频 | 免费中文中文A片 | 日韩一级色情片 | 天天摸天天操天天日 | 青青草青青日青青干视频 | 欧美自拍视频在线观看 | 激情四月五月婷婷小电影 | 国产无码小电影 | 欧美三级片网站免费 | 欧美撸一撸 | 欧美生活片18 | 操逼手机高清免费看 | 无码在线高清 | Safari帮我打开日韩av三级片 | 天堂久草| 一区二区三区在看 | 翔田千里无码一区二区 | 爱操逼网站| 日本操逼视频网站 | 无码免费视频在线观看 | 午夜一级福利 | A黄色视频 | 蘑菇偷拍视频 | 日韩一区二区无码视频 | www.日本特黄24小时免费 | 99超碰在线资源 | 操逼逼AV | 超碰AV青青草在线 | 91n成人久久 | 最新一区二区 | 伊人婷婷丁香 | 影音先锋资源你懂的 | 影音先锋在线男人资源 | 先锋资源在线视频 | 操美逼69| 日本特黄A片 | 一区操逼片| 欧美区在线 | 精品三级无码 | 黄色a一级片免费看 | 男人的天堂色 | 激情小说五月天 | 一区二区三区四区有码 | 99色免费视频 | 久久久青青草 | 一级日韩在线观看 | 黑人肏逼视频 | 天天日天天舔天天操 | 午夜视频久久 | 综合久久狼人 | 91在线观看18 | 久久亚洲AV成人无码电影麻豆 | 欧美三级在线播放 | 日韩精品视频一区二区三区 | 一级成人免费视频 | 三级片av在线 | 国内自拍视频在线观看 | 国产成人无码综合亚洲日韩不卡 | 免费观看a网站 | 啊啊啊草逼| 男人天堂网www | www无码视频 | 国产精品一卡2卡3卡4卡5卡免费网站 | 天天干国产 | 日本成人A电影院 | 婷婷五月天社区 | 俺去也俺也去 | 人人干AV人人操 | 熟女无码| 久久免费视频观看 | 久久澡狠l澡欧美老妇 |