青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 181, 文章 - 2, 評論 - 85, 引用 - 0
數據加載中……

5月10日-----將 WebSphere Business Integration Server Foundation V5.1.x 項目遷移到 WebSphere Process Server V6

引言

IBM? WebSphere? Process Server v6(以下稱為 Process Server)是 IBM 提供的下一代業務集成軟件,它基于包含了開放標準的面向服務的體系結構 (SOA)。它取代了 WebSphere Business Integration Server Foundation v5.1.x(以下稱為 Server Foundation)。集成開發環境 (IDE) 也從 WebSphere Studio Application Developer Integration Edition(以下稱為 Application Developer)v5.1.x 發展到了新的 WebSphere Integration Developer v6(以下稱為 Integration Developer)。Integration Developer 是作為 Process Server 的補充的一個工具,它基于 Eclipse 3.0 并帶來了基于組件開發的一個完整的新范例。

先前稱作 現在稱作
WebSphere Business Integration Server Foundation v5.1.x WebSphere Process Server v6
WebSphere Studio Application Developer Integration Edition v5.1.x WebSphere Integration Developer v6

在將業務集成應用程序從 Server Foundation 遷移到 Process Server 時,您可以在以下兩種方法中選擇:

  • 一種方法是運行時遷移,將整個 Server Foundation 配置(包括已安裝的應用程序和配置文件)遷移到 Process Server 配置文件。應用程序二進制文件并沒有變化,它們“只是”像在 Server Foundation 中那樣運行。WebSphere Process Server v6.0.0 并沒有提供這種遷移方法,但是正在考慮將其用于該產品的未來版本。
  • 另一種方法是源構件遷移,它使用新集成開發環境中的遷移工具。這是 v6.0.0 中提供的唯一遷移方法。在這種情況下,將應用程序的源代碼遷移到新編程模型并進行改寫,以便您可以將遷移的應用程序部署到 Process Server。遷移向導將為您自動遷移所有 BPEL 文件和 BPEL WSDL 擴展,然后您必須執行一組手動遷移步驟以完成這一遷移。

本文描述了源構件遷移方法。您應該具有使用 Application Developer 的經驗,并且對 Java? 編程和業務流程相當了解。







源構件遷移概述

本文介紹了遷移一個簡單服務項目(包含作為 EJB 公開并連接到 Java 服務的業務流程)的源構件的步驟。在本例中,業務流程只需調用 Java 服務,Java 服務反過來發送電子郵件。通過接收電子郵件,該操作幫助您了解應用程序何時成功執行。應用程序在 Application Developer 創建,在 Server Foundation 部署。我們向您展示了如何使用遷移向導將項目導入到 Integration Developer,如何重新連接組件,以及如何為在 Process Server 部署做好準備。







現有資源

現有的 Application Developer 項目交換 zip 文件包含構成企業應用程序的 6 個項目。應用程序的工作部分包含在 EmailService 服務項目中。EmailServiceCustomWeb 項目包括允許您從 Web 瀏覽器調用服務的 JSP。這兩個項目都是在 EmailServiceEAR 定義的 EAR 中部署的。

我們將使用 Integration Developer 來遷移服務項目和自定義 Web 項目,并使用遷移的 JSP 測試業務流程。除了解壓縮項目交換 zip 文件以外,所有步驟都是在 Windows? 平臺上的 Integration Developer v6.0.0 中執行的。

項目交換文件解壓縮到一個臨時文件夾。然后從 Windows 開始菜單啟動 Integration Developer。選擇 Start -> Programs -> IBM WebSphere -> Integration Developer V6.0 ->WebSphere Integration Developer V6.0。







使用遷移向導

有兩種方式訪問遷移向導。當您第一次打開 WebSphere Integration Developer 時,歡迎屏幕將顯示幾個圖標。單擊綠色箭頭圖標以啟動遷移向導,如圖 1 所示。


