为 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 接口的启动和停止方法。 - 使用 OSGi 声明式服务来编写高级功能部件
可以使用捆绑软件 activator 类以及接口(例如,ManagedService 和 ServiceTracker)的直接实现来控制简单的功能部件。随着捆绑软件之间的关系变得更复杂,使用 OSGi 声明式服务 (DS) 之类的工具将功能部件分解为各项服务会更好。DS(有时称为“服务组件运行时”,即 SCR)提供了 OSGi 服务的生命周期和注入管理。 - 高级配置
高级配置包含有关为配置和 OSGi 元类型服务扩展提供描述和缺省值的信息。 - 提供应用程序端点
要将 Liberty 功能部件作为 Web 应用程序来提供,可以在该功能部件中包含一个或多个 Web 应用程序捆绑软件 (WAB)。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 服务注册表中使用 osgi.jndi.service.name 服务属性注册该对象。osgi.jndi.service.name 的值是必需的 JNDI 名称。同样,要在缺省 JNDI 名称空间中查找对象,可以使用 osgi.jndi.service.name 服务属性来搜索 OSGi 服务注册表。osgi.jndi.service.name 的值为 JNDI 名称。 - 将定制 TAI 作为 Liberty 功能部件来开发
要将定制 TAI 作为 Liberty 功能部件来开发,您可以实现 Liberty 服务器中提供的 com.ibm.wsspi.security.tai.TrustAssociationInterceptor 接口,并创建产品扩展。 - 动态内容管理
通常,您会通过在功能部件清单文件的 Subsystem-Content 头中列示捆绑软件以将捆绑软件安装到运行时环境中。但是,您还可通过将用户编写捆绑软件作为用户编写功能部件的 Subsystem-Content 的一部分安装来动态添加和移除 OSGi 捆绑软件。用户编写捆绑软件包含 OSGi 捆绑软件上下文以安装和控制其他捆绑软件。


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-libcore-mp&topic=twlp_feat_develop
文件名:twlp_feat_develop.html