引言
IBM? WebSphere? Process Server v6(以下稱為 Process Server)是 IBM 提供的下一代業(yè)務(wù)集成軟件,它基于包含了開放標(biāo)準(zhǔn)的面向服務(wù)的體系結(jié)構(gòu) (SOA)。它取代了 WebSphere Business Integration Server Foundation v5.1.x(以下稱為 Server Foundation)。集成開發(fā)環(huán)境 (IDE) 也從 WebSphere Studio Application Developer Integration Edition(以下稱為 Application Developer)v5.1.x 發(fā)展到了新的 WebSphere Integration Developer v6(以下稱為 Integration Developer)。Integration Developer 是作為 Process Server 的補充的一個工具,它基于 Eclipse 3.0 并帶來了基于組件開發(fā)的一個完整的新范例。
先前稱作 |
現(xiàn)在稱作 |
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 |
在將業(yè)務(wù)集成應(yīng)用程序從 Server Foundation 遷移到 Process Server 時,您可以在以下兩種方法中選擇:
- 一種方法是運行時遷移,將整個 Server Foundation 配置(包括已安裝的應(yīng)用程序和配置文件)遷移到 Process Server 配置文件。應(yīng)用程序二進制文件并沒有變化,它們“只是”像在 Server Foundation 中那樣運行。WebSphere Process Server v6.0.0 并沒有提供這種遷移方法,但是正在考慮將其用于該產(chǎn)品的未來版本。
- 另一種方法是源構(gòu)件遷移,它使用新集成開發(fā)環(huán)境中的遷移工具。這是 v6.0.0 中提供的唯一遷移方法。在這種情況下,將應(yīng)用程序的源代碼遷移到新編程模型并進行改寫,以便您可以將遷移的應(yīng)用程序部署到 Process Server。遷移向?qū)槟詣舆w移所有 BPEL 文件和 BPEL WSDL 擴展,然后您必須執(zhí)行一組手動遷移步驟以完成這一遷移。
本文描述了源構(gòu)件遷移方法。您應(yīng)該具有使用 Application Developer 的經(jīng)驗,并且對 Java? 編程和業(yè)務(wù)流程相當(dāng)了解。
源構(gòu)件遷移概述
本文介紹了遷移一個簡單服務(wù)項目(包含作為 EJB 公開并連接到 Java 服務(wù)的業(yè)務(wù)流程)的源構(gòu)件的步驟。在本例中,業(yè)務(wù)流程只需調(diào)用 Java 服務(wù),Java 服務(wù)反過來發(fā)送電子郵件。通過接收電子郵件,該操作幫助您了解應(yīng)用程序何時成功執(zhí)行。應(yīng)用程序在 Application Developer 創(chuàng)建,在 Server Foundation 部署。我們向您展示了如何使用遷移向?qū)㈨椖繉?dǎo)入到 Integration Developer,如何重新連接組件,以及如何為在 Process Server 部署做好準(zhǔn)備。
現(xiàn)有資源
現(xiàn)有的 Application Developer 項目交換 zip 文件包含構(gòu)成企業(yè)應(yīng)用程序的 6 個項目。應(yīng)用程序的工作部分包含在 EmailService 服務(wù)項目中。EmailServiceCustomWeb 項目包括允許您從 Web 瀏覽器調(diào)用服務(wù)的 JSP。這兩個項目都是在 EmailServiceEAR 定義的 EAR 中部署的。
我們將使用 Integration Developer 來遷移服務(wù)項目和自定義 Web 項目,并使用遷移的 JSP 測試業(yè)務(wù)流程。除了解壓縮項目交換 zip 文件以外,所有步驟都是在 Windows? 平臺上的 Integration Developer v6.0.0 中執(zhí)行的。
將項目交換文件解壓縮到一個臨時文件夾。然后從 Windows 開始菜單啟動 Integration Developer。選擇 Start -> Programs -> IBM WebSphere -> Integration Developer V6.0 ->WebSphere Integration Developer V6.0。
使用遷移向?qū)?/font>
有兩種方式訪問遷移向?qū)А.?dāng)您第一次打開 WebSphere Integration Developer 時,歡迎屏幕將顯示幾個圖標(biāo)。單擊綠色箭頭圖標(biāo)以啟動遷移向?qū)В鐖D 1 所示。
圖 1. WebSphere Integration Developer 歡迎屏幕
提示:在使用遷移向?qū)r,關(guān)閉 Integration Developer 中的項目自動構(gòu)建選項。請轉(zhuǎn)到 Main Menu -> Project,然后取消選擇 Build Automatically。如果您關(guān)閉該 AutoBuild 選項,請記住定期構(gòu)建整個項目或者重新啟用 AutoBuild 選項。
下一屏幕向您呈現(xiàn)了 3 個源遷移選項。單擊具有 5.1 和一個箭頭的圖標(biāo),如圖 2 所示。
圖 2. WebSphere Integration Developer 初始遷移屏幕
另一種方式是通過 File Import 選項瀏覽 Integration Developer。要啟動遷移向?qū)В埵褂弥鞑藛危?/p>
- 轉(zhuǎn)到 File -> Import。
- 從導(dǎo)入窗口中選擇 WebSphere Studio Application Developer Integration Edition Service Project,如圖 3 所示,然后單擊 Next。這將啟動遷移向?qū)А?
圖 3. 導(dǎo)入窗口

