万本电子书0元读

万本电子书0元读

顶部广告

深入理解OSGi:Equinox原理、应用与最佳实践电子书 租阅

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

售       价:¥

纸质售价:¥54.50购买纸书

211人正在读 | 0人评论 6.2

作       者:周志明

出  版  社:机械工业出版社

出版时间:2013-02-01

字       数:55.7万

所属分类: 科技 > 计算机/网络 > 程序设计

温馨提示:此类商品不支持退换货,不支持下载打印

为你推荐

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

前言

为什么写这本书

本书面向的读者

如何阅读本书

勘误和支持

第一部分 走近OSGi

第1章 Java模块化之路

1.1 什么是OSGi

1.1.1 OSGi规范的演进

1.1.2 Java模块化规范之争

1.2 为什么使用OSGi

1.2.1 OSGi能让软件开发变得更容易吗

1.2.2 OSGi能让系统变得更稳定吗

1.2.3 OSGi能让系统运行得更快吗

1.2.4 OSGi能支撑企业级开发吗

1.3 本章小结

第二部分 OSGi规范与原理

第2章 模块层规范与原理

2.1 OSGi规范概要

2.2 Bundle

2.3 描述元数据

2.3.1 预定义标记

2.3.2 使用可视化工具

2.4 Bundle的组织与依赖

2.4.1 导出和导入Package

2.4.2 约束规则与示例

2.4.3 校验Bundle有效性

2.5 OSGi的类加载架构

2.5.1 父类加载器

2.5.2 Bundle类加载器

2.5.3 其他类加载器

2.5.4 类加载顺序

2.6 定义执行环境

2.7 本地化

2.8 本章小结

第3章 生命周期层规范与原理

3.1 Bundle标识

3.2 Bundle状态及转换

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.6 Bundle上下文

3.7 本章小结

第4章 服务层规范与原理

4.1 服务

4.2 OSGi服务示例

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.3 ServiceRegistration对象的提前请求

4.9 远程服务

4.9.1 准备远程服务环境

4.9.2 远程服务示例

4.9.3 远程服务属性

4.9.4 实现分析

4.10 服务钩子

4.10.1 EventListenerHook

4.10.2 FindHook

4.10.3 ListenerHook

4.10.4 服务钩子示例

4.11 本章小结

第三部分 基于Equinox的OSGi应用与实践

第5章 Equinox启航

5.1 建立Equinox开发环境

5.1.1 建立运行环境

5.1.2 建立编译及调试环境

5.1.3 建立开发环境

5.2 Equinox常用组件简介

5.3 Equinox启动器

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.2 Equinox源码解析

6.2.1 OSGi容器启动

6.2.2 Bundle状态恢复

6.2.3 解析Bundle依赖关系

6.2.4 OSGi类加载器实现

6.3 本章小结

第7章 服务器端OSGi

7.1 OSGi与Web服务器

7.2 HTTP 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.4 HTTP Service源码解析

7.4.1 BridgeServlet与OSGi容器启动

7.4.2 BridgeServlet与HTTP请求委派

7.4.3 DelegateServlet实现原理

7.5 本章小结

第8章 用户管理服务

8.1 User Admin服务规范简介

8.1.1 服务目标与基础概念

8.1.2 验证用户身份

8.1.3 验证用户权限

8.1.4 User Admin事件

8.2 实践项目——Neonat论坛用户管理模块

8.2.1 需求与依赖项分析

8.2.2 用户与用户组的实现

8.2.3 页面权限

8.2.4 用户登录与身份验证

8.3 User Admin源码解析

8.3.1 用户管理实现

8.3.2 外部服务使用实践

8.4 本章小结

第9章 Preferences服务

9.1 Preferences服务规范简介

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.3 Preferences源码解析

9.3.1 数据结构实现

9.3.2 属性存取

9.3.3 后端存储系统

9.4 本章小结

第10章 声明式服务

10.1 声明式服务规范简介

10.1.1 服务目标

10.1.2 定义Component

10.1.3 Component类型

10.1.4 Component生命周期

10.1.5 Component属性

10.1.6 绑定与发布服务

10.1.7 激活与钝化方法

10.1.8 Component配置总结

10.2 实践项目——使用声明式服务改造Neonat论坛

10.2.1 可视化编辑工具

10.2.2 DS容器管理

10.3 DS容器源码解析

10.3.1 容器启动

10.3.2 加载Bundle中的Component

10.3.3 动态依赖解析

10.4 本章小结

第11章 Subsystems服务

11.1 服务目标

11.2 Subsystem格式

11.3 Subsystem元数据

11.3.1 SUBSYSTEM.MF标识

11.3.2 DEPLOYMENT.MF标识

11.4 Subsystem类型与共享策略

11.5 组织管理Subsystem

11.6 Subsystem部署与依赖策略

11.7 Subsystem生命周期

11.7.1 安装

11.7.2 解析

11.7.3 启动

11.7.4 停止

11.7.5 卸载

11.8 本章小结

第四部分 最佳实践

第12章 OSGi最佳实践

12.1 Bundle相关名称命名

12.2 Bundle划分原则

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.5 Equinox x-*依赖

12.4 Equinox专有类加载机制

12.4.1 Buddy Loading类加载机制

12.4.2 ClassLoaderDelegateHook类加载机制

12.5 Bundle生命周期实践

12.5.1 启动

12.5.2 停止

12.6 服务工厂的特殊性

12.7 处理非OSGi的JAR包

12.8 启动顺序实践

12.8.1 避免启动顺序依赖

12.8.2 Start Level的使用

12.9 Fragment Bundle实践

12.10 保持OSGi动态性

12.11 API Tools实践

12.11.1 API Baselines

12.11.2 API Tools注解

12.11.3 API Version版本管理

12.11.4 二进制文件不兼容

12.12 本章小结

第13章 Spring Dynamic Modules实践

13.1 Spring DM入门

13.1.1 Spring DM项目简介

13.1.2 安装Spring DM

13.1.3 简单的Spring DM示例

13.1.4 Bundle和Spring上下文

13.1.5 <osgi:*>命名空间

13.2 Spring DM进阶

13.2.1 Spring DM扩展配置

13.2.2 Web Extender

13.2.3 Spring DM服务约束

13.2.4 在Spring上下文中使用BundleContext

13.3 Spring DM企业应用

13.3.1 规划OSGi组件

13.3.2 在Spring DM中使用JPA

13.3.3 事务管理

13.3.4 OSGi企业规范中的JPA

13.4 Spring DM和Blueprint

13.5 本章小结

第14章 构建可测试的OSGi系统

14.1 单元测试的必要性

14.2 单元测试的重要性

14.3 可测试代码的特征

14.4 OSGi单元测试

14.4.1 如何组织测试代码

14.4.2 如何进行OSGi单元测试

14.5 OSGi集成测试

14.5.1 Eclipse JUnit Plug-in Test

14.5.2 Spring DM Test

14.5.3 Pax Exam

14.6 本章小结

附录A Java类加载器简介[1]

A.1 类与类加载器

A.2 双亲委派模型

A.3 破坏双亲委派模型

附录B Equinox控制台命令

B.1 OSGi框架控制命令

B.2 Bundle控制命令

B.3 Bundle信息查询命令

B.4 外部命令

B.5 启动级别控制命令

B.6 性能监控命令

B.7 Eclipse运行时命令

B.8 声明式服务命令

附录C OSGi子规范目录

附录D OSGi相关项目

D.1 OSGi实现框架

D.2 OSGi应用服务器

D.3 开发环境

附录E Equinox启动配置参数[1]

E.1 命令行参数

E.2 系统属性

累计评论(1条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部