圖 1. WebSphere Integration Developer 歡迎屏幕
WebSphere Integration Developer 歡迎屏幕

提示:在使用遷移向導時,關閉 Integration Developer 中的項目自動構建選項。請轉到 Main Menu -> Project,然后取消選擇 Build Automatically。如果您關閉該 AutoBuild 選項,請記住定期構建整個項目或者重新啟用 AutoBuild 選項。

下一屏幕向您呈現了 3 個源遷移選項。單擊具有 5.1 和一個箭頭的圖標,如圖 2 所示。


圖 2. WebSphere Integration Developer 初始遷移屏幕
WebSphere Integration Developer 初始遷移屏幕

另一種方式是通過 File Import 選項瀏覽 Integration Developer。要啟動遷移向導,請使用主菜單:

  1. 轉到 File -> Import
  2. 從導入窗口中選擇 WebSphere Studio Application Developer Integration Edition Service Project,如圖 3 所示,然后單擊 Next。這將啟動遷移向導。

    圖 3. 導入窗口
    導入窗口
  3. 單擊 Browse 按鈕,并轉到您解壓縮項目交換 zip 文件的臨時文件夾。
  4. 突出顯示要導入的項目文件夾,并單擊 OK。在本例中,導入圖 4 中所示的 EmailService 項目。

    提示:該向導能夠快速地填寫它找到的模塊名。如果它沒有填寫,請輸入項目的模塊名。我們建議您使用相同的原有項目名稱。


    圖 4. 指定源構件
    指定源構件
  5. 單擊 Next 進入設置遷移選項的屏幕。
  6. 請確保選擇選項以在注釋中保留原有的 BPEL Java 代碼段。通過將它們包含在注釋塊中,保留所有現有的 Java 代碼段。單擊 Finish
  7. 遷移向導將創建一個新的“業務集成模塊”項目,導入所有現有的 Application Developer 構件,并轉換源構件。您會看到具有一些消息的 Migration Results 屏幕。

    在本例中,您將看到 5 條信息消息。其中有 4 條信息表示:“The following java package is not being migrated because it contains generated classes that are no longer valid”。這些消息是安全無害的。Application Developer 已經自動生成 java 包以將應用程序綁定到 Server Foundation 運行時。新工具將生成新的綁定。單擊 OK

    請注意:如果出現錯誤,您可以突出顯示某一消息行,然后單擊 Generate ToDo’s 按鈕以在代碼中生成 TODO,這樣您可以稍后修復這些錯誤。

    如果您關閉了 AutoBuild 選項,可以再次打開(Integration Developer Main Menu -> Project -> Build Automatically)。







使用遷移的資源

