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

隨筆 - 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>
            美女啪啪无遮挡免费久久网站| 亚洲视频一区| 久久一区二区三区av| 午夜亚洲视频| 性18欧美另类| 亚洲男女毛片无遮挡| 亚洲欧美第一页| 亚洲欧美日韩精品久久久久| 欧美一级欧美一级在线播放| 久久精品国产清高在天天线| 麻豆成人综合网| 欧美久久九九| 欧美视频一区二区在线观看 | 91久久精品美女高潮| 亚洲人成人99网站| 宅男噜噜噜66一区二区| 欧美在线短视频| 理论片一区二区在线| 亚洲精选视频免费看| 中文日韩在线| 老司机免费视频一区二区三区| 欧美成人亚洲| 国产精品专区h在线观看| 在线观看一区二区精品视频| 99国产精品视频免费观看| 欧美一级专区免费大片| 欧美激情一区二区三区在线视频观看| 亚洲国产三级在线| 国产精品99久久久久久久久| 久久精品视频在线播放| 欧美日韩亚洲一区二区三区| 韩日在线一区| 亚洲无亚洲人成网站77777| 久久久久五月天| 99在线观看免费视频精品观看| 香蕉av福利精品导航| 欧美乱人伦中文字幕在线| 在线观看日韩| 久久精品国产清高在天天线| 亚洲精品国产精品乱码不99按摩 | 欧美高清视频一区| 亚洲久久成人| 久久青青草综合| 国产精品男女猛烈高潮激情| 一区二区亚洲精品国产| 欧美亚洲专区| 一区二区三区www| 巨乳诱惑日韩免费av| 国产主播一区二区三区| 午夜精品久久久久久久99樱桃| 亚洲第一黄色网| 久久久一二三| 国产亚洲一本大道中文在线| 亚洲欧美日韩网| 日韩亚洲欧美成人| 久久人人97超碰人人澡爱香蕉 | 亚洲精品护士| 免费观看日韩| 狠狠色综合网站久久久久久久| 亚洲欧美日韩精品久久| 亚洲精品综合| 欧美午夜精品理论片a级大开眼界| 日韩亚洲欧美在线观看| 欧美sm视频| 久久久91精品国产| 一区二区三区中文在线观看| 久久成人免费网| 亚洲一区二区高清视频| 国产精品户外野外| 亚洲综合二区| 欧美一级二级三级蜜桃| 国产偷国产偷亚洲高清97cao| 久久经典综合| 久久精品一区二区三区不卡牛牛| 国产亚洲一区精品| 理论片一区二区在线| 欧美ed2k| 亚洲神马久久| 欧美亚洲日本国产| 激情小说亚洲一区| 亚洲电影网站| 欧美色图首页| 久久婷婷综合激情| 久久一区二区三区超碰国产精品| 亚洲精品美女在线观看| 一区二区三区毛片| 国产亚洲欧美一区二区三区| 国产精品久久久久久久久久ktv | 欧美sm极限捆绑bd| 欧美日韩另类字幕中文| 宅男噜噜噜66一区二区| 午夜国产精品影院在线观看| …久久精品99久久香蕉国产| 亚洲午夜精品久久久久久浪潮| 国产精品视频一| 久久久久久网址| 女人色偷偷aa久久天堂| 亚洲视屏在线播放| 欧美一区二区三区电影在线观看| 一区国产精品| 亚洲精品系列| 国产亚洲在线| 亚洲国产裸拍裸体视频在线观看乱了中文| 欧美成人性生活| 欧美日韩在线播放| 麻豆精品视频在线观看视频| 欧美日韩在线一区| 蜜臀久久久99精品久久久久久| 欧美日韩国产成人在线免费| 久久久久99| 欧美亚一区二区| 亚洲第一中文字幕| 国内成+人亚洲| 中文av一区特黄| 亚洲精品久久久久| 欧美一区影院| 亚洲一卡久久| 欧美破处大片在线视频| 美女视频黄 久久| 国产日韩精品一区观看 | 欧美日韩精品欧美日韩精品一 | 亚洲日本欧美| 久久精品国亚洲| 午夜精品久久99蜜桃的功能介绍| 免费观看成人www动漫视频| 午夜精品视频在线观看| 欧美精品免费视频| 欧美成人第一页| 国产一区二区三区直播精品电影 | 狠狠入ady亚洲精品经典电影| 亚洲黄色性网站| 亚洲激精日韩激精欧美精品| 欧美一级专区免费大片| 亚洲性感美女99在线| 欧美激情精品久久久六区热门 | 亚洲日本va午夜在线电影| 久久久综合精品| 久久综合久久综合久久| 国产丝袜美腿一区二区三区| 亚洲综合欧美日韩| 欧美一区二区精品| 国产精品久久久久久一区二区三区| 亚洲人线精品午夜| 99精品国产热久久91蜜凸| 欧美激情第9页| 亚洲精品精选| 午夜精品福利视频| 国产综合欧美| 欧美在现视频| 久久精品国产在热久久| 性色一区二区| 国产亚洲一区二区在线观看| 亚洲欧美日韩在线不卡| 欧美在线精品一区| 国产欧美日韩在线播放| 久久国产主播精品| 欧美国产精品专区| 一区二区三区高清不卡| 国产精品成人免费| 午夜久久一区| 免费在线成人| 一本一本久久a久久精品综合妖精| 欧美激情精品久久久久久黑人 | 欧美日韩国产精品一区| 亚洲精品社区| 亚洲字幕在线观看| 国产日韩综合一区二区性色av| 久久精品毛片| 欧美国产另类| 亚洲综合精品四区| 影音先锋欧美精品| 欧美日韩另类字幕中文| 欧美一级黄色网| 欧美高清成人| 亚洲欧美精品在线观看| 韩日精品中文字幕| 欧美精品性视频| 欧美亚洲一区三区| 亚洲精品国产精品国自产观看浪潮| 亚洲欧美激情四射在线日| 国产无遮挡一区二区三区毛片日本| 久久久久久久999| 99国内精品久久久久久久软件| 久久久亚洲高清| 99re这里只有精品6| 国产亚洲视频在线观看| 欧美日韩三级一区二区| 久久久不卡网国产精品一区| 亚洲精品日韩久久| 老司机免费视频一区二区| 亚洲在线视频网站| 亚洲风情亚aⅴ在线发布| 欧美视频在线观看| 欧美gay视频激情| 久久本道综合色狠狠五月| 亚洲精品日产精品乱码不卡| 欧美国产精品一区| 久久米奇亚洲| 久久精品免费看| 香蕉久久久久久久av网站|