`
npccsb
  • 浏览: 4980 次
  • 来自: ...
社区版块
存档分类
最新评论

认识一下 OSGi

    博客分类:
  • Java
阅读更多

1、OSGi 是什么

微内核,为系统动态化提供实现的基础,模块化设计、开发的标准,Dynamic Module  System For Java  ——  JSR 291

2、OSGi能带来什么

模块化:意味着更规范的设计,意味着更好的重用,意味着人才培养体系的更为标准

动态化:动态的管理系统的模块,动态的改变系统的行为

提升设计:更为仔细的考虑模块耦合的问题,模块化的设计思想

3、OSGi的工具箱

OSGi R4 RI----Equinox
Eclipse IDE (3.1 以上版本的插件内核使用了OSGi的规范)

4、OSGi下的B/S应用

嵌入Web容器(Bridge方式)
直接使用Equinox基于Jetty的HttpService的实现
如何移植现有的B/S结构的应用
典型的:struts+spring+hibernate的应用,Spring-OSGi目前仍然比较的困难..........

5、OSGi的优势

模块化:
a、系统由一堆的Bundle组成
b、每个Bundle由一堆的Component组成
c、Component通过对外提供服务接口来提供功能
d、Component通过引用服务接口来获取功能
动态化:
a、模块动态的部署、卸载、停止、启动
b、模块行为、配置动态的改变
Component Model的支持:
a、Component生命周期由框架自动管理 —— Component自动的激活、自动的注销
b、所引用的服务在运行期才能确定 —— 所引用的服务自动的注入、自动的注销
c、Component通过对外暴露服务接口来提供功能,通过引用服务接口来获取功能

6、OSGi的劣势

对于企业应用支撑的不足:
a、分布式应用
b、跨模块(Bundle)的事务的支持
c、企业级B/S应用程序的支持
d、与本地应用集成的支持
以往应用移植到OSGi需要付出较大的代价  (但是,OSGi还是值得学习的,毕竟它还需要时间来成长)

7、OSGi的前景
OSGi为企业应用的开发提供良好的支持:
a、Spring-OSGi
b、OSGi EEG提供的规范Bundle
c、IBM、BEA提供的支撑企业应用开发的Bundle
d、成为多种语言的模块化的标准——目前已可支撑PHP版本
成为SCA的实现规范:
a、IBM、BEA的大力推动

本人对OSGi的了解欢迎大家批评指正

分享到:
评论

相关推荐

    OSGI学习文档

    OSGI(Open Services Gateway Initiative)是一种开放标准,用于创建模块化...通过阅读这本书,你可以获得对OSGI的全面认识,从理论到实践,从而在你的项目中更好地利用OSGI的优势,构建更加灵活、可维护的Java应用。

    OSGI 學習心得 Java 開發

    - **学习成果:** 对OSGi有一个初步的认识,包括其模块化设计思想和服务平台理念。 **2. 深入学习OSGi基础应用** - **资料来源:** 《OSGi in Practice》电子书的前4章。 - **学习目标:** 掌握OSGi的基础应用细节...

    OSGI实战

    - **背景**: 作者自工作以来一直关注插件体系结构,从早期接触ant、maven等工具开始,逐渐认识到模块化的重要性。 - **目标**: 通过本书籍,作者旨在分享其在OSGI领域的实践经验,特别是使用Equinox框架的心得体会。...

    OSGI_Assignment

    **OSGI_Assignment** 在Java世界中,OSGi(Open Services Gateway Initiative)是一个模块化系统和Java服务平台,它提供了一种动态管理软件...这个过程不仅能提升你的编程技能,还能让你对模块化系统有更深的认识。

    书籍配套的源代码

    标题 "书籍配套的源代码" 暗示了这些文件是与某本IT技术书籍相关的编程...通过Eclipse这样的集成开发环境,读者可以方便地导入和运行这些代码,观察它们的运行效果,从而加深对OSGi技术及其在实际项目中的应用的认识。

    spring-dm-reference

    1. **了解 Spring**: 如果您还没有使用过 Spring 框架,建议先熟悉一下 Spring 的基本概念和技术栈。 2. **了解 OSGi**: OSGi 是一种模块化容器,了解其基础知识对于使用 Spring DM 至关重要。 3. **快速启动 - OSGi...

    Master Eclipse Plugin Development

    通过这些知识点,开发者可以对Eclipse插件开发有一个全面的认识,从基础知识到高级概念,从技术实现到版权声明,都有涉及。这有助于开发者在遵循版权政策的同时,高效地学习和实践Eclipse插件开发。

    learning-apache-karaf:学习Apache Karaf,书籍源代码-apache source code

    Apache Karaf是一款轻量级的Java企业服务框架(Service-Oriented Architecture,SOA)容器,它是基于OSGi(Open Service Gateway ...结合源代码和书中的讲解,实践操作和分析,将使你对Apache Karaf有更全面的认识。

    Junit实战(第2版)

    本书从认识JUnit、不同的测试策略、JUnit与构建过程、JUnit扩展4个方面,由浅入深、由易到难地对JUnit展开了系统的讲解,包括探索JUnit的核心、软件测试原则、测试覆盖率与开发、使用stub进行粗粒度测试、使用mock...

    om2m-java-client-api:对于Java开发人员来说,在享受其所有功能和服务的同时,开发基于“ Open M2M”服务器的解决方案是除业务问题之外的另一个问题。 正是基于这种认识,诞生了需要通过对象与服务器“ Open M2M”进行通信的API的需求。

    它提出了一种在OSGi层之上运行的模块化体系结构,使其可以通过插件高度扩展。 它支持多种协议绑定,例如HTTP和CoAP。 提供了各种互通代理,以实现与供应商特定技术(例如Zigbee和Phidg​​ets设备)的无缝通信。 ...

    Hibernate ORM 4.2.0 正式版

    这可能影响到应用的并发性能,需要开发者对事务超时和会话管理有充分的认识。 4. [HHH-8022]:提到回归问题,即在Hibernate 4.2.0 CR1中返回的`REFCURSOR`在本正式版中出现问题。开发者在使用命名查询时需要注意这...

    Junit实战第二版

    《JUnit实战(第2版)》从认识JUnit、不同的测试策略、JUnit与构建过程、JUnit扩展4个方面,由浅入深、由易到难地对JUnit展开了系统的讲解,包括探索JUnit的核心、软件测试原则、测试覆盖率与开发、使用stub进行粗粒度...

    深入探讨 Java 类加载器

    【深入探讨 Java 类加载器】 Java 类加载器是Java虚拟机(JVM)的核心组成部分,它的主要任务是将Java类的字节码加载到JVM中以便执行...无论是解决运行时问题还是设计复杂的系统架构,都需要对类加载器有深刻的认识。

    RCP中文入门教程.pdf

    - 选择`Create an OSGi bundle manifest`选项来启用OSGi支持,这是Eclipse 3.0及以上版本的动态加载标准。 2. **配置插件属性**: - 在`New Plug-in Project`向导中,选择创建一个RCP应用(勾选`Would you like ...

    Eclipse In Action

    最后,本书可能还会涵盖一些高级主题,如OSGi服务、Eclipse IDE的性能优化以及Eclipse与云计算、大数据等现代技术的结合。这将使读者对Eclipse的潜力有更全面的认识。 总之,《Eclipse In Action》是一本全面而深入...

    及时通讯系统java版

    在开始之前,我们需要对Java有基本的认识。Java是一种面向对象的编程语言,由Sun Microsystems(现为Oracle公司)于1995年发布,其设计目标是“一次编写,到处运行”。它的语法简洁且强类型,有着丰富的类库,特别...

    最新软件架构师的岗位职责描述.docx

    1. 技术领导:软件架构师需精通JAVA主流技术,如Spring Cloud、Spring Boot、SpringMVC、Mybatis、Zookeeper、JPA、OSGI等,负责核心功能的架构设计和代码模板编写,确保系统公用核心模块的开发与维护。 2. 方案评审...

Global site tag (gtag.js) - Google Analytics