- 單擊 Browse 按鈕,并轉(zhuǎn)到您解壓縮項目交換 zip 文件的臨時文件夾。
- 突出顯示要導(dǎo)入的項目文件夾,并單擊 OK。在本例中,導(dǎo)入圖 4 中所示的 EmailService 項目。
提示:該向?qū)軌蚩焖俚靥顚懰业降哪K名。如果它沒有填寫,請輸入項目的模塊名。我們建議您使用相同的原有項目名稱。
圖 4. 指定源構(gòu)件

- 單擊 Next 進入設(shè)置遷移選項的屏幕。
- 請確保選擇選項以在注釋中保留原有的 BPEL Java 代碼段。通過將它們包含在注釋塊中,保留所有現(xiàn)有的 Java 代碼段。單擊 Finish。
- 遷移向?qū)?chuàng)建一個新的“業(yè)務(wù)集成模塊”項目,導(dǎo)入所有現(xiàn)有的 Application Developer 構(gòu)件,并轉(zhuǎn)換源構(gòu)件。您會看到具有一些消息的 Migration Results 屏幕。
在本例中,您將看到 5 條信息消息。其中有 4 條信息表示:“The following java package is not being migrated because it contains generated classes that are no longer valid”。這些消息是安全無害的。Application Developer 已經(jīng)自動生成 java 包以將應(yīng)用程序綁定到 Server Foundation 運行時。新工具將生成新的綁定。單擊 OK。
請注意:如果出現(xiàn)錯誤,您可以突出顯示某一消息行,然后單擊 Generate ToDo’s 按鈕以在代碼中生成 TODO,這樣您可以稍后修復(fù)這些錯誤。
如果您關(guān)閉了 AutoBuild 選項,可以再次打開(Integration Developer Main Menu -> Project -> Build Automatically)。
|
|
使用遷移的資源
現(xiàn)在您將使用遷移的資源。
- 請轉(zhuǎn)到 Integration Developer 中的 Business Integration 透視圖。在導(dǎo)航窗格中,通過雙擊名為 EmailService 的 Assembly Diagram 圖標(biāo),
,打開最新創(chuàng)建的 EmailService 項目。該項目將在 Assembly Editor 中打開。
- 您將在畫布中看到一個名為 EmailBusinessProcess 的項。這是服務(wù)組件體系結(jié)構(gòu)(Service Component Architecture,SCA)組件,它的實現(xiàn)是在業(yè)務(wù)流程執(zhí)行語言(Business Process Execution Language,BPEL)中實現(xiàn)的電子郵件業(yè)務(wù)流程 (Email Business Process)。
圖 5. 顯示一個業(yè)務(wù)流程組件的 Assembly Editor

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

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

