OSGi

编辑
本词条由“匿名用户” 建档。
OSGi是Eclipse基金会旗下的一个开放规范和开源项目。它是1999年3月成立的计算机软件开放标准组织OSGi联盟(原名为开放服务网关倡议)工作的延续。该基金会最初指定并维护OSGi标准。该联盟在2020年底将其工作移交给了Eclipse基金会。OSGi规范描述了Java编程语言的模块化系统和服务平台,实现了一个完整的动态组件模型,在独立的Java或VM环境中不存在。它有一个基于微服务的面...

OSGi是Eclipse基金会旗下的一个开放规范和开源项目。它是1999年3月成立的计算机软件开放标准组织OSGi联盟(原名为开放服务网关倡议)工作的延续。该基金会最初指定并维护OSGi标准。该联盟在2020年底将其工作移交给了Eclipse基金会。OSGi规范描述了Java编程语言的模块化系统和服务平台,实现了一个完整的动态组件模型,在独立的Java或VM环境中不存在。它有一个基于微服务的面向服务的架构,每个微服务都是作为一个扩展的Java类文件档案(JAR(文件格式))实现的。

描述

编辑

OSGi是围绕着面向服务的架构而建立的。应用程序或组件被部署在包中,可以远程安装、启动、停止、更新和卸载,而不需要重新启动。对Java包/类的管理有非常详细的规定。应用程序的生命周期管理是通过API实现的,这些API可以远程下载管理策略。服务注册表使包能够检测到新服务的添加或服务的移除,并进行相应的调整。

OSGi规范的发展已经超越了最初对服务网关的关注,现在被用于从移动电话到开源Eclipse IDE的各种应用中。其他应用领域包括汽车工业自动化建筑自动化、PDA、网格计算、娱乐、车队管理和应用服务器

2020年10月,OSGi联盟宣布将标准化工作过渡到Eclipse基金会,之后它将关闭。所有的工件都被转移到Eclipse基金会,在那里一个OSGi工作组继续维护和发展该规范。

规范过程

编辑

OSGi规范是由成员在一个开放的过程中开发的,并在OSGi规范许可下向公众免费提供。OSGi联盟有一个仅对成员开放的合规计划。截至2010年11月,有七个OSGi框架的认证实施。一个单独的页面列出了认证和非认证的OSGi规范实施,其中包括OSGi框架和其他OSGi规范。

架构

编辑

OSGi是一个用于开发和部署模块化软件程序和库的Java框架。每个捆绑包都是一个紧密耦合的、可动态加载的类、jars和配置文件的集合,这些文件明确声明了它们的外部依赖关系(如果有的话)。

该框架在概念上分为以下几个方面。

服务层通过为纯Java接口(POJI)或纯Java对象(POJO)提供一个发布-查找-绑定模型,以动态方式连接捆绑。生命周期应用编程接口,用于捆绑物的生命周期管理(安装、开始、停止、更新和卸载)。模块定义了封装和依赖性声明的层次(捆绑包如何导入和导出代码)。安全性通过将捆绑包的功能限制在预先定义的能力范围内来处理安全方面的问题。

定义了哪些方法和类在特定的平台上是可用的。没有固定的执行环境列表,因为它可能会随着Java社区进程创造新的Java版本和发布而改变。然而,目前大多数OSGi的实现都支持以下集合。

  • CDC-1.0/Foundation-1.0
  • CDC-1.1/Foundation-1.1
  • OSGi/Minimum-1.0
  • OSGi/Minimum-1.1
  • JRE-1.1
  • 从 J2SE-1.2开始到J2SE-1.6

Bundles

编辑

一个bundle是一组Java类和额外的资源,配备有MANIFEST.MF文件,其中包含所有的详细列表。MF文件,其中包含所有内容的详细列表,以及为赋予所包含的Java类组更复杂的行为所需的额外服务,以至于将整个集合视为一个组件。

下面是一个典型的带有OSGi头文件的MANIFEST.MF文件的例子。

OSGi

例子中内容的含义如下。

  • Bundle-Name.为这个 bundle 定义了一个人类可读的名字,只是为 bundle 指定了一个简短的名字。
  • Bundle-SymbolicName。xxx需要的头。

内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/189986/

(1)
词条目录
  1. OSGi
  2. 描述
  3. 规范过程
  4. 架构
  5. Bundles

轻触这里

关闭目录

目录