资源名称:OSGI原理与最佳实践

内容简介:

国内第一本OSGi图书

OSGi国内推广者林昊多年经验的结晶

涵盖OSGi从入门到深入的知识体系

引领OSGi国内研究和普及

本书基于作者多年使用OSGi的经验而编写,涵盖了OSGi从入门到深入的知识体系,从OSGi的简介开题,介绍OSGi的作用及基本概念;其后进入OSGi实战,结合实例讲解如何基于OSGi框架编写模块化、动态化的各种Java应用;最后对OSGi知识进行深入讲解,通过对OSGi规范和实现框架(Equinox、Felix、Spring-DM和Apache CXF)的分析,以及最佳实践的介绍,帮助读者更好地掌握如何使用OSGi。

本书适合希望了解、深入掌握OSGi,以及编写模块化、动态化Java应用的Java架构师和开发人员阅读。

作者简介:

林昊,China OSGi User Group Director,淘宝网平台架构部架构师。自2006年开始在实际的商业产品中使用OSGi,并根据自己的经验先后编写了《OSGi实战》及《OSGi进阶》两篇Opendoc,这两篇Opendoc是到目前为止仅有的完整介绍OSGi的中文资料,为OSGi在中国的推广起到了很大的作用。个人的研究方向主要为Java模块化、动态化系统的构建,以及高性能的大型分布式Java系统的构建。

曾宪杰,2002年毕业于浙江大学计算机系。先后在中科院下属企业、先锋电子(中国)就职。积累了丰富的Windows平台、企业级系统设计经验。现任淘宝网平台架构部架构师,主要研究方向为大规模集群环境下的消息中间件设计、分布式数据层和分布式系统。

资源目录:

第1章 OSGi简介 1

1.1 梦想中“即插即用”的系统 1

1.2 OSGi,拯救Java模块化的规范 1

1.3 厚积薄发的OSGi 2

1.4 OSGi基本概念 3

1.4.1 Bundle 3

1.4.2 Service 4

1.4.3 Service-Oriented Component Model(SOCM) 4

1.4.4 Declarative Service 6

1.4.5 部署 6

第2章 OSGi框架简介 7

2.1 Equinox 7

2.1.1 简介 7

2.1.2 环境搭建 7

2.1.3 HelloWorld 10

2.1.4 开发传统类型的应用 17

2.1.5 从外部启动Equinox 35

2.2 Felix 38

2.2.1 简介 38

2.2.2 环境搭建 38

2.2.3 应用的部署 38

2.2.4 在Eclipse中调试Felix 39

2.3 Spring-DM 43

2.3.1 简介 43

2.3.2 环境搭建 44

2.3.3 HelloWorld 48

2.3.4 Web版HelloWorld 51

第3章 基于Spring-DM实现Petstore 57

3.1 “即插即用”的Petstore 57

3.1.1 Petstore的功能需求 57

3.1.2 OSGi框架的功能和设计思想 58

3.1.3 Petstore的设计 60

3.2 新一代Petstore的实现 70

3.2.1 环境准备 70

3.2.2 Utils模块 72

3.2.3 Bootstrap模块 74

3.2.4 ProductDal模块 79

3.2.5 ShoppingCartDal模块 80

3.2.6 ProductList模块 81

3.2.7 ShoppingCart模块 85

3.2.8 ProductManagement模块 85

3.3 部署 85

3.4 Petstore的扩展 85

第4章 基于Apache CXF实现分布式Petstore 87

4.1 分布式OSGi 87

4.2 分布式Petstore的设计 87

4.3 Apache CXF简介 90

4.3.1 CXF-DOSGi HelloWorld 90

4.3.2 集成Spring-DM的CXF-DOSGi HelloWorld 95

4.4 分布式Petstore的实现 101

4.5 部署 105

第5章 构建OSGi Bundle Repository 107

5.1 OSGi Bundle Repository的使用 107

5.2 Apache Felix OBR的使用 110

5.2.1 命令行方式的用法 110

5.2.2 代码方式使用OBR 113

5.3 构建OSGi Bundle Repository 117

第6章 OSGi规范解读 119

6.1 OSGi规范发展历程 119

6.2 Core规范解读.. 120

6.2.1 Module Layer 120

6.2.2 LifeCycle Layer 129

6.2.3 Service Layer 132

6.3 OSGi SERVICE规范解读 133

6.3.1 Log Service 134

6.3.2 Http Service 137

6.3.3 Configuration Admin Service 139

6.3.4 Declarative Services 142

6.3.5 Event Admin Service 145

第7章 Equinox实现分析 149

7.1 模块化 149

7.1.1 加载并解析jar为Bundle 149

7.1.2 Bundle类共享及类加载机制 152

7.2 动态化 159

第8章 Felix实现分析 173

8.1 模块化 173

8.1.1 加载并解析jar为Bundle 173

8.1.2 Bundle类共享及类加载机制 174

8.2 动态化 177

第9章 Spring-DM实现分析 189

9.1 Spring Dynamic Module概述 189

9.2 Bean发布为OSGi服务实现分析 190

9.2.1 Extender Bundle启动 190

9.2.2 Bundle中的NamespaceHandler处理 192

9.2.3 ExtenderConfiguration处理 194

9.2.4 ApplicationContext处理 200

9.3 将OSGi Service引入为Bean 209

9.3.1 OSGi:service的处理 209

9.3.2 OSGi:set和OSGi:list的处理 211

9.4 将Bundle部署到Web服务器 214

9.4.1 WebExtender的启动 214

9.4.2 部署Bundle到Web服务器 215

第10章 CXF实现分析 217

10.1 Apache CXF-DOSGi实现分析 217

10.2 SingleBundle发行包 217

10.2.1 SingleBundle发行包的启动 218

10.3 把Bundle暴露为远程服务 221

10.3.1 DSW Bundle启动 221

10.3.2 RegisterDistributionProviderService 222

10.3.3 创建Hook对象及注册Listener 224

10.3.4 处理当前框架中的Bundle 225

10.3.5 发布远程服务 225

10.4 使用远程服务 231

10.4.1 Discovery Bundle启动 231

10.4.2 处理当前框架中的Bundle 232

10.4.3 注册远程服务的本地存根 234

第11章 先睹为快:OSGi R 4.2草稿版 237

11.1 Core 238

11.1.1 Module Layer 238

11.1.2 Lifecycle Layer 238

11.1.3 Service Layer 242

11.1.4 Framework API 243

11.2 Compendium 243

11.2.1 Declarative Services Specification 243

11.2.2 Deployment Admin Specification 244

11.2.3 Monitor Admin Service Specification 247

第12章 OSGi展望 251

12.1 Java企业应用领域 251

12.2 Java标准领域 252

12.3 OSGi R5 253

索引 255

资源截图:

OSGI原理与最佳实践