請注意:我們?yōu)槭裁聪驑I(yè)務(wù)流程組件提供獨立引用呢?獨立引用允許非 SCA 客戶機(如類似于 JSP 的 J2SE 或者 J2EE 客戶機)訪問 SCA 組件。如果您只計劃使用 BPC 資源管理器或者組件測試框架 (Component Test Framework) 調(diào)用流程,則不需要獨立引用,這是因為這些內(nèi)置工具使用 BPC 和 SCA API 直接調(diào)用流程。
- 回到 Assembly Editor,選擇 EmailBusinessProcess 組件的引用連接器(由右側(cè)具有 1:1 的小框表示)。右鍵單擊該引用連接器,并從上下文菜單中選擇 Wire References to New -> Components。
該操作將在 EmailBusinessProcess 組件的右側(cè)創(chuàng)建與接口 MailSMTP 同名的通用 SCA 組件。這會自動將業(yè)務(wù)流程組件連接到新的通用組件。
- 單擊 Ctrl-S 保存組裝關(guān)系圖。
- 右鍵單擊 Generic Component MailSMTP,并從上下文菜單中選擇 Select Implementation -> Java。該通用組件變成 Java 組件。在 Pick Implementation 屏幕的 Select entries 字段中,開始鍵入
mailsm
,直到看到名為 MailSMTP 的類為止。突出顯示這個類并單擊 OK。
提示:Qualifier 字段顯示包的名稱,該名稱與包出現(xiàn)在原有的 Application Developer 服務(wù)項目中的名稱相同。這就是在開始遷移流程之前您必須了解服務(wù)項目的結(jié)構(gòu)的原因。
由于這個 Java 服務(wù)示例的輸入/輸出參數(shù)具有簡單的類型(字符串和布爾型),因此 SCA 框架自動等同于 SCA 組件公開的 WSDL 接口和 Java 類的接口。例如,在 EmailService 項目中比較 MailSMTP.wsdl 和 MailSMTP.java。轉(zhuǎn)到 Java 透視圖查看 Integration Developer 中的這些文件。
如果您不確定 Java 接口是否與滿足 Java 要求的 SCA WSDL 兼容,請不要選擇 Select Implementation,而要選擇 Generate Implementation。將要求您具有可以生成類的包。向?qū)г诮M件公開的 WSDL 接口中生成與 SCA 兼容的 Java 接口。組件 MyComponent 的類名為 MyComponentImpl.java
。
現(xiàn)在,檢查每個方法的輸入?yún)?shù)的類型及其返回類型,以確保它們都匹配 Java 類的接口。如果它們不匹配,您有兩種選擇。第一種選擇涉及到修改原有 Java 類的接口。或者,可以將生成的骨架作為實現(xiàn)類并編寫自定義代碼,以在生成的 Java 骨架中調(diào)用每個方法的原有 Java 類。當(dāng)操作的輸入或者輸出類型很復(fù)雜時(例如,Customer 對象具有地址、姓名之類的子對象),通常會出現(xiàn)問題,因為在 SCA 范例中,它們是以 commonj.sdo.DataObject 表示的。而在原有 Java 類中,參數(shù)是以 Java bean 表示的。
- 通用 SCA 組件變成 Java 組件,業(yè)務(wù)流程組件與其連接。畫布與圖 8 類似。畫布中唯一的顯著變化是“J”,表示 MailSMTP 是一個 Java 組件。
圖 8. 顯示 3 個連接組件的組裝關(guān)系圖