現在您將使用遷移的資源。

  1. 請轉到 Integration Developer 中的 Business Integration 透視圖。在導航窗格中,通過雙擊名為 EmailService 的 Assembly Diagram 圖標,Assembly Diagram 圖標,打開最新創建的 EmailService 項目。該項目將在 Assembly Editor 中打開。
  2. 您將在畫布中看到一個名為 EmailBusinessProcess 的項。這是服務組件體系結構(Service Component Architecture,SCA)組件,它的實現是在業務流程執行語言(Business Process Execution Language,BPEL)中實現的電子郵件業務流程 (Email Business Process)。

    圖 5. 顯示一個業務流程組件的 Assembly Editor
    顯示一個業務流程組件的 Assembly Editor
  3. Assembly Editor 左側是工具面板。您需要第二個工具箱中的 Stand-alone References 工具,該工具箱由一個框式藍色箭頭圖標表示。單擊業務流程組件的左側,然后單擊工具并將其放在畫布中。如果需要空間,可以將業務流程組件拖到右側。
  4. 在 Assembly Editor 工具面板中,單擊綠色細線圖標,綠色細線圖標,然后單擊 Stand-alone References 組件,最后單擊 Business Process Component (EmailBusinessProcess)
  5. 彈出的消息將通知您“a matching reference will be created on the source node. Do you want to continue?”。不要選擇“Always create without prompt”框。單擊 OK
  6. Select Interface 窗口彈出,如圖 4 所示。您將看到可以創建引用的兩個接口,即 ProcessPortType 和 MailSMTP。請選擇 MailSMTP 并單擊 OK

    圖 6. 接口選擇屏幕
    接口選擇屏幕
  7. 將提示您是否希望為 Stand-alone Reference 生成 Java 接口,而不是 Web 服務描述語言(Web Services Description Language,WSDL)接口。由于您要使用 JSP 和 Java 客戶機訪問流程,因此選擇 Yes
  8. 單擊 Ctrl-S 保存與圖 7 相似的組裝關系圖 (Assembly Diagram)。觀察每一個組件的細節以及 Properties 窗格的 Details 選項卡中的連接。
  9. 請選擇 Stand-alone References Component。在 Properties 視圖中,記住 Details 窗格中的 Partner Reference 的名稱。在本例中,名稱為 MailSMTPPartner。在 Details 窗格中,您可以找到客戶機使用的自動生成的 Java 接口的名稱。如圖 7 中所示,接口為 com.scb.process.email.mail.smtp.MailSMTP

    圖 7. 顯示屬性窗格和兩個連接組件的組裝關系圖
    顯示屬性窗格和兩個連接組件的組裝關系圖

    請注意:我們為什么向業務流程組件提供獨立引用呢?獨立引用允許非 SCA 客戶機(如類似于 JSP 的 J2SE 或者 J2EE 客戶機)訪問 SCA 組件。如果您只計劃使用 BPC 資源管理器或者組件測試框架 (Component Test Framework) 調用流程,則不需要獨立引用,這是因為這些內置工具使用 BPC 和 SCA API 直接調用流程。

  10. 回到 Assembly Editor,選擇 EmailBusinessProcess 組件的引用連接器(由右側具有 1:1 的小框表示)。右鍵單擊該引用連接器,并從上下文菜單中選擇 Wire References to New -> Components

    該操作將在 EmailBusinessProcess 組件的右側創建與接口 MailSMTP 同名的通用 SCA 組件。這會自動將業務流程組件連接到新的通用組件。

  11. 單擊 Ctrl-S 保存組裝關系圖。
  12. 右鍵單擊 Generic Component MailSMTP,并從上下文菜單中選擇 Select Implementation -> Java。該通用組件變成 Java 組件。在 Pick Implementation 屏幕的 Select entries 字段中,開始鍵入 mailsm,直到看到名為 MailSMTP 的類為止。突出顯示這個類并單擊 OK

    提示:Qualifier 字段顯示包的名稱,該名稱與包出現在原有的 Application Developer 服務項目中的名稱相同。這就是在開始遷移流程之前您必須了解服務項目的結構的原因。

    由于這個 Java 服務示例的輸入/輸出參數具有簡單的類型(字符串和布爾型),因此 SCA 框架自動等同于 SCA 組件公開的 WSDL 接口和 Java 類的接口。例如,在 EmailService 項目中比較 MailSMTP.wsdl 和 MailSMTP.java。轉到 Java 透視圖查看 Integration Developer 中的這些文件。

    如果您不確定 Java 接口是否與滿足 Java 要求的 SCA WSDL 兼容,請不要選擇 Select Implementation,而要選擇 Generate Implementation。將要求您具有可以生成類的包。向導在組件公開的 WSDL 接口中生成與 SCA 兼容的 Java 接口。組件 MyComponent 的類名為 MyComponentImpl.java

    現在,檢查每個方法的輸入參數的類型及其返回類型,以確保它們都匹配 Java 類的接口。如果它們不匹配,您有兩種選擇。第一種選擇涉及到修改原有 Java 類的接口。或者,可以將生成的骨架作為實現類并編寫自定義代碼,以在生成的 Java 骨架中調用每個方法的原有 Java 類。當操作的輸入或者輸出類型很復雜時(例如,Customer 對象具有地址、姓名之類的子對象),通常會出現問題,因為在 SCA 范例中,它們是以 commonj.sdo.DataObject 表示的。而在原有 Java 類中,參數是以 Java bean 表示的。

  13. 通用 SCA 組件變成 Java 組件,業務流程組件與其連接。畫布與圖 8 類似。畫布中唯一的顯著變化是“J”,表示 MailSMTP 是一個 Java 組件。
    圖 8. 顯示 3 個連接組件的組裝關系圖
    顯示 3 個連接組件的組裝關系圖
  14. 這就完成了。單擊 Ctrl-S 保存組裝關系圖并關閉 Assembly Editor。

