
上QQ阅读APP看书,第一时间看更新
OSGi
OSGi服务平台(OSGi Service Platform)是Java中的动态模块化系统。在OSGi的术语中,模块称为bundle。OSGi提供了一个框架来管理bundle,bundle被打包成普通的Java JAR文件,里面包含了清单文件(manifest)。在清单文件中包含了重要的元数据信息,这些信息描述了bundle以及对OSGi框架的依赖(关于OSGi,参见第13章)。
贯穿本书,你会发现使用OSGi的例子。但是,要使用模块化模式,OSGi并不是先决条件。OSGi只是提供一个运行时环境,它使得在Java平台中实现模块化成为可能,同时它也会强制要求这种模块化。OSGi提供了如下功能。
·模块化:使得在Java平台中实现模块化成为可能,同时也会强制要求模块化。
·版本管理:支持相同软件模块的多个版本部署在同一个Java虚拟机(JVM)实例中。
·热部署:允许在运行时系统中进行部署和更新,不必重新启动应用或JVM。
·封装:允许模块对它们的使用者隐藏实现细节。
·面向服务:鼓励在更细的粒度上,在同一个JVM中使用面向服务的设计原则。为了做到这一点,OSGi使用的是μService。
·依赖管理:需要明确声明模块之间的依赖。