深入理解OSGi:Equinox原理、应用与最佳实践

深入理解OSGi:Equinox原理、应用与最佳实践 PDF 原书清晰版

  • 大小:29.2 MB
  • 类型:OSGi
  • 格式:PDF
  • 出版:机械工业出版社
  • 作者:周志明,、谢小明
  • 更新:2023-01-17 21:25:05
vip 立即下载( 29.2 MB )
关注公众号免费下载
版权投诉 / 资源反馈(本资源由用户 巢秀丽 投稿)

本站收集了一篇OSGi相关的资料,由机械工业出版社出版,作者是周志明,、谢小明,介绍了关于OSGi、Equinox、原理、应用、实践方面,格式为PDF,资源大小29.2 MB,目前在OSGi类资源综合评分为:9.1分。

OSGi资源推荐

书籍介绍

书不错,内容很好,详细说明了OSGI的相关原理与使用。

OSGi是Java模块化的一种协议,而这方面的书籍又寥寥无几,这本书正好弥补了这个空白。

概念讲了好几章,每本书都有helloword,这本没有,web相关的基本没有,源码没有,初学者不推荐

不错//因为看到Atlas用了这个,所以先了解。。周志明写的大概不会太差?开始了解这块

编辑推荐

基于OSGi R5.0规范撰写,继《深入理解Java虚拟机》后的又一实力之作 ·全面解读OSGi规范,深刻揭示OSGi原理,详细讲解OSGi服务,系统地介绍Equinox框架的用法,并通过源代码分析其工作机制,包含大量可操作性极强的解决方案和实践

作者简介

周志明,资深Java技术专家,对JavaEE企业级应用开发、OSGi、Java虚拟机和工作流等都有深入的研究,并在大量的实践中积累了丰富的经验。尤其精通Java虚拟机,撰写了大量与JVM相关的经典文章,被各大技术社区争相转载,是ITeye等技术社区公认的Java虚拟机方面的领袖人物之一,著有经典著作《深入理解Java虚拟机:JVM高级特性与*实践》(2年内重印十数次,获得业界多个图书奖项),广获读者好评。现任远光软件股份有限公司平台开发部经理兼平台架构师,先后参与过国家电网、南方电网等多个*大型ERP项目的平台架构工作,对软件系统架构也有深刻的认识和体会。 谢小明,资深Java技术专家,具有丰富的JavaEE企业级应用开发开发经验,对OSGi、Spring、Hibernate等技术和框架有比较深入的研究和认识。喜欢钻研运行与JVM之上的其他语言,如Scala和Clojure等。现任远光软件股份有限公司平台开发部平台架构师,先后参加与过国家电网、南方电网等多个*大型ERP项目的平台架构工作。

内容简介

自从1999年OSGi联盟成立以来,OSGi技术随着Java一起飞速发展,它已经成为一种被广泛认可的软件架构技术和方法,许多世界著名的IT企业都加入到OSGi的阵营之中,OSGi技术的市场前景非常广阔。所以OSGi技术成为了一门必须要掌握的技术。 本书一共分为四个部分:第一部分 走近OSGi,这部分为后文的研究和讲解建立一个基础,让读者了解OSGi的来龙去脉以及它出现的意义,回答了“什么是OSGi”和“为什么要使用OSGi”两个问题;第二部分 OSGi规范与原理,介绍了OSGi核心规范中的内容和*的OSGi R5.0规范文档;第三部分 基于Equinox的OSGi应用与实践,详细介绍了OSGi的服务纲要规范(OSGi Service Compendium)和OSGi企业级规范(OSGi Service Enterpress)中最常用的几个子规范内容,在这一部分里,将会把OSGi技术从理论落地到实践之中,结合目前使用范围最广的OSGi实现Equinox和一个穿插整个部分的完整案例来讲解OSGi技术的使用;第四部分 *实践,针对开发实践中遇到的具体问题进行分析讲解,介绍OSGi的各种实践。