下一步要遷移 Application Developer 項目交換文件中包含的 Web 項目。







遷移用于調用業務流程的 JSP

在 Application Developer 項目交換文件中,EmailServiceCustomWeb 項目包含 JSP (index.jsp),它從用戶獲得 4 個參數并使用 Facade Enterprise Java Bean (EJB) 調用業務流程。該 Facade EJB 是在 Application Developer 中生成的,它包含在 EmailServiceEJB 項目中。

在 Integration Developer 中,沒有生成 Facade EJB 的捷徑,因為它使用 SCA 編程模型中的新抽象層。因此,您必須遷移 index.jsp 以使用 SCA 編程模型,而這將調用業務流程。

  1. 首先,從項目交換 zip 文件導入 EmailServiceCustomWeb 項目。在 Integration Developer 中,轉到 File -> Import -> Project Interchange。單擊 Next 并瀏覽到該 zip 文件。選擇圖 9 中所示的 EmailServiceCustomWeb 并單擊 Finish

    圖 9. 項目導入屏幕
    項目導入屏幕

    許多在 Application Developer 中有效的環境變量在 Integration Developer 中不再使用,因此我們需要確定 Web 項目的類路徑。

  2. 轉到 Java 透視圖,Window -> Open Perspective - > Other -> Java,并選擇 EmailServiceCustomWeb 項目。右鍵單擊并選擇 Properties
  3. 轉到 Java Build Path,在 Projects 選項卡中,刪除 EmailServiceEJBClient 上的依賴項。請確保 EmailService 上有一個依賴項,如圖 10 所示。

    圖 10. Java 構建路徑上的項目
    Java 構建路徑上的項目
  4. 在 Libraries 選項卡中,突出顯示所有條目并單擊 Remove,以從構建路徑中刪除所有 JAR 和類文件夾。
  5. 單擊 Add Library,突出顯示 JRE System Library,然后單擊 Next。在 Alternate JRE 字段中,使用下拉選擇器選擇 WPS Server v6.0 JRE。請不要 選擇 WebSphere v6 JRE。單擊 Finish
  6. 單擊 Add Library,突出顯示 WPS Server Target,然后單擊 Next。選擇“Configure wps server classpath”并單擊 Next。您的屬性屏幕將類似于圖 11。

    圖 11. Java 構建路徑上的庫
    Java 構建路徑上的庫
  7. 單擊 Project References。設置對 EmailService 項目的引用(如圖 12 所示)并刪除所有其他引用。

    圖 12. 項目引用設置
    項目引用設置
  8. 單擊 OK 保存新設置。這將清除所有錯誤(除 index.jsp 中的 JSP 編譯錯誤之外)。Application Developer v5.1 在 J2EE 1.3 級別。您可以將 Web 應用程序遷移到 Integration Developer v6.0 中可用的 J2EE 1.4 級別。

    提示:只有在工作區啟用高級 J2EE 功能后才可以使用遷移選項。為此,請轉到 Window -> Preferences -> Workbench -> Capabilities -> Advanced J2EE -> Enterprise Java,如圖 13 所示。


    圖 13. 啟用工作臺的功能
    啟用工作臺的功能
  9. 在導航窗格中,突出顯示 EmailServiceCustomWeb 項目。右鍵單擊并從上下文菜單中選擇 Migrate -> J2EE Migration Wizard
  10. 在 J2EE Migration Wizard 歡迎屏幕中,忽略警告并單擊 Next。對于該場景,缺省設置是可以接受的。圖 14 顯示了缺省 J2EE 版本為 v1.4,目標服務器是 WebSphere Process Server v6.0。單擊 Finish

    圖 14. 項目的遷移設置
    項目的遷移設置
  11. 查找消息“Migration finished successfully”。單擊 OK。由于這只是一個簡單的項目,因此 Details 窗格指示許多項不需要遷移。
  12. 還有最后一步。您需要將該自定義 Web 項目添加到為 EmailService 業務集成模塊生成的企業應用程序中。該操作是在 Integration Developer 的 J2EE 透視圖中完成的,包括幾個步驟。
  13. 轉到 J2EE 透視圖,Window -> Open Perspective -> J2EE。在導航窗格中,轉到 Enterprise Applications -> EmailServiceApp -> Deployment Descriptor。打開 EmailServiceApp 的部署描述符。
  14. 在主窗口中,單擊 Module 選項卡。在 Modules 下面,單擊 Add,如圖 15 所示。彈出的 Add Module 窗口將查找 EmailServiceCustomWeb 項目。選擇該項目并單擊 Finish

    圖 15. 項目引用設置
    項目引用設置
  15. 單擊 Ctrl-S 保存應用程序的部署描述符。
  16. 在 Integration Developer 中,不能再為業務流程生成 Facade EJB。您必須手動遷移這些代碼以使用 SCA 編程模型調用業務流程。這就是您需要修復 index.jsp 文件中的錯誤的原因。

    在 J2EE 透視圖中,編輯 index.jsp。在 Project Explorer 窗格中,轉到 Dynamic Web Projects -> EmailServiceCustomWeb -> Web Content ->index.jsp。雙擊 index.jsp 打開該文件進行編輯。選擇 JSP 編輯器的 Source 選項卡。您將看到“if”代碼塊內的錯誤,如圖 16 所示。


    圖 16. 編輯 index.jsp 文件
    編輯 index.jsp 文件
  17. 使用下面的代碼替換 if 代碼塊:

    com.scb.process.email.mail.smtp.MailSMTP service = 
          (com.scb.process.email.mail.smtp.MailSMTP)   
          com.ibm.websphere.sca.ServiceManager.INSTANCE.
          locateService("MailSMTPPartner");
    
    boolean success = service.sendEmail(
          request.getParameter("server"), 
          request.getParameter("from"),
          request.getParameter("to"), 
          request.getParameter("contents"));
    

  18. 保存對 index.jsp 和部署描述符的更改。

