• <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>
            隨筆 - 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 類的接口?;蛘撸梢詫⑸傻墓羌茏鳛閷崿F類并編寫自定義代碼,以在生成的 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 閱讀(427) 評論(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
            99久久无码一区人妻a黑| 亚洲?V乱码久久精品蜜桃| 久久综合狠狠综合久久综合88| 亚洲国产精品无码久久一线| 国产精品9999久久久久| 久久久久亚洲av成人无码电影| 一本久道久久综合狠狠躁AV| 国产精品久久久久久| 国产香蕉久久精品综合网| 精品久久久久久国产91| 久久久久久久97| 国产激情久久久久影院| 久久久精品日本一区二区三区 | 国产成人精品综合久久久久| 国产精品久久久久9999| 亚洲精品WWW久久久久久| 久久天堂电影网| 国产成人精品综合久久久 | 久久精品桃花综合| 高清免费久久午夜精品| 亚洲欧美国产日韩综合久久| 国产精品午夜久久| av无码久久久久不卡免费网站 | 久久精品一区二区影院| 久久综合丝袜日本网| 国内精品久久久久久99蜜桃| 久久综合九色综合久99| 国产精品热久久毛片| 岛国搬运www久久| 国产午夜精品久久久久九九| 久久国产精品久久国产精品| 国内精品久久国产大陆| 国内精品久久久久久99| 国产一级持黄大片99久久| 99国产欧美精品久久久蜜芽| 漂亮人妻被黑人久久精品| 伊人久久精品无码二区麻豆| 亚洲午夜无码AV毛片久久| 人妻无码精品久久亚瑟影视| 亚洲国产成人久久精品99 | 国产精品嫩草影院久久|