- 這就完成了。單擊 Ctrl-S 保存組裝關(guān)系圖并關(guān)閉 Assembly Editor。
下一步要遷移 Application Developer 項目交換文件中包含的 Web 項目。
遷移用于調(diào)用業(yè)務(wù)流程的 JSP
在 Application Developer 項目交換文件中,EmailServiceCustomWeb 項目包含 JSP (index.jsp),它從用戶獲得 4 個參數(shù)并使用 Facade Enterprise Java Bean (EJB) 調(diào)用業(yè)務(wù)流程。該 Facade EJB 是在 Application Developer 中生成的,它包含在 EmailServiceEJB 項目中。
在 Integration Developer 中,沒有生成 Facade EJB 的捷徑,因為它使用 SCA 編程模型中的新抽象層。因此,您必須遷移 index.jsp 以使用 SCA 編程模型,而這將調(diào)用業(yè)務(wù)流程。
- 首先,從項目交換 zip 文件導(dǎo)入 EmailServiceCustomWeb 項目。在 Integration Developer 中,轉(zhuǎn)到 File -> Import -> Project Interchange。單擊 Next 并瀏覽到該 zip 文件。選擇圖 9 中所示的 EmailServiceCustomWeb 并單擊 Finish。
圖 9. 項目導(dǎo)入屏幕

許多在 Application Developer 中有效的環(huán)境變量在 Integration Developer 中不再使用,因此我們需要確定 Web 項目的類路徑。
- 轉(zhuǎn)到 Java 透視圖,Window -> Open Perspective - > Other -> Java,并選擇 EmailServiceCustomWeb 項目。右鍵單擊并選擇 Properties。
- 轉(zhuǎn)到 Java Build Path,在 Projects 選項卡中,刪除 EmailServiceEJBClient 上的依賴項。請確保 EmailService 上有一個依賴項,如圖 10 所示。
圖 10. Java 構(gòu)建路徑上的項目

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

- 單擊 Project References。設(shè)置對 EmailService 項目的引用(如圖 12 所示)并刪除所有其他引用。
圖 12. 項目引用設(shè)置

- 單擊 OK 保存新設(shè)置。這將清除所有錯誤(除 index.jsp 中的 JSP 編譯錯誤之外)。Application Developer v5.1 在 J2EE 1.3 級別。您可以將 Web 應(yīng)用程序遷移到 Integration Developer v6.0 中可用的 J2EE 1.4 級別。
提示:只有在工作區(qū)啟用高級 J2EE 功能后才可以使用遷移選項。為此,請轉(zhuǎn)到 Window -> Preferences -> Workbench -> Capabilities -> Advanced J2EE -> Enterprise Java,如圖 13 所示。
圖 13. 啟用工作臺的功能

- 在導(dǎo)航窗格中,突出顯示 EmailServiceCustomWeb 項目。右鍵單擊并從上下文菜單中選擇 Migrate -> J2EE Migration Wizard。
- 在 J2EE Migration Wizard 歡迎屏幕中,忽略警告并單擊 Next。對于該場景,缺省設(shè)置是可以接受的。圖 14 顯示了缺省 J2EE 版本為 v1.4,目標(biāo)服務(wù)器是 WebSphere Process Server v6.0。單擊 Finish。
圖 14. 項目的遷移設(shè)置

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

- 單擊 Ctrl-S 保存應(yīng)用程序的部署描述符。
- 在 Integration Developer 中,不能再為業(yè)務(wù)流程生成 Facade EJB。您必須手動遷移這些代碼以使用 SCA 編程模型調(diào)用業(yè)務(wù)流程。這就是您需要修復(fù) index.jsp 文件中的錯誤的原因。
在 J2EE 透視圖中,編輯 index.jsp。在 Project Explorer 窗格中,轉(zhuǎn)到 Dynamic Web Projects -> EmailServiceCustomWeb -> Web Content ->index.jsp。雙擊 index.jsp 打開該文件進行編輯。選擇 JSP 編輯器的 Source 選項卡。您將看到“if”代碼塊內(nèi)的錯誤,如圖 16 所示。
圖 16. 編輯 index.jsp 文件