現在,您可以通過下面列出的三種方法進行測試,其中每一個測試都是相繼測試應用程序的組件。







使用 Integration Developer 集成測試客戶機測試遷移的組件

現在您可以在 Integration Developer 中測試遷移的應用程序。通過使用嵌入式測試服務器運行應用程序,集成測試客戶機允許您單獨測試每一個組件。

  1. 轉到 Business Integration 視圖中的導航窗格。右鍵單擊 EmailService 項目。從上下文菜單中選擇 Test -> Test Module。對于要測試的組件,選擇 MailSMTP

    請注意:您可以選擇調用的組件。在 MailSMTP 的第一個示例中,選擇 Java 組件。稍后,確定 Java 組件正確工作后,您可以執行調用業務流程組件的更加全面的測試。


    圖 17. 調用事件
    調用事件
  2. 在 Events 屏幕中,輸入 4 個輸入請求參數的值(電子郵件服務器的名稱、電子郵件地址以及用作電子郵件內容的文本),并單擊 Continue。
  3. Deployment Location 窗口彈出。請選擇突出顯示的 WebSphere Process Server v6.0 并單擊 Finish
  4. 集成測試客戶機將啟動嵌入式 Process Server 測試服務器,安裝并啟動遷移的應用程序,并且使用您指定的參數調用 MailSMTP Java 服務。如果輸入參數是正確的,您將看到返回結果的值為“true”,如圖 18 所示。

    圖 18. 返回結果
    返回結果
  5. 通過檢查電子郵件是否已發送到收件人,驗證是否成功調用 Java 服務,如圖 19 所示。

    圖 19. 測試電子郵件
    測試電子郵件

    該測試展示了如何使用 Integration Developer 集成測試客戶機調用 Java 組件 (MailSMTP)。







