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

基于OSGI的框架开发小结(转)

    博客分类:
  • OSGi
阅读更多

   研究OSGI也有一段时间了,总的感觉网上相关资料还是太少(有参考价值的,因为大部分都是拷贝的同一篇文章),到目前为止对OSGI算是有了一定的了解,我把这段时间来找到的资料和个人体会总结一下和大家分享,为开源尽一点绵薄之力.

1.classic框架: 设计时依赖

    OSGI框架: 运行时依赖

2.OSGI柄承职责单一的原则,面向服务的组件模型设计,强制面向接口编程,支持热插拔 .

        OSGI提供一个强大的,严格规范的类加载模型,为每个模块提供各自ClassLoader提供动态协作模型(服务注册),模块隔离,版本加载,属性过滤. 即使Bundle已经stop,其Export的Packages依然可用.

        Bundle ClassLoader:控制模块内业务类加载

        System ClassLoader: 控制Bundle的生命周期

        SOCM: 面向服务组件模型

3.OSGI框架的两个设计方向:

   (1).将WEB容器内嵌到OSGI环境中;

   (2).将OSGI以WAR的方式发布到独立的WEB容器中.

4.Bundle的生命周期(LifeCycle):

   安装,    启动,   更新,     停止,     卸载. (其实一个Bundle就是一个含有元文件的jar)

5.OSGI的两种监听实现方式:

    (1).BundelContext:自已主动监听事件的变化;

    (2).DS(Declarative Service):服务动态变化时主动调用.

     资源不主动调用容器来实现自身生命周期的管理,这是我们所希望的,所以,DS更可取.

6.Bundle生成工具:

    Bnd.jar可以根据传统工程的虚拟路径生成符合R4的bundle,下边是BluyDavy关于该工具的介绍:

    http://www.blogjava.net/BlueDavy/archive/2007/07/27/132809.html

7.Bundle的WEB操作界面:TPF(脚手架)

      当TPF的Bundle启动后,完全接管Equniox控制的其它应用Bundle生命周期,可以监听远程的TPF,它是 一 个基于Eclipse-Equniox的插件框架:

   http://www.blogjava.net/BlueDavy/archive/2006/08/18/64440.html

8.Bundle的默认WEB根目录:MODULE-INF

    如:MODULE-INF/WEB-INF/page/index.jsp

    Spring-OSGI默认配置文件路径:META-INF/spring,默认这个文件夹下的配置文件都会被加载,当然也可以更改路径;

9.Equniox把以java.开头的类包交给parent ClassLoader去加载,意味着没有必要在系统中提供对外export java开头的package.

10.我不想把别人的代码再弄来贴一遍,以下列出我所收集的OSGI参考实例及资料:

     (1).Spring DM server开发实例(日文)

     (2)Spring MVC-OSGI WEB开发实例

     (3)OSGI中国官方网站

     (4)Spring-OSGI 1.0 M3 中文手册

     (5)Spring-OSGI 1.1.2下载

     (6)BlueDavy的技术博客

     (7)闯荡在移动互联网的世界中的博客

     (8)Phrancol's blog

      (9)罗明的博客

     (10)yangbutao - blogJava

     (11)OpenCore:基于OSGi开发纯插件体系结构的WEB应用程序

分享到:
评论

相关推荐

    未来10年:OSGi、Spring-DM.docx

    小结: OSGi框架提供了模块化、动态性和灵活性,解决了Java EE开发及部署模型的局限性。OSGi 4.2版本的发布标志着OSGi框架的成熟和完善。Spring DM是基于OSGi的 Dynamic Module,提供了动态模块化和灵活性的解决...

    osgi进阶——11111

    文档详细介绍了如何基于OSGi构建留言板应用,包括需求分析、设计、实现以及小结。在设计部分,作者强调了OSGi框架的基础功能和设计思想,如模块化、组件化,以及如何以OSGi的方式设计留言板模块。实现部分涉及到环境...

    spring3.x权威开发指南:实施Java EE 6 的利器

    6.3 小结 . 7 集成Java EE其他容器服务 7.1 简化JNDI操作 7.2 集成EJB 3.1 7.3 线程池及任务调度集成支持 7.4 集成JMS 7.5 集成JavaMail 7.6 集成分布式操作 7.7 集成JMX 7.8 集成Java EE连接器架构 7.9 小...

    Spring_3.x企业应用开发实战 目录

    - **1.12 小结** - **总结**:介绍了 Spring 框架的基本概念、新功能以及生态系统。 #### 第2章 快速入门 - **2.1 实例功能概述** - **实例功能**:通过一个实际的例子来展示 Spring 框架的应用。 - **2.2 环境...

    Spring攻略(第二版 中文高清版).part2

    1.15 小结 56 第2章 高级Spring IoC容器 57 2.1 调用静态工厂方法创建Bean 57 2.1.1 问题 57 2.1.2 解决方案 57 2.1.3 工作原理 57 2.2 调用一个实例工厂方法创建Bean 58 2.2.1 问题 58 2.2.2 ...

    Spring攻略(第二版 中文高清版).part1

    1.15 小结 56 第2章 高级Spring IoC容器 57 2.1 调用静态工厂方法创建Bean 57 2.1.1 问题 57 2.1.2 解决方案 57 2.1.3 工作原理 57 2.2 调用一个实例工厂方法创建Bean 58 2.2.1 问题 58 2.2.2 ...

    spring-3.1.0中文版api帮助文档

    **2.15 小结** - **章节总结**:回顾控制反转容器的主要概念和技术要点。 #### 三、面向切面编程 **3.1 AOP与Spring AOP基础** - **AOP概述**:面向切面编程的基本原理。 - **Spring AOP基础概念**:Spring框架...

Global site tag (gtag.js) - Google Analytics