Liberty:零移轉架構

藉由 Liberty 零移轉架構,您可以移轉至 Liberty 的最新版本,且對您現行應用程式和配置的影響最小。

零移轉架構意指,現有未修改的配置和應用程式檔案,可以與 Liberty 執行時期環境更新版本搭配使用,且在行為上不會出現不樂見或非預期的變更。在下列兩種架構層面下,您幾乎不需要進行變更:

產品版本之間的完全相容性
您可以逕自更新 Liberty,而不需移轉配置檔。
可外掛的特性
新的產品版本中支援您現有的 API 和行為,且新特性中會將新的 API 和行為加入。

使用者配置檔

Liberty 執行時期環境絕不會修改使用者配置檔,其版本之間完全相容。您可以在多個版本之間,使用單一版本的配置檔。您針對 Liberty 舊版所建立的檔案,可以與新版本搭配使用。您針對新版本所建立的檔案,可以與舊版搭配使用。因此,如果您安裝了所有已配置的特性,只要一組配置檔就可以用於多個版本,而不需修改。凡是未套用至 Liberty 執行時期環境特定版本的配置設定都會被忽略。

使用者應用程式

Liberty 執行時期環境使用可外掛的特性,來支援 API 的多個版本。比方說,同時支援 Servlet 3.0 與 3.1 規格。API 行為的變更只會發生在新的特性版本,因此,您可以為您的應用程式選擇適當的特性版本。Liberty 更新項目仍繼續支援這些已版本化的特性。只要您繼續使用相同的特性版本,就永不需移轉您的應用程式。

比方說,如果您的應用程式使用 Servlet 3.0,執行該應用程式的 Liberty 伺服器必須具有 servlet-3.0 特性。您可以更新 Liberty 並持續使用 servlet-3.0 特性,不論還支援多少其他版本的 Servlet 規格層次。只有在您選擇改用 servlet-3.1 特性時,才需要移轉應用程式。

此圖顯示 Servlet 特性如何與舊版和新版產品搭配使用。

如果您使用協力廠商 API,請注意,當您更新 Liberty 時,可能變更或移除它們。協力廠商 API 是透過 Liberty 特性來顯現給應用程式。與這些 API 舊版的相容性,不受 Liberty 控制,且無法保證是否相容。 有些可供應用程式使用的 API 不是由 Liberty 特性提供,且無法受惠於這項設計,因此,可能需修改您的應用程式碼。比方說,您可能需要更新基礎 Java™ SDK 所提供的 Java API。有時您可能需要更新 Java SDK 版本。相對於手動收集資訊和移轉您的應用程式,您不妨可以利用 Migration Toolkit for Application Binaries 和 WebSphere Application Server Migration Toolkit,來掃描您的應用程式,以找出任何必要的變更。如果要下載工具箱,並取得其他資訊,請參閱 WASdev 上的移轉一文。

使用新特性

如果您想使用新特性,請考量下列問題:

新特性如何影響現有的應用程式?
您已在使用的特性新版本可能會影響您現有的應用程式。比方說,如果您目前使用的是 Servlet 3.0,而您想使用 Servlet 3.1,則現有的 Servlet 應用程式可能需要變更,才能正確地與 Servlet 3.1 搭配運作。請將應用程式修改成能與新特性版本搭配運作,或是將應用程式保留在伺服器中(此伺服器是以原始特性版本配置,例如 Servlet 3.0),並為新的應用程式以新版本建立伺服器配置。
新特性與現有特性相容嗎?
產品支援某些特性在 Java EE 的不同版本之間混用,但如果可能的話,更簡易的作法是將特性留在 Java EE 規格的某一個版本內。當有些特性與其他特性同時配置到同一伺服器時,彼此間會密切互動,且易受其版本影響。比方說,許多 Java EE 特性會與「環境定義和相依關係注入 (CDI)」的特性密切關聯,並且只能與該特性的特定版本搭配運作。如果您將特性新增至配置,可能需要變更您已在使用之其他特性的版本。如需相關資訊,請參閱支援的 Java EE 6 和 7 特性組合
新特性是否需要進行其他的配置變更?
有些特性需要必備軟體的特定版本,最常見的是 Java SDK。例如,Java EE 7 特性最起碼需要 Java 第 7 版。因此,如果將 Java EE 7 特性新增至伺服器配置,您可能需要移至 Java SDK 7 或更新版本。

零移轉的例外狀況

在極少數情況下,不會遵循零移轉概念。在下列實務中,您可能需要修改應用程式或配置:
安全修正
如果需要進行與安全有關的修正,但卻無法既保留現有的行為,又能安全地完成,則您可能需要修改應用程式或配置。
協力廠商 API 需求
產品不會從協力廠商類別載入器配置來控制 API。因此,對協力廠商元件的更新,不保證能與舊版相容。
移除支援
Liberty 可繼續支援產品中某些會影響使用者資料的組件,但是有時需要撤銷特性或支援的軟體產品。一般而言,使用者至少會在兩年前預先收到移除通知。不過,如果其他軟體供應商比 Liberty 還早移除其產品支援,這樣的通知並不實際。請留意與您的 Liberty 安裝架構搭配使用的協力廠商產品,以及留意其生命週期日期。如需可能會在未來移除之項目的相關資訊,請參閱移除注意事項
未記載的配置內容
Liberty 程式碼庫與 WebSphere® Application Server 傳統版 程式碼庫共通。因此,Liberty 程式碼庫中的某些配置內容可能不會記載,但是如果指定,可能會影響 Liberty 的行為。由於這些配置內容不適用於 LibertyLiberty 不支援它們。未針對 Liberty 對這些內容進行測試,不論是現在或未來,在 Liberty 中都不見得能穩定運行。由於並未將這些內容記載成產品外部項目,它們可以隨時移除。

指示主題類型的圖示 概念主題

檔名:cwlp_migration.html