使用 Integration Developer 集成測試客戶機測試更多遷移的組件

  1. 在 Business Integration 透視圖中右鍵單擊 EmailService 項目,回到 Events 屏幕,然后從上下文菜單中選擇 Test -> Test Module
  2. 在 Component 字段中,單擊下拉箭頭并選擇名為 EmailBusinessProcess 的組件。它是實現為 BPEL 流程的業務流程組件。它調用剛才測試的 MailSMTP Java 服務。這是一個更加全面的測試,演示了如何在業務集成模塊中增量測試組件。
  3. 如上一個測試那樣,輸入 4 個請求參數的值,然后單擊 Continue

    圖 20. 選擇組件
    選擇組件
  4. 這也將獲得一個成功的測試。收件人獲得了測試電子郵件,并且 Events 屏幕顯示圖 21 中所示的結果。

    圖 21. 成功的結果
    成功的結果






使用遷移的 JSP 測試遷移的應用程序

現在您可以使用遷移的 JSP 測試遷移的應用程序。這是一個全面的測試,因為它表示一個端到端場景。

  1. 轉到 J2EE 透視圖中的導航窗格。展開 Enterprise Applications 并右鍵單擊 EmailServiceApp 項目。從上下文菜單中選擇 Run -> Run on Server
  2. 在 Server Selection 屏幕中,選擇 WebSphere Process Server v6.0(如圖 22 所示)并單擊 Finish

    圖 22. 定義新測試服務器
    定義新測試服務器
  3. Process Server 測試服務器啟動后,應用程序發布到該測試服務器。在 Integration Developer 的主窗口中,Web 瀏覽器窗口打開。缺省情況下,它指向 http://localhost:9080/EmailServiceCustomWeb/,如圖 23 所示。

    圖 23. WebSphere Integration Developer 內的 Web 瀏覽器
    WebSphere Integration Developer 內的 Web 瀏覽器
  4. 在 Web 瀏覽器屏幕中,輸入 4 個輸入請求參數的值,然后單擊 Enter。請記住輸入電子郵件服務器的名稱和您自己的電子郵件地址。(作者不希望得到所有這些測試電子郵件!)
  5. 如果一切進展順利,您將看到在 Web 頁面下部輸出的消息“Result is: true”。驗證 JSP 是否成功調用了業務流程。JSP 調用您創建的獨立引用,獨立引用反過來調用遷移的業務流程和 Java 服務。當收件人接收到電子郵件時測試完成,如圖 24 所示。

    圖 24. 測試電子郵件
    測試電子郵件

    請注意:如果您關閉了 AutoBuild 選項,可以再次啟用(Integration Developer Main Menu -> Project -> Build Automatically)。

您已經通過三種不同方式成功測試了遷移的應用程序,這就在環境中為您準備了一個完整的端到端場景。







結束語

