`
hustlong
  • 浏览: 124116 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

转载的一篇介绍OSGI概况的文章

    博客分类:
  • SOA
阅读更多



众所周知,Java平台有庞大的开源框架、类库支持,但我们却一直停留在类与API层次的复用,一个较大的Java项目往往有大量的Jar包混乱的堆积在classpath下。所以Java领域迫切需要一个实现组件级复用的解决方案,将所有这些混乱不堪的类库与API以组件的形式发布,在统一的容器内组装协作,OSGi规范无疑是目前最为出色的候选者。

OSGi的规范已经提出5、6年的时间,到现在被业界广泛认可,其发展过程很有趣。OSGi规范最初定位于嵌入式系统,如家电、汽车、手机、家庭网关,满足单一Java虚拟机上启动多个Java应用程序和动态从网络安装卸载应用程序的需求。但那时嵌入式Java虚拟机还不成熟,更不用提OSGi的应用,尽管有宝马等知名公司的应用,但一直没有在Java嵌入式领域获得广泛的应用。


随后的发展一定超出了OSGi委员会(www.osgi.org)的想象,OSGi居然被Eclipse应用到了客户端。 Eclipse原本插件体系结构是一个基于XML的静态扩展结构,即扩展(Extension)与(Extension Point),不知道当初基于什么样的考虑,Eclipse组织在3.0版本选择OSGi作为插件体系的内核,这样由OSGi负责插件体系架构中ClassLoading机制,由扩展与扩展点负责业务层面的扩展架构,这是一个很完美的结合。但我认为这实际上并不是OSGi的最佳实践,Eclipse原本的静态扩展架构限制了OSGi的动态性,也没有应用OSGi的服务层模型,而是大量基于单例(Singleton) Plugin调用协作,开发RCP客户端时,你会发现很少需要注册OSGi的服务,往往一个Plugin的入口类提供很多静态方法。当然,这也可能与Eclipse的延迟加载(Lazy load)机制有关。


尽管Eclipse不是OSGi的一个最佳实践,但随着Eclipse的成功,OSGi迅速普及与成熟,最终将OSGi推向它最擅长但一直被忽略的领域:企业级应用软件的服务端,纯插件体系架构的服务端!目前,大量的服务端开源架构与商业产品向OSGi迁移,2007年将是OSGi服务端应用的开始。


随着OSGi在胖客户端(RCP)、服务端(Server Side)与嵌入式Java虚拟机上的广泛应用,相信未来几年内,60%的Java虚拟机上部署OSGi的目标并不是遥不可及。
分享到:
评论

相关推荐

    osgi介绍osgi介绍

    OSGi(Open Services Gateway Initiative)是一种Java模块化系统,它为开发人员提供了一种动态、模块化的运行时环境。在OSGi中,应用程序被分解为称为“bundle”的独立单元,这些bundle可以相互依赖并独立地加载、...

    介绍OSGI的PPT

    NULL 博文链接:https://chinasxhz.iteye.com/blog/256689

    osgi框架开发介绍

    OSGi(Open Services Gateway Initiative)框架是一个用于Java应用程序模块化的开放标准。它的核心特性是将应用程序分解为可独立部署、动态组合的模块,这些模块称为服务。OSGi框架的引入,旨在解决Java应用程序的...

    osgi学习笔记(一)

    OSGi(Open Services Gateway Initiative)学习笔记(一) 在IT领域,OSGi是一种模块化系统和Java服务平台,它提供了一种动态管理软件组件的能力。本文将深入探讨OSGi的基本概念、架构以及如何使用它来构建可扩展和...

    OSGI原理与最佳实践

    国内第一本OSGi图书OSGi国内推广者林昊多年经验的结晶涵盖OSGi从入门到深入的知识体系引领OSGi国内研究和普及本书基于作者多年使用OSGi的经验而编写,涵盖了OSGi从入门到深入的知识体系,从OSGi的简介开题,介绍OSGi...

    OSGI类资源动态加载介绍

    OSGi(Open Service Gateway Initiative)是一个面向Java的动态模型系统,旨在为长时间运行的系统提供动态更新能力,并且在更新过程中对运行环境影响最小化。OSGi框架的核心优势在于实现类资源的动态加载、更新和...

    一个关于osgi的例子

    OSGi(Open Services Gateway Initiative)是一种模块化系统和Java服务框架,它允许开发人员将应用程序分解为一组独立的、相互依赖的模块,这些模块被称为服务。这个标题“一个关于osgi的例子”暗示我们将探讨如何...

    osgi,林昊写的osgi实战和进阶

    OSGI(Open Services Gateway Initiative)是一种Java模块化系统,它允许开发者将应用程序分解为一系列可独立部署、更新和交互的服务。林昊所著的《OSGI实战》与《OSGI进阶》是深入理解OSGI技术的重要参考资料,适合...

    OSGI规范中文版

    OSGi规范中文版是一本全面介绍OSGi技术的书籍,它不仅涵盖了OSGi技术的基础知识,还详细介绍了OSGi的内部结构和工作原理,对于想要深入学习和应用OSGi技术的开发者而言,是一本非常有价值的参考书。 ### OSGi规范的...

    OSGi实战进阶篇

    ### OSGi实战进阶篇知识点总结 #### 一、序言与背景 - **序言**:作者从个人经历出发,表达了对于插件体系结构的兴趣,并提到了早期接触的一些工具,如Ant和Maven,这表明作者对于构建工具及模块化开发有着深厚的...

    OSGI 开发文档中文的

    OSGI(Open Services Gateway Initiative)是一种开放标准,用于创建可模块化的Java应用程序。它提供了一种灵活的框架,使得开发者可以构建、部署和管理模块化组件,这些组件被称为服务或bundle。OSGI的核心理念是将...

    Enterprise OSGI in action

    本书附录A简要介绍了OSGi的基础知识,B部分则是对OSGi生态系统的一个概述。整本书为读者提供了一个全面的视角,展示了OSGi如何在企业级应用中发挥作用,并提供了大量实际案例和最佳实践,帮助读者掌握企业OSGi的使用...

    OSGi原理与最佳实践(完整版)&OSGi_in_action

    OSGi(Open Services Gateway Initiative)是一种开放标准,用于创建模块化Java应用程序。它提供了一种动态的、可扩展的框架,使得开发人员可以构建、部署和管理软件组件。本资源包含两本书籍:“OSGi原理与最佳实践...

    OSGI 实例eclipse插件开发

    OSGI(Open Services Gateway Initiative)是一种模块化系统和Java服务框架,它允许应用程序由一系列可独立更新和替换的模块组成,这些模块称为“bundle”。在本实例中,我们将探讨如何利用OSGI技术来开发Eclipse...

    OSGi入门篇:生命周期层

    OSGi(Open Services Gateway Initiative)是一个基于Java语言的服务平台,提供了一种动态化、模块化的应用程序架构。在OSGi架构中,整个生命周期管理是十分重要的组成部分,它保证了应用能够动态地进行安装、启动、...

    OSGi原理与最佳实践

    本书基于作者多年使用OSGi的经验而编写,涵盖了OSGi从入门到深入的知识体系,从OSGi的简介开题,介绍OSGi的作用及基本概念;其后进入OSGi实战,结合实例讲解如何基于OSGi框架编写模块化、动态化的各种Java应用;最后...

    利用R-OSGi实现分布式OSGi应用

    本文通过介绍传统 OSGi 应用程序及 R-OSGi 的实现方式入手,阐述了 R-OSGi 对于 OSGi 规范的实现方式。然后通过一个简单的功能实现由浅入深地讲述传统 OSGi 和 R-OSGi 上的两种不同实现,让您对实际操作加深印象。...

    OSGI进阶.pdf

    1. **OSGi 基础和设计思想**:文档的第一部分介绍了OSGi框架的基础功能和设计思想。OSGi框架允许将应用程序拆分成多个模块(称为bundles),每个bundle都可以独立加载、更新和卸载,而不会干扰到其他模块的运行。这...

Global site tag (gtag.js) - Google Analytics