Donald Vines & Andy Hoyt: Application Migration 工具如何將應用程序更輕松地遷移到 WebSphere Application Server
使應用程序分析和遷移更輕松
IBM WebSphere Application Server Migration Toolkit 的 Application Migration 工具能幫助您輕松地將應用程序從一個源應用服務器遷移到 WebSphere Application Server V7.0 上。源應用服務器現在支持 WebLogic Server 8.1 和 WebLogic Server 9.2。Application Migration 插件在一個導入的 EAR 文件上工作。這個工具掃描 JSPs、Java™ 源代碼和部署描述符以發現移植問題,並在 Eclipse IDE 的 Problems 視圖中報告這些問題。您可能遇到的大多數移植問題都可以由這個工具來確定,在很多情況下,這個工具都會給您提供一個快速修復方案來解決它們。
如果您對這個工具不熟悉,本文有 Application Migration 工具功能的簡介,以及一些下載和其他資料的指引,幫助您開始使用。
這個工具是什麼?
Application Migration 工具是努力使 IBM Rational® Software Analyzer V7.1 能夠幫助將一個應用程序從支持的源應用服務器遷移到 WebSphere Application Server 的產物。Rational Software Analyzer 是一個簡單而功能強大的工具,能自動進行軟件分析,提供更高質量的軟件。要完成這項工作,Rational Software Analyzer 使用了大量規則,同時它還允許創建自定義規則,以便適應各種具體環境和目的。
為實現那個目的,創造了用於發現代碼遷移問題的自定義規則,這些規則為工具提供了解決許多此類問題的快速修復方案。所有這些自定義規則都捆綁在一個 Eclipse 3.4.2 插件中,您可以免費下載(還無需任何額外許可)。
該插件在導入的 EAR 文件上運行。它對 Eclipse 工作區內的 Java 源代碼、JSPs 和部署描述符進行解析,並在 Problems 視圖中報告遷移問題。因為這個工具是在源文件、而不是類文件上運行,在運行工具前,您無需在 WebSphere Application Server 下對應用程序進行全新編譯。
當分析完成以後,在 Problems 視圖中右鍵單擊各個獨立結果會為您提供解決問題的選項:
View Result 會打開一個編輯器,顯示觸發規則的源文件。出錯的那一行將高亮顯示,違反規則的圖標就顯示在這一行的旁邊。
Quick Fix 將執行遷移,這個遷移會修改受影響的 Java 代碼、JSP 頁面或者部署描述符。快速修復方案也許會直接改變文件,或者它會顯示完成修改所需的步驟。
Quick Fix Preview 支持在任何更新實際執行之前,並排對比原始代碼和修改後的代碼。
Ignore Result 無需進行文件修改就能從清單中刪除規則。
Quick Fix All 會解決一個給定規則的所有問題。
接受快速修復方案,還是用自己的方法,在這方面您掌握絕對的決定權。如果您不想一步一步執行,那麼您還有一個選擇:接受全部修改。當您完成修改審查以後,您就可以從 Eclipse 中導出 EAR 文件,將其部署到 WebSphere Application Server。
這款插件是一個基於知識的遷移助手。這就意味著,即便開發人員沒有源應用服務器或者 WebSphere Application Server 方面的豐富知識,也能夠成功地執行遷移。
這個工具如何運作?
如果將要遷移的應用程序並不在 Eclipse 中,那麼您就必須在執行遷移之前,將 EAR 文件導入 Eclipse。如果在 EAR 中的 Java 源文件和 JSP 源文件不可取得,那麼這個工具就只能運行規則來遷移部署描述符文件。如果在 EAR 文件中的源文件可用,那麼該工具就運行規則來遷移:
Java 源文件
JSP 源文件
部署描述符文件
類路徑審查
該插件包括用於解析 Java 源文件、JSP 源文件以及部署描述符文件的解析器,還有一系列的規則,用於檢測專有類、APIs、常量的使用,以及與 Java EE 規范在產品一致性方面的任意差異。這些規則在查找這些文件中的移植問題的主要根源方面是非常有效的。
下面的小節列出了針對上述文件類型的一些規則和快速修復方案
Java 源文件
插件是根據 .java 的擴展名來檢測 Java 源文件的。這包括 servlets、EJB 組件,以及 Java 類。該工具解析工作空間中的所有 Java 文件,運用規則來查找任何移植問題,並同時顯示問題和快速修復方案。
表 1. Java 源文件
規則 快速修復方案 不使用 WebLogic RMI API 調用。
java.naming.factory.initial = weblogic.jndi.WLInitialContextFactory
java.naming.provider.url = t3://localhost:7001
修改代碼來使用 WebSphere Application Server JNDI 名稱,或者使用可移植的 JNDI 查詢:
java.naming.factory.initial = com.ibm.websphere.naming.WsnInitialContextFactory
java.naming.provider.url = corbaloc:iiop:localhost:2809
不使用 WebLogic 專有的啟動類或者關閉類。
JSP 源文件
這款插件通過 .jsp 擴展名來檢測 JSP 源文件,解析工作空間中的所有此類文件,並應用規則來查找移植問題,提供快速修復方案。要注意的是,JSP 源文件可以像 Java 源文件那樣,調用不可移植的類、APIs,以及常量。插件對這些移植問題進行檢測,並按照之前所述方式進行處理。
表 2. JSP 源文件
規則 快速修復 避免為 JSP 片段使用 .jsp 擴展名。部署描述符文件
這款插件通過它們的文件名(例如, weblogic.xml、weblogic-ebj-jar.xml、weblogic-webservices.xml,等等)來檢測廠商特定的部署描述符文件。和其他文件一樣,插件解析部署描述符,應用規則來查找問題,並提供快速修復方案。
表 3. 部署描述符文件
規則 快速修復方案 使用 EJB 引用的標准部署描述符。
web-services.xml
weblogic-webservices.xml 和同一文件夾中的 Java EE 部署描述符(webservices.xml)。
根據從部署描述符中收集來的信息,產生一個使用 WebSphere Application Server ANT 任務來產生適當 Web 服務工件的 ANT 腳本。如果服務需要,該修復方法還會產生 Service Endpoint Interface(SEI),並將其添加到項目類路徑中。這樣您就可以運行 ANT 腳本來遷移 Web 服務。
類路徑審查
類路徑審查會驗證類路徑是否設置合理。
表 4. 類路徑審查
規則 快速修復方案 使用類路徑的 MANIFEST.MF。工具使用
使用 Application Migration 工具的詳細步驟不在本文范圍之內。但是為了幫助您開始使用,圖 1 顯示了該工具的一些關鍵特性。圖中顯示了 Application Migration 工具將一個 WebLogic Startup 類遷移到 WebSphere Application Server 的屏幕截圖。在該圖中:
Java Source Compare 面板顯示了一個快速修復方案審查特性的例子。如果應用快速修復方案,面板左半邊就顯示代碼,右半邊就顯示未應用修復方案的原始代碼。
在右列中的 Help 選項卡解釋了應用的規則和快速修復方案。
Java Source Compare 面板顯示了您可以選擇用於遷移代碼的可用選項。選項包括:
查看已掃描文件。
用快速修復方案修改文件。
用快速修復方案審查來預覽快速修復。
忽略結果。
修復該規則的所有項。
圖 1. Application Migration 工具分析結果
如果您正在從事將應用程序遷移到 WebSphere Application Server 方面的工作,或者將來您將要進行應用程序遷移工作,請下載並試用 Application Migration 工具。您可以找到一個入門向導來幫助您,還有一個論壇能夠讓您分享案例和收集反饋。