開發 Liberty 的 Liberty 特性
Liberty 特性由一個特性資訊清單檔及一或多個 OSGi 軟體組所組成。OSGi 軟體組包含一些類別和服務,當特性安裝到 Liberty 伺服器中時,它們便提供特定功能。
關於這項作業
您可以利用下列任一方式來開發 Liberty 特性:
- 手動開發特性;請參閱手動開發 Liberty 特性。
- 使用 WebSphere® Application Server Developer Tools;請參閱利用開發人員工具來建立 Liberty 特性。
如需開發 Liberty 特性的完整詳細資料,請參閱下列子主題:
次主題
- 手動開發 Liberty 特性
您可以手動建立 Liberty 特性,將它安裝到 Liberty 中。 - 利用開發人員工具來建立 Liberty 特性
您可以利用 WebSphere Application Server Developer Tools 來撰寫您自己的特性,並將它們安裝在現有的 Liberty 伺服器中,或將它們包裝起來,以便遞送給您的使用者。 - 開發含有簡式啟動的 OSGi 軟體組
控制 OSGi 軟體組程式碼的生命週期,最直接明確的方式是在您的軟體組的其中一個類別中實作 org.osgi.framework.BundleActivator 介面。 當伺服器啟動及停止軟體組時,會呼叫 BundleActivator 介面的 start 和 stop 方法。 - 利用 OSGi 宣告式服務來撰寫進階特性
您可以利用軟體組啟動器類別及 ManagedService 和 ServiceTracker 之類介面的直接實作來控制簡式特性。 由於軟體組之間的關係會越來越複雜,最好是利用「OSGi 宣告式服務 (DS)」之類的機能,將特性拆解成個別服務。 DS(有時也稱為「服務元件執行時期」或 SCR)提供對於 OSGi 服務生命週期和注入項目的管理。 - 進階配置
進階配置包括提供配置和「OSGi meta 類型服務延伸」之說明和預設值的相關資訊。 - 提供應用程式端點
您可以在特性中併入一或多個 Web 應用程式軟體組 (WAB),以便將 Liberty 特性當作 Web 應用程式來使用。 WAB 是含有 Web-ContextPath 資訊清單標頭的 OSGi 軟體組。 - Liberty SPI 公用程式
Liberty 提供用來完成各項作業的服務程式設計介面 (SPI)。 - 包括受保護的特性
藉由將其他特性列在特性資訊清單檔的 Subsystem-Content 標頭中,您的特性可以包括一或多個其他特性。 在與您自己的特性相同的產品延伸中的任何特性,都可以包括在內;如果包含的特性是在不同的產品延伸中,或在 Liberty 中,它就必須有公用或受保護的可見性。 - 開發 OSGi 應用程式
您可以利用 org.apache.aries.blueprint 套件中的類別來延伸 OSGi 應用程式設計模型;這個協力廠商 SPI 是透過 blueprint-1.0 伺服器特性來提供。 您必須存取 OSGi 應用程式軟體組來套用您的延伸。 在 Liberty 中,OSGi 應用程式會當作子系統來執行。如果要尋找 OSGi 應用程式,您可以在使用者特性中建立一個 ServiceTracker。 - 在 Liberty 特性中以 JNDI 預設名稱空間來開發
您可以在預設的「Java™ 命名和目錄介面 (JNDI)」名稱空間中使物件可供使用。如果要這麼做,您必須使用 osgi.jndi.service.name 服務內容,將其登錄在 OSGi 服務登錄中。osgi.jndi.service.name 的值是必要的 JNDI 名稱。同樣地,如果要在預設的 JNDI 名稱空間中尋找物件,您也可以使用 osgi.jndi.service.name 服務內容來搜尋 OSGi 服務登錄。osgi.jndi.service.name 的值是 JNDI 名稱。 - 將自訂 TAI 開發為 Liberty 特性
您可以實作 Liberty 伺服器中提供的 com.ibm.wsspi.security.tai.TrustAssociationInterceptor 介面,並建立一項產品延伸,以將自訂 TAI 開發為 Liberty 特性。 - 動態內容管理
您通常會將軟體組列在特性資訊清單檔的 Subsystem-Content 標頭中,從而將它們安裝到執行時期環境中。 不過,您也可以將使用者撰寫的軟體組安裝成使用者撰寫的特性之 Subsystem-Content 的一部分,從而動態新增及移除 OSGi 軟體組。 使用者撰寫的軟體組會取得 OSGi 軟體組環境定義來安裝及控制其他軟體組。

檔名:twlp_feat_develop.html