目录

  • 前言
  • 第一部分走近OSGi
  • 第1章Java模块化之路
  • 1.1什么是OSGi
  • 1.1.1OSGi规范的演进
  • 1.1.2Java模块化规范之争
  • 1.2为什么使用OSGi
  • 1.2.1OSGi能让软件开发变得更容易吗
  • 1.2.2OSGi能让系统变得更稳定吗
  • 1.2.3OSGi能让系统运行得更快吗
  • 1.2.4OSGi能支撑企业级开发吗
  • 1.3本章小结
  • 第二部分OSGi规范与原理
  • 第2章模块层规范与原理
  • 2.1OSGi规范概要
  • 2.2Bundle
  • 2.3描述元数据
  • 2.3.1预定义标记
  • 2.3.2使用可视化工具
  • 2.4Bundle的组织与依赖
  • 2.4.1导出和导入Package
  • 2.4.2约束规则与示例
  • 2.4.3校验Bundle有效性
  • 2.5OSGi的类釉丶芄?
  • 2.5.1父类加载器
  • 2.5.2Bundle类加载器
  • 2.5.3其他类加载器
  • 2.5.4类加载顺序
  • 2.6定义执行环境
  • 2.7本地化
  • 2.8本章小结
  • 第3章生命周期层规范与原理
  • 3.1Bundle标识
  • 3.2Bundle状态及转换
  • 3.2.1安装过程
  • 3.2.2 解析过程
  • 3.2.3启动过程
  • 3.2.4更新过程
  • 3.2.5停止过程
  • 3.2.6卸载过程
  • 3.3启动级别
  • 3.3.1设置启动级别
  • 3.3.2调整活动启动级别
  • 3.4事件监听
  • 3.4.1事件类型
  • 3.4.2事件分派
  • 3.5系统Bundle
  • 3.6Bundle上下文
  • 3.7本章小结
  • 第4章服务层规范与原理
  • 4.1服务
  • 4.2OSGi服务示例
  • 4.3服务属性
  • 4.3.1属性过滤器
  • 4.3.2预定义属性
  • 4.3.3修改属性
  • 4.4服务工厂
  • 4.5服务跟踪器
  • 4.6引用服务
  • 4.7释放和注销服务
  • 4.8服务层事件
  • 4.8.1事件类型
  • 4.8.2事件分派
  • 4.8.3ServiceRegistration对象的提前请求
  • 4.9远程服务
  • 4.9.1准备远程服务环境
  • 4.9.2远程服务示例
  • 4.9.3远程服务属性
  • 4.9.4实现分析
  • 4.10服务钩子
  • 4.10.1EventListenerHook
  • 4.10.2FindHook
  • 4.10.3ListenerHook
  • 4.10.4服务钩子示例
  • 4.11本章小结
  • 第三部分基于Equinox的OSGi应用与实践
  • 第5章Equinox启航
  • 5.1建立Equinox开发环境
  • 5.1.1建立运行环境
  • 5.1.2建立编译及调试环境
  • 5.1.3建立开发环境
  • 5.2Equinox常用组件简介
  • 5.3Equinox启动器
  • 5.4使用代码启动Equinox
  • 5.5本章小结
  • 第6章Equinox基础应用与源码解析
  • 6.1实践项目—Neonat论坛
  • 6.1.1背景与需求
  • 6.1.2模块划分
  • 6.1.3基础资料模块
  • 6.1.4持久化模块
  • 6.1.5用户交互模块
  • 6.1.6运行效果
  • 6.2Equinox源码解析
  • 6.2.1OSGi容器启动
  • 6.2.2Bundle状态恢复
  • 6.2.3解析Bundle依赖关系
  • 6.2.4OSGi类加载器实现
  • 6.3本章小结
  • 第7章服务器端OSGi
  • 7.1OSGi与Web服务器
  • 7.2HTTP Service规范简介
  • 7.2.1服务目标
  • 7.2.2服务接口
  • 7.2.3资源映射规则
  • 7.2.4请求处理过程
  • 7.3实践项目—Neonat论坛的Web模块
  • 7.3.1准备依赖项
  • 7.3.2使用HTTP Service
  • 7.3.3实现Web交互功能
  • 7.3.4运行效果
  • 7.4HTTP Service源码解析
  • 7.4.1BridgeServlet与OSGi容器启动
  • 7.4.2BridgeServlet与HTTP请求委派
  • 7.4.3DelegateServlet实现原理
  • 7.5本章小结
  • 第8章用户管理服务
  • 8.1User Admin服务规范简介
  • 8.1.1服务目标与基础概念
  • 8.1.2验证用户身份
  • 8.1.3验证用户权限
  • 8.1.4User Admin事件
  • 8.2实践项目—Neonat论坛用户管理模块
  • 8.2.1需求与依赖项分析
  • 8.2.2用户与用户组的实现
  • 8.2.3页面权限
  • 8.2.4用户登录与身份验证
  • 8.3User Admin源码解析
  • 8.3.1用户管理实现
  • 8.3.2外部服务使用实践
  • 8.4本章小结
  • 第9章Preferences服务
  • 9.1Preferences服务规范简介
  • 9.1.1服务目标
  • 9.1.2数据结构
  • 9.1.3属性
  • 9.1.4并发处理
  • 9.1.5清理遗留数据
  • 9.2实践项目—Neonat论坛持久化模块
  • 9.2.1编码实现
  • 9.2.2模块热切换
  • 9.3Preferences源码解析
  • 9.3.1数据结构实现
  • 9.3.2属性存取
  • 9.3.3后端存储系统
  • 9.4本章小结
  • 第10章声明式服务
  • 10.1声明式服务规范简介
  • 10.1.1服务目标
  • 10.1.2定义Component
  • 10.1.3Component类型
  • 10.1.4Component生命周期
  • 10.1.5Component属性
  • 10.1.6绑定与发布服务
  • 10.1.7激活与钝化方法
  • 10.1.8Component配置总结
  • 10.2实践项目—使用声明式服务改造Neonat论坛
  • 10.2.1可视化编辑工具
  • 10.2.2DS容器管理
  • 10.3DS容器源码解析
  • 10.3.1容器启动
  • 10.3.2加载Bundle中的Component
  • 10.3.3动态依赖解析
  • 10.4本章小结
  • 第11章Subsystems服务
  • 11.1服务目标
  • 11.2Subsystem格式
  • 11.3Subsystem元数据
  • 11.3.1SUBSYSTEM.MF标识
  • 11.3.2DEPLOYMENT.MF标识
  • 11.4Subsystem类型与共享策略
  • 11.5组织管理Subsystem
  • 11.6Subsystem部署与依赖策略
  • 11.7Subsystem生命周期
  • 11.7.1安装
  • 11.7.2解析
  • 11.7.3启动
  • 11.7.4停止
  • 11.7.5卸载
  • 11.8本章小结
  • 第四部分最佳实践
  • 第12章OSGi最佳实践
  • 12.1Bundle相关名称命名
  • 12.2Bundle划分原则
  • 12.2.1恰如其分地分配Bundle粒度
  • 12.2.2分离OSGi代码
  • 12.2.3分离接口和实现
  • 12.3依赖关系实践
  • 12.3.1依赖分析工具
  • 12.3.2避免Require-Bundle
  • 12.3.3最小化依赖
  • 12.3.4避免循环依赖
  • 12.3.5Equinox x-*依赖
  • 12.4Equinox专有类加载机制
  • 12.4.1Buddy Loading类加载机制
  • 12.4.2ClassLoaderDelegateHook类加载机制
  • 12.5Bundle生命周期实践
  • 12.5.1启动
  • 12.5.2停止
  • 12.6服务工厂的特殊性
  • 12.7处理非OSGi的JAR包
  • 12.8启动顺序实践
  • 12.8.1避免启动顺序依赖
  • 12.8.2Start Level的使用
  • 12.9Fragment Bundle实践
  • 12.10保持OSGi动态性
  • 12.11API Tools实践
  • 12.11.1API Baselines
  • 12.11.2API Tools 注解
  • 12.11.3API Version版本管理
  • 12.11.4二进制文件不兼容
  • 12.12本章小结
  • 第13章Spring Dynamic Modules实践
  • 13.1Spring DM入门
  • 13.1.1Spring DM项目简介
  • 13.1.2安装Spring DM
  • 13.1.3简单的Spring DM示例
  • 13.1.4Bundle和Spring上下文
  • 13.1.5命名空间
  • 13.2Spring DM进阶
  • 13.2.1Spring DM扩展配置
  • 13.2.2Web Extender
  • 13.2.3Spring DM服务约束
  • 13.2.4在Spring上下文中使用BundleContext
  • 13.3Spring DM企业应用
  • 13.3.1规划OSGi组件
  • 13.3.2在Spring DM中使用JPA
  • 13.3.3事务管理
  • 13.3.4OSGi企业规范中的JPA
  • 13.4Spring DM和Blueprint
  • 13.5本章小结
  • 第14章构建可测试的OSGi系统
  • 14.1单元测试的必要性
  • 14.2单元测试的重要性
  • 14.3可测试代码的特征
  • 14.4OSGi单元测试
  • 14.4.1如何组织测试代码
  • 14.4.2如何进行OSGi单元测试
  • 14.5OSGi集成测试
  • 14.5.1Eclipse JUnit Plug-in Test
  • 14.5.2Spring DM Test
  • 14.5.3Pax Exam
  • 14.6本章小结
  • 附录AJava类加载器简介
  • 附录BEquinox控制台命令
  • 附录COSGi子规范目录
  • 附录DOSGi相关项目
  • 附录EEquinox启动配置参数