- 使用下面的代碼替換 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"));
|
- 保存對 index.jsp 和部署描述符的更改。
現(xiàn)在,您可以通過下面列出的三種方法進行測試,其中每一個測試都是相繼測試應(yīng)用程序的組件。
使用 Integration Developer 集成測試客戶機測試遷移的組件
現(xiàn)在您可以在 Integration Developer 中測試遷移的應(yīng)用程序。通過使用嵌入式測試服務(wù)器運行應(yīng)用程序,集成測試客戶機允許您單獨測試每一個組件。
- 轉(zhuǎn)到 Business Integration 視圖中的導(dǎo)航窗格。右鍵單擊 EmailService 項目。從上下文菜單中選擇 Test -> Test Module。對于要測試的組件,選擇 MailSMTP。
請注意:您可以選擇調(diào)用的組件。在 MailSMTP 的第一個示例中,選擇 Java 組件。稍后,確定 Java 組件正確工作后,您可以執(zhí)行調(diào)用業(yè)務(wù)流程組件的更加全面的測試。
圖 17. 調(diào)用事件

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

- 通過檢查電子郵件是否已發(fā)送到收件人,驗證是否成功調(diào)用 Java 服務(wù),如圖 19 所示。
圖 19. 測試電子郵件

該測試展示了如何使用 Integration Developer 集成測試客戶機調(diào)用 Java 組件 (MailSMTP)。
使用 Integration Developer 集成測試客戶機測試更多遷移的組件
- 在 Business Integration 透視圖中右鍵單擊 EmailService 項目,回到 Events 屏幕,然后從上下文菜單中選擇 Test -> Test Module。
- 在 Component 字段中,單擊下拉箭頭并選擇名為 EmailBusinessProcess 的組件。它是實現(xiàn)為 BPEL 流程的業(yè)務(wù)流程組件。它調(diào)用剛才測試的 MailSMTP Java 服務(wù)。這是一個更加全面的測試,演示了如何在業(yè)務(wù)集成模塊中增量測試組件。
- 如上一個測試那樣,輸入 4 個請求參數(shù)的值,然后單擊 Continue。
圖 20. 選擇組件

- 這也將獲得一個成功的測試。收件人獲得了測試電子郵件,并且 Events 屏幕顯示圖 21 中所示的結(jié)果。
圖 21. 成功的結(jié)果

使用遷移的 JSP 測試遷移的應(yīng)用程序
現(xiàn)在您可以使用遷移的 JSP 測試遷移的應(yīng)用程序。這是一個全面的測試,因為它表示一個端到端場景。
- 轉(zhuǎn)到 J2EE 透視圖中的導(dǎo)航窗格。展開 Enterprise Applications 并右鍵單擊 EmailServiceApp 項目。從上下文菜單中選擇 Run -> Run on Server。
- 在 Server Selection 屏幕中,選擇 WebSphere Process Server v6.0(如圖 22 所示)并單擊 Finish。
圖 22. 定義新測試服務(wù)器

- Process Server 測試服務(wù)器啟動后,應(yīng)用程序發(fā)布到該測試服務(wù)器。在 Integration Developer 的主窗口中,Web 瀏覽器窗口打開。缺省情況下,它指向
http://localhost:9080/EmailServiceCustomWeb/
,如圖 23 所示。
圖 23. WebSphere Integration Developer 內(nèi)的 Web 瀏覽器

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

請注意:如果您關(guān)閉了 AutoBuild 選項,可以再次啟用(Integration Developer Main Menu -> Project -> Build Automatically)。
您已經(jīng)通過三種不同方式成功測試了遷移的應(yīng)用程序,這就在環(huán)境中為您準(zhǔn)備了一個完整的端到端場景。
結(jié)束語
本文介紹了如何遷移發(fā)送電子郵件的簡單業(yè)務(wù)流程,如何在 WebSphere Process Server 運行時運行該業(yè)務(wù)流程,以及如何測試遷移的流程。從 WebSphere Studio Application Developer Integration Edition v5.1.x 遷移一個簡單的服務(wù)項目以使其在 WebSphere Integration Developer v6.0 中工作是相當(dāng)簡單的,當(dāng)服務(wù)項目具有一個項目文件(如 EmailService 示例和一些簡單的 Java 代碼)時尤為如此。我們了解這不是一個典型的 BPEL 業(yè)務(wù)流程示例,但是使用它在 Integration Developer 中引入了遷移向?qū)РⅢw驗了源構(gòu)件遷移。我們希望實際的遷移項目使用遷移向?qū)В撬矔婕暗酱罅康氖謩舆w移工作。