`
snoopy7713
  • 浏览: 1149120 次
  • 性别: 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应用程序

分享到:
评论

相关推荐

    osgi框架开发介绍

    二、OSGi框架开发模式 1. **依赖管理**:在OSGi中,每个Bundle声明其依赖的服务和库,框架负责解析并提供这些依赖。如果某个依赖不可用,Bundle将不会被激活,避免了运行时的类加载问题。 2. **版本管理**:OSGi...

    基于OSGi和Spring开发Web应用.doc

    Spring 是一个轻量级的J2EE开发框架,特点是面向接口编程和非侵入式的依赖注入。将 OSGi 和 Spring 结合能充分发挥二者各自的特长,更好地满足企业级应用开发的需求。 在基于 OSGi 和 Spring 的 Web 应用开发中,...

    基于osgi框架实战源码

    "基于osgi框架实战源码"的学习资料为开发者提供了一个宝贵的实践平台,通过实际操作可以加深对OSGi的理解,提升在大型复杂系统中的模块化开发能力。在深入学习源码的过程中,不仅要关注代码逻辑,还要理解其背后的...

    基于osgi整合ssm框架注解开发

    Spring是一个全面的Java企业级应用开发框架,提供依赖注入(DI)、面向切面编程(AOP)、数据访问/集成、Web MVC等功能。在SSM组合中,Spring主要负责管理和协调各个组件,如数据库连接、事务管理等。 **3. ...

    基于OSGI 框架 的客户端接口设计

    在IT行业中,OSGi(Open Services Gateway Initiative)框架是一个用于构建模块化Java应用程序的强大工具,它允许开发者将应用分解为可独立更新和管理的小模块。本文将深入探讨基于OSGi框架的客户端接口设计,以及...

    基于osgi构建小例子

    **基于OSGi构建小例子** OSGi(Open Service Gateway Initiative)是一种Java模块化系统,它允许开发者将应用程序拆分成独立的、可管理的模块,这些模块可以动态地安装、卸载和更新,而不影响系统的其他部分。在...

    基于OSGi和Spring开发Web应用教程

    Spring框架则是一个流行的轻量级Java企业级应用开发框架,它提倡面向接口编程和依赖注入(DI)原则,有助于减少代码耦合度和提高组件的可测试性。Spring-DM(现在称为Spring OSGi)是Spring框架的一个扩展,旨在将...

    基于OSGi框架的网络操作工单管理系统的设计与实现论文.doc

    【基于OSGi框架的网络操作工单管理系统设计与实现】 随着网络信息技术的飞速发展,网络规模持续扩大,网络设备的数量呈指数级增长,对网络操作管理的需求也随之提高。现有的网络管理系统虽然具备丰富的管理功能,但...

    基于OSGi和Spring开发Web应用

    ### 基于OSGi和Spring开发Web应用的深度解析 #### OSGi与Spring的融合价值 OSGi,作为企业级应用领域的新兴工业标准,以其面向服务(接口)的核心理念和动态模块部署的能力,成为了现代软件架构设计的重要组成部分...

    四大OSGI框架最新技术对比分析

    四大OSGI框架最新技术对比分析 一、Apache Felix ### 1.1 概述 Apache Felix 是一个致力于实现 OSGi R4 Service Platform 和其他与 OSGi 相关的技术的社区项目,遵循 Apache 许可。最初,OSGi 规范的目标是嵌入式...

    基于VirgoServer进行Spring Osgi Web开发

    在本文中,我们将深入探讨如何基于VirgoServer进行Spring Osgi Web开发,这是一个涉及OSGi容器、Spring框架和Web应用程序的集成技术。首先,我们需要确保拥有正确的开发环境和工具,包括Spring Tool Suite (STS),...

    基于OSGI的软构件实时数据处理子系统设计与实现.pdf

    【基于OSGI的软构件实时数据处理子系统设计与实现】 在现代军事装备的发展中,指控系统扮演着至关重要的角色,特别是在信息化趋势下。指控系统主要用于处理试验信息、执行信息应用以及管理试验信息系统的运行。它能...

    基于OSGi和Spring开发Web应用的Demo

    Spring框架则是一个全面的企业级应用开发框架,它简化了Java开发,特别是Web应用的开发。Spring提供了依赖注入(Dependency Injection, DI)和面向切面编程(Aspect-Oriented Programming, AOP)等核心功能,还包含...

    基于OSGi和Spring开发企业级Web应用

    - **Spring框架**:作为Java领域中最受欢迎的轻量级开发框架之一,Spring提供了众多功能来简化企业级应用的开发,包括依赖注入、面向切面编程(AOP)、事务管理等。它强调的是“面向接口编程”而非具体的实现细节,...

    基于OSGi框架的网络操作工单管理系统的设计与实现硕士毕业论文 精品推荐

    同时,使用 OSGi动态模块化技术作为系统模型的基础架构,分析了 OSGi技术的体系结构和运行原理,并对基于 OSGi 框架的系统模型整体进行了功能分析、模块划分和结构设计,其中,对操作任务的管理的流程管理的设计和...

Global site tag (gtag.js) - Google Analytics