Welcome 微信登录

首页 / 软件开发 / JAVA / OSGi规范介绍

OSGi规范介绍2011-04-19 javaeye windy2coastOSGi(Open Service Gateway Initiative)最初的目的就是为各种嵌入式设备提供通用 的软件运行平台,即可以屏蔽设备操作系统与硬件区别的中间件平台。PC基本上被 Wintel架 构垄断,运行在PC上的应用程序完全可以在另一台PC上运行;但对于其他设备来说就不同, 它们的硬件平台可能完全不同,其操作系统也是来自不同厂商,所以任何设备上的应用程序 都需要定制,于是就产生了对中间件平台的需求。

OSGi并不是专为家庭网络而制定的,除了住宅网关,像车载电脑等其他移动嵌入式设备也 都可以通过OSGi接入Internet,获取不同的应用服务。它为服务供应商、软件供应商、网关 开发人员以及设备供应商提供了一个开放、通用的架构,使它们能互动地开发、部署和管理 服务。其软件环境基于Sun的 JAVA虚拟机,并不涉及具体的连接协议。对于任何新设备,它 都能够灵活地将其纳入现有网络。可以使用OSGi的对象包括各种数字和模拟的机顶盒、服务 网关、有线电视电缆调制解调器、消费类电子产品、PC、工业计算机、汽车等。

因为OSGi基于JAVA技术,而JAVA最大的好处就是平台无关性。在不同类型的住宅网关设备 上都可以实现OSGi软件。而且OSGi规范可以与各种设备访问标准桥接(如图1所示),比如遵 循OSGi的系统可以很好地部署和管理Jini服务,它可以提供Jini设备与服务提供商之间的交 互。对于像 HAVi、UPnP等基于非JAVA技术的标准和规范,OSGi也可以提供与它们沟通的桥梁 。

第二章 OSGi规范介绍

2.1 OSGi规范的体系结构

在OSGi规范中提供了一个参考的体系架构[1],也基本上体现了OSGi的设计初衷。

OSGi的体系架构是基于这样一个模型的:经营者管理着一个潜在的巨大的服务网络平台。 OSGi规范假设这个服务平台是完全被这个经营者控制,并且经营者使用该服务平台去运行来 自不同服务提供者提供的服务。然而这只是一个场景,还有其他模型,例如PC机的部署,工 业应用(如,移动电话基站是一个管理中心完全控制着各个方面),中间件模型等。OSGi最 广泛的应用是在网络化的服务。除了参考模型之外,规范之中还提到了其他的一些模型。请 参考OSGi 3.0规范[1]。

2.1.1 OSGi参考体系架构的特点

1.商业驱动:经营者的观点驱动OSGi的体系架构。

2.完美:体系架构必须是足够完善和详细的,以致允许开发商生产出健壮的产品。

3.不受限的:由于经营者所操作的服务平台在性能和网络环境的变化是非常大的。

4.开放:标准不是为一个具体的系统而设计的,OSGi参考体系架构必须考虑和支持许多 不同的场景。

2.1.2 OSGi参考体系架构所涉及到实体

1. 服务平台:一个JAVA虚拟机的实例,一个OSGi框架结构,和运行着的服务包的集合。

2. 服务平台服务器(SPS):驻留一个或多个服务平台的硬件。

3. 运营商:掌控许多服务平台的组织。

4. 服务应用:一套软件包,文档和支撑软件所组合起来的应用,这些应用向终端用户提 供服务。

5. 服务用户:获取服务应用服务的用户。

6. 服务提供者:开发服务应用并且通过服务部署管理器部署到服务平台上。

7. 服务部署管理器:部署和部分管理一个或多个服务提供者提供的服务应用。