OSGI典型的应用案例主要有两个:分别是Eclipse和BMW汽车的应用控制系统。
Eclipse
Eclipse作为Java业界成功的IDE project,在3.0以前的版本它采用的是自己设计的一套插件体系结构,而Eclipse的插件体系结构在整个业界都是非常知名的,也是被认为非常成功的一种设计,但Eclipse在3.0版本时却做了一个重大决度,就是推翻它自己以前的插件体系结构(虽然开始只是做兼容的方式,随着版本的逐渐升高已经开始逐步的替换工作了),而转为直接采用OSGI作为其插件体系结构,这到底是为什么呢?
Eclipse的插件体系结构和OSGI的思想非常的耦合,都强调微核+系统插件+应用插件的概念,Eclipse之所以要抛弃自己那套已经比较成熟的插件体系结构而转而采用OSGI,就是因为OSGI的规范性以及OSGI对于插件体系结构更为完整的定义,当然,还有一些官方性质的原因,这些原因在这里暂且不提,Eclipse采用OSGI作为其插件体系结构的成功是很明显的,在Eclipse 3.1版本以后大家可以明显的感觉到启动速度的提升,同时也使得可以在运行时对插件进行管理,更明显的提升是插件的开发更加的规范,从而可以使用很多已有的OSGI插件。
Eclipse同时也带给了业界良好的插件系统的体验以及插件系统的开发经验。
BMW汽车的应用控制系统
BMW汽车的应用控制系统采用OSGI作为其底层架构,估计这一定程度上颠覆了很多人对于Java的认识,很多人都认为基于java的系统低效,不可能用于汽车这样的应用控制系统上,在EclipseCon 2006会议上BMW采用OSGI得到了证实,估计是猜想会被很多人怀疑,演讲者在PPT上讲了下BMW汽车的应用控制系统,这套系统主要用来控制汽车上的音箱、灯光等等设备,总共由1000多个Bundle构成,但BMW汽车的应用控制系统启动时间却只需要3.5秒,是不是很令人惊讶呢,这也从很大程度上反应了采用OSGI的系统的效率并不会低。
这两个非常成功的案例向大家证明了基于OSGI开发系统的可行性,同时这个两个成功案例的足够的知名性以及优秀的使用、技术效果也为OSGI的推广铺设了不错的基础,到目前为止,关于OSGI被商业领域(例如IBM P5服务器系列、Websphere V6.1、Lotus Sametime、Adobe CS2等)、知名开源软件领域(例如Apache等)采用的消息已经是不断的传出,可以看出OSGI在服务器端应用、企业应用中已经开始广泛流行了,而这对于OSGI更好的发展成为支撑服务器端应用和企业应用的规范会起到很好的推动作用。
分享到:
相关推荐
总的来说,这个"OSGi动态部署案例"展示了如何利用OSGi的模块化特性实现观察者模式的动态管理,从而实现应用程序的灵活扩展和维护。这种技术尤其适用于大型复杂系统,它允许开发者在运行时动态调整系统的行为,而不必...
在这个登录应用案例中,我们可能首先创建一个Spring配置,定义一个表示用户的实体类,以及对应的Mybatis映射文件。接着,创建一个Spring MVC控制器,处理登录请求,验证用户名和密码,然后调用业务逻辑服务。业务...
在OSGI(Open Service Gateway Initiative)应用环境中,整合Spring、Mybatis和Spring MVC可以实现模块化、可热更新和高效的企业级应用开发。OSGI是一个Java框架,它允许动态地安装、卸载和升级服务,提供了强大的...
利用R-OSGi实现分布式OSGi应用 本文通过介绍传统 OSGi 应用程序及 R-OSGi 的实现方式入手,阐述了 R-OSGi 对于 OSGi 规范的实现方式。然后通过一个简单的功能实现由浅入深地讲述传统 OSGi 和 R-OSGi 上的两种不同...
### Equinox开发OSGi应用程序 #### OSGi及框架简介 **OSGi**(Open Service Gateway Initiative)是一种用于创建模块化Java应用程序和服务的框架。它最初是为了满足嵌入式设备和家庭网关的需求而设计的,但随着...
### 开发一个简单的 OSGi Web 应用实例 #### 一、项目概述 本教程旨在通过一个具体的示例来介绍如何使用OSGi框架开发一个简单的Web应用。这个示例应用能够计算两个数字的和或乘积,并展示了OSGi bundle的动态部署...
OSGi(Open Service Gateway Initiative)是一个定义了Java应用程序如何组织和模块化以及如何动态发现、启动、停止、更新这些模块化组件的规范。Equinox是OSGi规范的一个实现,它是由Eclipse基金会开发的。本文将...
【标题】基于Eclipse的Equinox框架开发OSGi Bundle应用 在Java世界中,OSGi(Open Services Gateway Initiative)是一种模块化系统,它允许开发者创建可独立更新和依赖管理的模块,即Bundle。Eclipse的Equinox是...
扩展Tomcat支持OSGi应用服务项目文件。其项目为eclipse工程。项目说明请参见我的blog《扩展Tomcat支持OSGi应用服务》:http://blog.163.com/haizai219@126/blog/static/44412555200971223629869/
整本书为读者提供了一个全面的视角,展示了OSGi如何在企业级应用中发挥作用,并提供了大量实际案例和最佳实践,帮助读者掌握企业OSGi的使用方法。 综上所述,《企业OSGi实战》是OSGi在企业级应用领域的一本重要著作...
Java ClassLoader机制是Java虚拟机(JVM)中一个至关重要的组成部分,它的主要任务是将类的.class文件加载到JVM中...理解并掌握ClassLoader的工作原理和在OSGi中的应用,对于开发高效、可扩展的Java应用程序至关重要。
"基于OSGi和Spring开发Web应用" OSGi(Open Service Gateway Initiative)是一种面向服务的框架,能够提供动态模块部署和管理的能力。Spring 是一个轻量级的J2EE开发框架,特点是面向接口编程和非侵入式的依赖注入...
OSGi(Open Services Gateway Initiative)是一种动态模块化系统,最初为嵌入式设备和家庭网关设计,但现在已经广泛应用于各种需要模块化、服务导向和组件化架构的Java应用程序。OSGi的核心是其定义的一套规范,允许...
2. **基于OSGi的留言板案例**:文档中举了一个留言板的应用作为案例,详细阐述了如何使用OSGi构建一个简单的留言板。其中包括了环境准备、设计MVC框架模块、留言列表模块、新增留言模块、管理员登录模块以及删除留言...
在基于OSGi和Spring开发Web应用中,OSGi(Open Services Gateway Initiative)是一个开放标准,用于创建模块化Java应用程序。它允许开发者将应用程序分解为独立的模块,称为bundle,每个bundle都包含自己的类路径、...
Java应用架构设计中,模块化模式与OSGi是两个关键概念,它们对于构建大型、可扩展且易于维护的系统至关重要。模块化模式使得代码组织更加有序,而OSGi(Open Services Gateway Initiative)则是一种实现模块化的动态...
### 基于OSGi和Spring开发Web应用的深度解析 #### OSGi与Spring的融合价值 OSGi,作为企业级应用领域的新兴工业标准,以其面向服务(接口)的核心理念和动态模块部署的能力,成为了现代软件架构设计的重要组成部分...
- 应用场景:探讨OSGi在企业级应用、嵌入式系统、物联网等领域的应用案例。 - 框架集成:讲解如何将OSGi与Spring、Hibernate等流行框架结合,构建复杂应用。 - 性能优化:提供关于提高OSGi应用性能的策略和技巧,...
【WebSphere基于OSGi的应用部署和SCA集成】 WebSphere应用服务器V7引入了对OSGi(开放服务网关倡议)应用程序和Java持久化API 2.0的支持,这两个技术的结合提供了更灵活和模块化的部署方案。OSGi Blueprint ...
4. **案例研究**:提供真实世界中的OSGi应用案例,帮助读者理解OSGi在实际问题中的解决方案。 5. **社区与资源**:介绍OSGi社区、相关资源和学习路径,鼓励读者参与并持续学习。 通过这两本书,读者不仅可以了解...