本文介紹了如何遷移發送電子郵件的簡單業務流程,如何在 WebSphere Process Server 運行時運行該業務流程,以及如何測試遷移的流程。從 WebSphere Studio Application Developer Integration Edition v5.1.x 遷移一個簡單的服務項目以使其在 WebSphere Integration Developer v6.0 中工作是相當簡單的,當服務項目具有一個項目文件(如 EmailService 示例和一些簡單的 Java 代碼)時尤為如此。我們了解這不是一個典型的 BPEL 業務流程示例,但是使用它在 Integration Developer 中引入了遷移向導并體驗了源構件遷移。我們希望實際的遷移項目使用遷移向導,但是它也會涉及到大量的手動遷移工作。

posted on 2006-05-10 20:10 wsdfsdf 閱讀(447) 評論(3)  編輯 收藏 引用 所屬分類: 技術文章

評論

# Jason Weisser訪談:SOA很難,但很重要  回復  更多評論   

http://news.csdn.net/n/20060406/89125.html

說的很深刻。
2006-05-10 21:10 | Merlin

# SOA:在最初就讓它正確  回復  更多評論   

http://dev2dev.bea.com.cn/techdoc/other/200408225.html

2006-05-10 21:33 | Merlin

# soa 大全  回復  更多評論   

http://www.51cto.com/html/2006/0106/16327.htm