以上就是本次关于书籍资源的介绍和部分内容,我们还整理了以往更新的其它相关电子书资源内容,可以在下方直接下载,关于相关的资源我们在下方做了关联展示,需要的朋友们也可以参考下。

OSGi相关资源

  • 深入理解OSGi:Equinox原理、应用与最佳实践

    深入理解OSGi:Equinox原理、应用与最佳实践

    本书是原创Java技术图书领域继《深入理解Java虚拟机》后的又一实力之作,也是全球首本基于最新OSGi R5.0规范的著作。理论方面,既全面解读了OSGi规范,深刻揭示了OSGi原理,详细讲解了OSGi服务

    大小:29.1 MBOSGi电子书

  • 《深入理解OSGi:Equinox原理、应用与最佳实践》源代码

    《深入理解OSGi:Equinox原理、应用与最佳实践》源代码

    本书是原创Java技术图书领域继《深入理解Java虚拟机》后的又一实力之作,也是全球首本基于最新OSGi R5.0规范的著作。理论方面,既全面解读了OSGi规范,深刻揭示了OSGi原理,详细讲解了OSGi服务,又系统地介绍了Equinox框架的使用方法,并通过源代码分析了该框架的工作机制;实践方面,不仅包含一些典型的案例,而且还总结了大量的最佳实践,极具实践指导意义。 全书共14章,分四个部分。第一部分(第1章):走近OSGi,主要介绍了什么是OSGi以及为什么

    大小:13.2 MBOSGi配套资源

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

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

    阅读本书,首先你很快就会使用Eclipse bundle工具创建第一个基于OSGi的系统,进而转向复杂的产品开发。接下来,你将掌握一些用于创建具有特殊模块化、高效性和可维护性系统的最佳实践和技

    大小:21.8 MBJava电子书

资源下载

OSGi学习笔记

7小时20分钟前回答

IDEA中osgi的开发应用指南详解

前言 最近一直在接触osgi的开发任务,了解到本部门都在使用IDEA作为开发工具,而只有本小组还在使用Eclipse。正好赶上版本发布之后的空闲期,因此想要将osgi插件的开发从Eclipse转至IDEA。搜了不少资料,但是均不够详细,经过几天的仔细摸索,终于成功移植了自己的项目,在此也分享给大家在IDEA上开发osgi,对于IDEA的使用操作过程。 OSGI简介 OSGI的全称是Open Service Gateway Initiativ……