体系结构

Liberty 是一个高度可组合的动态运行时环境。使用 OSGi 服务来管理组件生命周期,以及管理依赖性和配置的插入过程。服务器进程由单个 JVM、Liberty 内核以及任何数目的可选功能部件组成。功能部件代码及大部分内核代码作为 OSGi 捆绑软件在 OSGi 框架中运行。功能部件提供应用程序所需要的编程模型和服务。

图 1. Liberty 体系结构
运行时环境是一个 OSGi 框架,内含一个内核、一个 JVM 以及任何数目的 Liberty 功能部件。

内核启动程序会引导系统,并启动 OSGi 框架。配置会加以解析,然后所配置的功能部件会由功能部件管理器装入。内核会大量地使用 OSGi 服务来提供高度动态的运行时环境。OSGi 配置管理服务会管理系统配置,而 OSGi 声明式服务组件会管理系统服务的生命周期。文件监视器服务会检测应用程序和配置文件更改,而记录服务会将消息和调试信息写入本地文件系统。

图 2. Liberty 内核
内核包含用于配置管理及用于处理声明式服务的功能部件管理器、文件监视器、记录服务和 OSGi 资源。

在系统配置文件(server.xml 文件及任何其他随附的文件)中指定功能部件。服务器配置文件会填充 OSGi 配置管理服务,而该服务会将功能部件配置插入功能部件管理器服务。功能部件管理器会将每个功能部件名称映射到提供该功能部件的捆绑软件列表。这些捆绑软件会安装到 OSGi 框架并启动。功能部件管理器会在服务器处于运行状态时通过动态地添加和移除功能部件,对配置更改作出响应。

图 3. 功能部件管理
OSGi 配置管理服务会从 server.xml 文件读取配置,然后将功能部件配置插入功能部件管理器。功能部件管理器会从提供每一个功能部件的捆绑软件读取捆绑软件列表,然后在 OSGi 框架中安装并启动这些捆绑软件。

运行时服务会提供配置缺省设置,以便最大程度地减少您需要指定的配置。在 server.xml 文件中,指定您需要的功能部件,以及对系统缺省设置的任何新增项或覆盖项。可选择将您的配置构造成一些单独的文件,然后使用“include”语法将这些文件链接至父 server.xml 文件。服务器启动时,或者用户配置文件发生更改时,内核配置管理会解析您的配置并在系统缺省设置上应用您的配置。每次更新配置时,属于每项服务的配置属性集都会插入服务。

图 4. 配置管理
配置管理员会从内核中的捆绑软件读取缺省配置,在此缺省配置上应用用户指定的配置,然后将合并的配置插入功能部件捆绑软件。

使用 OSGi 声明式服务组件,以便能将功能分解成独立的服务,这些服务可以按需激活。此行为有助于使运行时环境“迟钝一些且懒惰一些”,从而保持较小的覆盖区,让启动速度变快。会将声明的服务添加到 OSGi 服务注册表,并且可以解析服务之间的依赖性,而无需装入实现类。可以延迟服务激活操作,直至使用服务为止:当解析服务引用时。每项服务的配置会在服务激活时插入,而且如果稍后修改了配置,那么会重新插入。


用于指示主题类型的图标 概念主题

文件名:cwlp_arch.html