呵呵 好多文章阿 阿 這個可是專題阿
2006-05-10 21:36 | Merlin
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美99在线视频观看| 亚洲国产欧美一区二区三区同亚洲| 午夜精品网站| 欧美国产精品专区| 国产九九精品| 亚洲影院高清在线| 性欧美暴力猛交另类hd| 午夜精品一区二区三区在线播放| 欧美在现视频| 欧美成人精品1314www| 一区二区三区不卡视频在线观看| 亚洲一区一卡| 噜噜噜躁狠狠躁狠狠精品视频 | 国产精品草莓在线免费观看| 欧美人牲a欧美精品| 欧美日韩在线不卡一区| 欧美丝袜一区二区三区| 国产免费亚洲高清| 免费成人高清在线视频| 久热精品视频| 亚洲午夜视频在线| 欧美黄色aaaa| 亚洲欧洲美洲综合色网| 久久久蜜桃一区二区人| 亚洲国产精品传媒在线观看 | 欧美日韩国产成人在线观看| 欧美视频一二三区| 91久久精品国产91久久| 久久精精品视频| 99国产成+人+综合+亚洲欧美| 欧美主播一区二区三区| 欧美视频精品一区| 91久久中文字幕| 麻豆av福利av久久av| 亚洲欧美在线一区二区| 在线日韩av| 亚洲一区二区三区在线| 亚洲毛片网站| 老司机精品视频一区二区三区| 亚洲国产精品久久久久婷婷884| 久久久久欧美精品| 米奇777在线欧美播放| 妖精成人www高清在线观看| 亚洲国产婷婷香蕉久久久久久99| 欧美一区二区三区播放老司机| 91久久国产自产拍夜夜嗨| 亚洲少妇中出一区| 欧美日韩网站| 午夜精品视频在线观看一区二区| 亚洲精品在线一区二区| 欧美色图天堂网| 午夜视频一区在线观看| 欧美一区二区三区视频免费| 久久精品亚洲一区二区| 欧美日韩精品在线| 久久综合999| 亚洲黄色影院| 一区二区三区成人| 亚洲人成网站在线播| 亚洲摸下面视频| 亚洲尤物精选| 国产日韩欧美一区二区| 久久久久久一区二区| 欧美成人一区二区| 亚洲精品一区二区三区99| 欧美精品色网| 欧美一区二区视频在线观看2020 | 午夜久久黄色| 免费在线日韩av| 久久夜色精品国产欧美乱| 91久久在线观看| 一区二区欧美国产| 在线欧美电影| 国产一本一道久久香蕉| 国产精品久久久久久久第一福利 | 国产日韩欧美亚洲| 欧美一区二区视频在线观看2020| 亚洲欧美成人网| 精品不卡视频| 亚洲国产视频一区| 欧美黄色aa电影| 午夜精品久久久久久99热| 香蕉成人伊视频在线观看 | 国产亚洲精品一区二555| 久久久久国产精品一区三寸| 久久国内精品自在自线400部| 在线观看国产日韩| 亚洲理伦在线| 国产日韩欧美夫妻视频在线观看| 另类专区欧美制服同性| 欧美精品福利在线| 欧美一区二区三区的| 久久久久青草大香线综合精品| 亚洲人成亚洲人成在线观看| 中国成人在线视频| 欧美片在线观看| 亚洲毛片在线| 国产精品网红福利| 亚洲高清在线| 国产视频一区免费看| 欧美黄色大片网站| 国产欧美日韩91| 亚洲欧洲精品天堂一级| 久久精品国产第一区二区三区最新章节| 亚洲网站视频福利| 亚洲韩国精品一区| 一本一道久久综合狠狠老精东影业| 国产欧美日韩在线观看| 亚洲大胆av| 久久综合网色—综合色88| 久久综合久色欧美综合狠狠 | 亚洲欧美综合| 欧美金8天国| 美女主播视频一区| 国产精品日韩一区| 日韩视频在线一区二区| 在线观看91精品国产麻豆| 亚洲视频大全| 宅男精品视频| 欧美电影打屁股sp| 欧美xart系列高清| 激情久久五月天| 欧美一区二区三区四区在线观看| 这里只有精品电影| 免费观看日韩av| 麻豆av一区二区三区| 国产欧美精品日韩精品| 一区二区三区精品在线| 亚洲免费激情| 欧美精品久久久久久久久老牛影院| 美女在线一区二区| 亚洲成人资源网| 老司机午夜精品| 麻豆免费精品视频| 在线观看欧美亚洲| 老司机精品福利视频| 欧美成人精品在线播放| 在线视频国产日韩| 美女网站久久| 亚洲国产一区在线| 99re66热这里只有精品3直播| 欧美成人综合一区| 亚洲经典三级| 亚洲尤物视频网| 国产女主播视频一区二区| 亚洲自拍三区| 久久嫩草精品久久久久| 黄色成人在线观看| 久久综合影视| 亚洲激情第一区| 亚洲一区制服诱惑| 国产日韩欧美在线一区| 久久精品99国产精品酒店日本| 老鸭窝毛片一区二区三区| 亚洲国产精品免费| 欧美日韩国产综合视频在线观看中文 | 亚洲国产中文字幕在线观看| 99国产精品久久| 久久精品亚洲一区二区| 国产在线不卡| 麻豆av一区二区三区久久| 亚洲国产另类精品专区| 一本在线高清不卡dvd| 欧美深夜福利| 欧美尤物一区| 亚洲国产精品嫩草影院| 亚洲性xxxx| 激情欧美一区| 欧美日韩国产欧| 久久成人精品视频| 亚洲国产精彩中文乱码av在线播放| 国产精品99久久久久久www| 国产精品一区二区你懂的| 久久精品国产77777蜜臀| 亚洲国产精品高清久久久| 亚洲欧美中日韩| 亚洲欧洲一区二区三区| 国产精品自拍在线| 免费欧美在线| 午夜精品久久久久久久男人的天堂 | 在线观看日韩欧美| 欧美四级电影网站| 久久亚洲高清| 香蕉亚洲视频| 一本色道**综合亚洲精品蜜桃冫| 久久一二三四| 欧美一级一区| 亚洲丝袜av一区| 亚洲国产欧美在线人成| 国产午夜精品一区二区三区欧美| 欧美精品在线观看91| 久久av红桃一区二区小说| 在线亚洲精品| 一本色道久久综合亚洲精品高清| 欧美福利视频在线| 久久亚洲欧美国产精品乐播| 亚洲欧美另类在线观看| 日韩一二三在线视频播| 最近中文字幕mv在线一区二区三区四区| 国产欧美一区二区三区在线看蜜臀|