`

OSGi简介

 
阅读更多

OSGi简介

OSGi(open service gateway initiative )是一个组织,旨在建立一个开放的服务规范,通过网络向设备提供服务建立开放的标准。OSGi技术提供一种面向服务的架构,它能使这些组件无需重启就能动态地发现对方。又作为一种技术是面向Java的动态模型系统,允许应用程序使用精炼、可重用和可协作的组件构建的标准化原语。这些组件能够组装进一个应用和部署中。

 

OSGi规范的核心组件是OSGi框架。这个框架为应用程序(被叫做组件(bundle))提供了一个标准环境。整个框架可以划分为一些层次

L0:运行环--Java环境

  L1:模块---模块层定义类的装载策略

  L2:生命周期管理 --能够被动态安装、开启、关闭、更新和卸载bundles

  L3:服务注册--提供了一个在bundles间分享对象的完整模型

  安全机制—L0~L4都存在

 

OSGI规范包括了构建开放的可交付网络服务的各方面,它又包括了许多子规范:

l  Framework规范(OSGi的核心),提供一个安全的可管理的java framework 来部署可扩展的java服务。通过framework 可以支持bundle这种service application 的部署和扩展。OSGi兼容设备可以下载并安装OSGi bundles ,当不用时也可删除,bundles 安装后会注册一定数量的services ,这些services 可以被其他的bundles 使用。也即,OSGi动态的管理bundles,同时也管理bundles services 之间的依赖关系。这种动态的加载功能使得开发者可以部署大规模的services。另外,这个framework 还为bundles的开发者提供了简明一致的编程模型,简化了开发部署的复杂性。这个编程模型运行开发者将子架的接口规范绑定到OSGi环境中的serviceframework可能在不同的硬件环境上运行,但是一致的接口确保软件组可以运行在一致的服务接口上。

l  package admin service 规范。来管理不同的bundle之间的引用关系,当bundle更新或是卸载时,判断是否有其他的服务正在使用当前得bundle

l  start level 规范。它定义了启动和停止一个OSGi service platform 时,不同的bundles的启动或通知的先后顺序。

l  permission admin service 规范,权限管理。bundle是否许可执行另外的bundle的代码。

l  URL handlers service 规范,怎样注册URL schema,如何将java.io.inputstream 对象转换为特定的java对象。

l  其它,n多子规范……

 

bundle 对象:

对每一个安装在OSGi service platform 上的bundle 都有一个与之关联的bundle 对象,这个对象来管理bundle lifecycle ,管理bundle management Agent 完成。

 

bundle state 状态

installed bundle被安装。

resolved:说明bundle所需要的java class 文件都可用了,这个bundle可以随时启动或停止。

startingbundle 正在启动中

stoppingbundle正在关闭中……

activebundle 已经启动并在运行。

unistalledbundle 已经被卸载。

 

eclipse使用OSGi就是为了实现它的完美动态加载。

项目名  

说明

Manifest-Version

Jar包的Manifest文件指定了版本号,通常是1.0

Bundle-ManifestVersion

BundleManifest文件指定了版本,通常是2

Bundle-Name

Bundle的名称

Bundle-SymbolicName

BundleSynbo名称,OSGi中以这个名称注册

Bundle-Version

Bundle的版本。在OSGi中有可能多个不同版本的同一Bundle共存

Bundle-Activator

管理Bundle生命周期的类名

Bundle-Vendor

定义了制作Bundle的组织名称

Bundle-ActivationPolicy

指定了Bundle启动的策略。

Import-Package

指定了Bundle引用的包

Export-Package

指定了Bundle向起他Bundle公开的包

Required-Bundle

指定了Bundle引用的Bundle

 

分享到:
评论

相关推荐

    osgi简介PPt(自制)

    Open Service Gateway Initiative 最初的目的就是 为各种嵌入式设备提供通用的软件运行平台,即可以屏蔽设备操作系统与硬件区别的中间件平台。

    OSGI原理与最佳实践(扫描版,带目录).pdf

    第1章 OSGi简介 第2章 OSGl框架简介 第3章 基于Spring—DM实现Petstore 第4章 基于Apache CXF实现分布式Petstore 第5章 构建OSGi Bundle Repository 第6章 OSGi规范解读 第7章 Equinox实现分析 第8章 Felix...

    OSGi原理与最佳实践pdf下载(完整版)

    OSGI原理与最佳实践的完整版,共12...第1 章OSGi 简介 第2 章OSGi 框架简介 第3 章基于Spring-DM 实现Petstore 第4 章基于Apache CXF 实现分布式Petstore 第5 章构建OSGI Bundle Repositor'y 第6 章OSGi 规范解读 ……

    OSGi原理与最佳实践完整版

    OSGi原理与最佳实践完整版,OSGI简介 OSGI框架简介 基于Spring-DM实现Petstore

    Java Application Architecture Modularity Patterns with Examples Using OSGi Part2

    第13章 OSGi简介 13.1 一点历史 13.2 OSGi所能带来的收益 13.2.1 模块化开发 13.2.2 管理依赖 13.2.3 模块平台 13.2.4 版本化的bundle 13.2.5 动态(重)部署 13.2.6 环境相关的控制 13.3 深入理解OSGi ...

    Java Application Architecture Modularity Patterns with Examples Using OSGi Part1

    第13章 OSGi简介 13.1 一点历史 13.2 OSGi所能带来的收益 13.2.1 模块化开发 13.2.2 管理依赖 13.2.3 模块平台 13.2.4 版本化的bundle 13.2.5 动态(重)部署 13.2.6 环境相关的控制 13.3 深入理解OSGi 13.4 OSGi ...

    OSGI原理与最佳实践

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

    OSGi原理与最佳实践

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

    OSGI原理最佳实践(包含源代码)

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

    OSGi实战

    资源名称:OSGi实战内容简介:为了弥补OSGi规范在应用指导方面的不足,四位活跃在OSGi开发第一线的技术专家联手打造了《OSGi实战》。《OSGi实战》面向OSGi规范的使用者,系统、全面、深入地阐述OSGi的重要特性及其...

    OSGi原理与最佳实践的源码

    本书基于作者多年使用0SGi的经验而编写,涵盖了0SGi从入门到深入的知识体系,从OSGi的简介开始,介绍0SGi的作用及基本概念;其后进入OSGi实战。

    OSGi原理与最佳实践(精简+完整版)

    本书从OSGi 的简介开始,到OSGi 框架的使用,再到OSGi规范的掌握,最后到OSGi框架的实现分析,阐述了基于OSGi编写模块化、动态化的Java 系统须要掌握的知识体系,希望此书能给读者带来一次愉快的OSGi之旅。

    OSGi与Equinox创建高度模块化的Java系统

    资源名称:OSGi与Equinox 创建高度模块化的Java系统内容简介:阅读本书,首先你很快就会使用Eclipse bundle工具创建第一个基于OSGi的系统,进而转向复杂的产品开发。接下来,你将掌握一些用于创建具有特殊模块化、...

    OSGI原理与最佳实践(清晰)

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

    java ClassLoader机制及其在OSGi中的应用

    内容简介: ClassLoader体系结构 类装载器在JVM中并不是唯一的,JVM自带了三个装载器,用户也可以根据自己的需求自定义新的装载器,这些装载器的体系结构可以看作是树状结构,如图1所示:

    OSGI调研报告

    OSGI(Open Service Gateway Initiative)有双重含义。一方面它指OSGI Alliance组织;另一方面指该组织制定的一个基于Java语言的服务(业务)规范——OSGI服务平台(Service Platform)

    httpcomponents-client-4.5.4-osgi-bin.zip

    httpcomponents-client-4.5.4-osgi-bin.zip 内含: org.apache.httpcomponents.httpclient_4.5.4.jar 官方说明: The Apache HttpComponents™ project is responsible for creating and maintaining a toolset of...

    httpcomponents-client-4.5.4-osgi-bin.tar.gz

    httpcomponents-client-4.5.4-osgi-bin.tar.gz 内含: org.apache.httpcomponents.httpclient_4.5.4.jar 官方说明: The Apache HttpComponents™ project is responsible for creating and maintaining a toolset ...

    commons-dbcp-1.2.jar包官方免费版

    commons-dbcp-1.2.jar包是一款主流的数据库连接池之一(DBCP,c3p0,proxool),如果缺少了这个commons-dbcp.jar包,那将无法...基本简介  主流数据库连接池之一(DBCP、c3p0、proxool),单独使用DBCP需要使用commons-dbpc

    基于SSH2+Maven+EasyUI+MySQL技术实战开发易买网电子商务交易平台

    1.2、课程内容简介 由于富客户端技术进一步扩展浏览器功能,使之提供更加高效和友好的用户接口,越来越多的企业和开发人员选择使用富客户端技术构建商业应用,本课程主要是介绍了解最流行的富客户端框架jquery - ...

Global site tag (gtag.js) - Google Analytics