`

OSGI的大饼图

    博客分类:
  • OSGI
阅读更多
   总结起来,OSGI的R4规范就是由Core Framework以及基于其上的各类Service组成的。Core Framework中主要包含四层部件,第一层就是运行时环境,这个就是JAVA的运行环境就OK了;第二层是Module层,Module其实就可以看成是插件吧,只不过说OSGI对于每个Module都有一个单独的类加载器来加载它;第三层就是典型的Module生命周期的管理,按照Module的生命周期进行状态的转换(哈哈,现在看到这种状态转换的例子,就开始想到状态模式了);第四层其实是服务层,为了解决Module之间的通信,那么设定了通过提供各自曝露自己的Service的方式。那么好,谁知道这些Service呢,OK,有了ServiceRegistration,那么这个对象知道所有的Service都从这里注册,那么就知道各个对象提供的Service了:),其实是一个ServiceLocator的例子,只需要知道它,然后声明自己需要那个服务,就从这个ServiceLocator来得到自己的服务就好了。
    看Module的定义其实真的没有太多的看头,其实和plugin.xml(不管是Eclipse的还是Apollo的都是一样),只不过是换了个名称而已。多了ModuleActivator的声明,这个类就是用来控制Module的生命周期的,很有用。其它的描述除了有Module自身信息之外,还有依赖关系的描述;以及对外提供接口的描述。我们实用Provide-Service的方式来描述,其实是差不多的。
    OSGI的类加载器有一套自己的定义。主要是系统类加载器,以及模块的类加载器,还有默认的启动类加载器(不是JVM的那个,而是OSGI里面定义的一个bootClassLoader)
有一张图详细画了这个类加载器的结构,和OSGI进行类加载的步骤,很清晰,很好。
    关于LifeCycle,就不用再啰嗦了。只要知道状态的变化就OK了。
    服务层实现了服务的注册,服务的获取,服务的监听,其实也是一套面向服务的体系结构,SOA嘛,这里也是简单的实现。
   
    上周到这周的事情一直很多,公司要招人,我要参与出题和上机考试,希望能为公司引进一些好的新鲜血液吧。
分享到:
评论

相关推荐

    osgi介绍osgi介绍

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

    OSGI 开发文档中文的

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

    OSGI 实例eclipse插件开发

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

    OSGI原理与最佳实践

    资源名称:OSGI原理与最佳实践内容简介:国内第一本OSGi图书OSGi国内推广者林昊多年经验的结晶涵盖OSGi从入门到深入的知识体系引领OSGi国内研究和普及本书基于作者多年使用OSGi的经验而编写,涵盖了OSGi从入门到深入...

    OSGI组件编程(osgi.component.programming)

    通过Eclipse的CVS Repository Exploring透视图,你可以连接到指定的CVS仓库,下载并检出所需的所有项目。 在开始编程之前,了解OSGI的基本概念至关重要。OSGI服务平台是一个用于开发远程部署服务应用程序的框架,...

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

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

    OSGi入门教程(OSGi Introduce)

    OSGi(Open Services Gateway Initiative)是一种Java平台上的模块化服务框架,它定义了一种标准,使得开发者能够构建可互操作的、动态的、模块化的软件系统。OSGi的核心概念是基于Java的模块化,它的主要目标是为...

    OSGI 入门资料PDF

    OSGI(Open Services Gateway Initiative)是一种开放标准,用于创建模块化和动态的Java应用程序。它为Java开发人员提供了一个框架,使他们能够构建可热插拔的组件,从而实现更灵活、可扩展和可维护的软件系统。在本...

    osgi重要文档--osgi核心规范文档,osgi服务文档,osgi-最佳原理与实践(王昊编著,共79页)

    这个压缩包包含了关于OSGI的重要文档,分别是“OSGi R4核心规范文档”、“OSGi服务文档”以及“OSGi-最佳原理与实践”(王昊编著)。下面将详细介绍这些文档所涵盖的关键知识点。 首先,"OSGi R4核心规范文档"是...

    spring osgi相关资源

    Spring OSGi是Spring框架与OSGi(Open Service Gateway Initiative)规范相结合的一种技术,它允许在OSGi容器中运行和管理Spring应用。OSGi是一种模块化系统,为Java应用程序提供了动态部署、版本控制和依赖管理的...

    tomcat嵌入OSGI容器

    标题中的“tomcat嵌入OSGI容器”是指在Apache Tomcat服务器中集成OSGI(Open Service Gateway Initiative)框架,使得Tomcat能够支持模块化的应用程序部署和管理。OSGI是一种Java平台上的服务导向架构,它允许动态地...

    osgi学习笔记(一)

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

    OSGI + Webservice 例子

    OSGI(Open Services Gateway Initiative)是一种开放标准,用于创建模块化和可扩展的Java应用程序。它提供了一种灵活的框架,允许开发人员将应用程序分解为独立的模块,这些模块称为服务。OSGI的核心是它的模块系统...

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

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

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

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

    OSGI

    OSGI,全称为Open Service Gateway Initiative,中文名为开放服务网关倡议,是一个为Java平台设计的模块化系统和动态服务框架。它定义了一种标准的模块化体系结构,允许Java应用程序由可独立更新和替换的模块(称为...

    OSGI.rar_OSGI eclipse_eclipse osgi_java OSGI_osgi

    在"OSGI.rar_OSGI eclipse_eclipse osgi_java OSGI_osgi"这个压缩包中,我们可以找到"OSGI实战.pdf",这很可能是关于如何在Eclipse环境下使用OSGI进行实际开发的详细指南。该书可能会涵盖以下关键知识点: 1. **...

    OSGI进阶.pdf

    OSGi(Open Services Gateway initiative)是一种Java动态模块化系统规范,其核心思想是将应用分割成一系列的 bundles(模块),每个 bundle 都可以独立地安装、启动、停止、更新,而不会影响到其他 bundles。OSGi ...

    基于osgi构建小例子

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

Global site tag (gtag.js) - Google Analytics