`
snoopy7713
  • 浏览: 1152900 次
  • 性别: Icon_minigender_2
  • 来自: 火星郊区
博客专栏
Group-logo
OSGi
浏览量:0
社区版块
存档分类
最新评论
阅读更多

OSGi(Open Service Gateway Initiative)有双重含义。一方面它指OSGi Alliance组织;另一方面指该组织制定的一个基于Java语言的服务(业务)规范——OSGi服务平台(Service Platform)。 OSGi Alliance是一个由Sun Microsystems、IBM、爱立信等于1999年3月成立的开放的标准化组织,最初名为Connected Alliance。该组织及其标准原本主要目的在于使服务提供商通过住宅网关,为各种家庭智能设备提供各种服务。目前该平台逐渐成为一个为室内、交通工 具、移动电话和其他环境下的所有类型的网络设备的应用程序和服务进行传递和远程管理的开放式服务平台。 该规范和核心部分是一个框架 ,其中定义了应用程序的生命周期模式和服务注册。基于这个框架定义了大量的OSGi服务: 日志、配置管理、偏好, HTTP(运行servlet)、XML分析、设备访问、软件包管理、许可管理、星级、用户管理、IO连接、连线管理、Jini和 UPnP。 这个框架实现了一个优雅、完整和动态的组件模型。应用程序(称为bundle)无需重新引导可以被远程安装、启动、升级和卸载(其中Java包/类的管理 被详细定义)。API中还定义了运行远程下载管理政策的生命周期管理。服务注册允许bundles去检测新服务和取消的服务,然后相应配合。 OSGi原先关注于服务网关,其实可用于多个方面。现在OSGi规范已经用于从移动电话到开源的Eclipse (其中包括了与IBM的OSGi框架SMF兼容的开源版本)。 OSGi服务平台的应用包括:服务网关、 汽车、移动电话、 工业自动化、建筑物自动化、 PDA 网格计算、娱乐(如iPronto)、和 IDE。 OSGi规范是由成员通过公开的程序开发,对公众免费而且没有许可证限制。但是OSGi Alliance的兼容性程序只对成员开放,目前有12个兼容的实现。 2003年Eclipse选择OSGi作为其插件的底层运行时架构。Equinox project对该理念进行了实验,2004年6月在Eclipse3 R3中发布。ProSyst是面向OSGi开发者的Eclipse插件。 2003年10月, 诺基亚、摩托罗拉, ProSyst 和其他OSGi成员组建了Mobile Expert Group (MEG)为下一代智能手机规范业务平台,做为对 MIDP 和CDC的补充。

    OSGi是一个基于Java的服务平台规范,它是为那些需要长时间运行,动态更新并且对运行环境的影响尽可能小的系统制定的。

    OSGi的设计主旨:一个轻量级的进程内(in-process)服务容器框架,并提供了完整生命周期管理。

    面向服务的企业级Java应用。

    OSGi可以作为一种架构资产,来推动各个组织应用面向组件的软件开发。


OSGi的如下几个优点:
    真正的组件开发——虽然组件开发概念很简单,但是真正开发组件化软件的时候,却是困难重重的。OSGi的结构可以解决这些问题,例如依赖跟踪,版本跟踪和服务绑定。
跨团队的安全开发——OSGi的微核结构保证了组件和扩展是独立且可控的。
公司项目的标准化管理——如果所有的项目都分解成OSGi组件,那么它们就可以很容易重用。Eclipse repository就是这样子的。
    版本跟踪——人们常常会有这样的疑问,“我可以集成这个库吗?”,亦或“它会不会与这个版本的另外一个库冲突?”,OSGi所提供的标记版本的功能,就解决了这些疑惑。
辅助架构设计——通过OSGi,架构师无需进行完整的构建,就可以判断构建所依赖的类库是否依然可用。

分享到:
评论

相关推荐

    osgi简介PPt(自制)

    OSGI(Open Service Gateway Initiative)是一个开放的中间件平台,旨在为各种嵌入式设备提供通用的软件运行环境,能够消除设备操作系统和硬件之间的差异。这个平台的核心是它的模块化系统,允许应用程序和服务动态...

    tomcat嵌入OSGI容器

    **OSGI简介:** OSGI的核心是它的模块系统,即Bundle。每个Bundle都是一个独立的Java应用程序单元,有自己的类加载器,可以包含类、资源和元数据。通过这种方式,OSGI允许不同的Bundle之间以安全、隔离的方式进行...

    OSGI原理与最佳实践(扫描版,带目录).pdf

    第1章 OSGi简介 第2章 OSGl框架简介 第3章 基于Spring—DM实现Petstore 第4章 基于Apache CXF实现分布式Petstore 第5章 构建OSGi Bundle Repository 第6章 OSGi规范解读 第7章 Equinox实现分析 第8章 Felix...

    OSGi™ Component Programming

    OSGi简介 OSGi的核心概念是模块化,它通过将应用程序分解为独立的组件来实现。这些组件被称为服务,它们可以单独安装、更新和卸载,而不会影响到系统的其他部分。OSGi通过使用包(Bundle)来封装组件,每个包都...

    Tomcat-Osgi

    1. **OSGi简介**:OSGi是一种动态模块系统,它允许开发者创建可插拔的组件,并在运行时安装、卸载和更新这些组件,无需停止应用程序。它的核心是OSGi框架,负责管理组件的生命周期、解决依赖关系和提供服务注册表。 ...

    很久之前的osgi整理

    1. **OSGi简介**: OSGi的核心是其模块系统,它提供了一种动态的运行时环境,使得模块可以在生命周期内被安装、启动、停止、更新和卸载。这种灵活性极大地提高了软件的可维护性和可扩展性。 2. **模块化概念**: ...

    Equinox开发OSGi应用程序

    ##### OSGi简介 OSGi是动态模块系统的一个工业标准,支持模块化、面向服务和面向组件的应用程序开发。OSGi规范由OSGi联盟负责维护和更新,最新版本已经发展到了R4阶段。通过OSGi,开发者可以轻松地管理和控制应用...

    基于 OSGI 的 RCP 测试 2 Standard

    **OSGi简介** OSGi的核心是其模块系统,它通过将代码划分为可独立加载和卸载的模块(称为“bundles”),解决了Java类加载器的问题。每个bundle都有自己的命名空间,可以声明依赖其他bundle,并且只有当所有依赖满足...

    spring-osgi-1.2.0-rc1-with-dependencies.zip

    1. **OSGi简介** OSGi的核心是其模块化系统,它将Java应用分解为独立的、可重用的模块,每个模块称为一个bundle。这些bundle之间通过服务进行交互,具有动态加载和卸载的特性,极大地增强了软件的灵活性和可维护性...

    OSGi core

    #### 一、OSGi简介 OSGi(Open Service Gateway Initiative)是一个模块化系统和能力框架,最初是为服务网关设备设计的,但后来扩展到其他领域,如企业应用服务器、富客户端系统以及运行在嵌入式设备中的Java平台。...

    osgi实战(pdf超请版)

    - **OSGI简介**:OSGI(Open Service Gateway Initiative)是一种模块化平台标准,用于构建可复用的服务和应用程序。它最初被设计用于服务网关设备,但逐渐成为Java平台上通用的模块化标准。 - **目标与愿景**:本书...

    To embed OSGi in servlet container

    1. **OSGi简介**:解释OSGi的基本概念,包括其模块系统(称为bundle)、类加载器机制以及服务注册和查找的原理。 2. **Servlet容器与OSGi的结合**:介绍为什么要在Servlet容器中使用OSGi,以及这种结合能解决哪些...

    osgi 实战 pdf

    ### OSGi简介 OSGi(Open Service Gateway Initiative)是一个模块化平台,用于构建和管理复杂的软件系统,尤其是Java应用。它提供了一种标准的方法来封装和部署代码,允许动态加载、卸载和更新模块,而无需重启整个...

    OSGi原理与最佳实践pdf下载(完整版)

    OSGI原理与最佳实践的完整版,共12...第1 章OSGi 简介 第2 章OSGi 框架简介 第3 章基于Spring-DM 实现Petstore 第4 章基于Apache CXF 实现分布式Petstore 第5 章构建OSGI Bundle Repositor'y 第6 章OSGi 规范解读 ……

    OSGI学习手册及实践

    OSGI简介与背景 - **OSGI**(Open Service Gateway Initiative)是一种用于构建模块化应用程序和服务的框架,旨在提高软件系统的灵活性、可扩展性和可维护性。它最初是为了创建智能家庭网关设备而设计的,但后来...

    osgi in action 2011

    1. **OSGi简介**:OSGi的核心理念是将应用程序分解为独立的模块,这些模块称为服务。每个服务都有明确的接口定义,能够互相依赖,但又相互隔离,这极大地提高了代码的可重用性和可维护性。 2. **模块系统**:OSGi的...

    Java Application Architecture Modularity Patterns with Examples Using OSGi Part1

    第13章 OSGi简介 13.1 一点历史 13.2 OSGi所能带来的收益 13.2.1 模块化开发 13.2.2 管理依赖 13.2.3 模块平台 13.2.4 版本化的bundle 13.2.5 动态(重)部署 13.2.6 环境相关的控制 13.3 深入理解OSGi 13.4 OSGi ...

    Java Application Architecture Modularity Patterns with Examples Using OSGi Part2

    第13章 OSGi简介 13.1 一点历史 13.2 OSGi所能带来的收益 13.2.1 模块化开发 13.2.2 管理依赖 13.2.3 模块平台 13.2.4 版本化的bundle 13.2.5 动态(重)部署 13.2.6 环境相关的控制 13.3 深入理解OSGi ...

Global site tag (gtag.js) - Google Analytics