注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)JAVA及其相關(guān)深入理解OSGi:Equinox原理、應(yīng)用與最佳實(shí)踐

深入理解OSGi:Equinox原理、應(yīng)用與最佳實(shí)踐

深入理解OSGi:Equinox原理、應(yīng)用與最佳實(shí)踐

定 價(jià):¥79.00

作 者: 周志明;謝小明
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: Java Java Script J2EE 程序設(shè)計(jì) 計(jì)算機(jī)/網(wǎng)絡(luò)

ISBN: 9787111408871 出版時(shí)間: 2013-02-01 包裝: 平裝
開本: 16開 頁數(shù): 432 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  《深入理解OSGi:Equinox原理、應(yīng)用與最佳實(shí)踐》是原創(chuàng)Java技術(shù)圖書領(lǐng)域繼《深入理解Java虛擬機(jī)》后的又一實(shí)力之作,也是全球首本基于最新OSGi R5.0規(guī)范的著作。理論方面,既全面解讀了OSGi規(guī)范,深刻揭示了OSGi原理,詳細(xì)講解了OSGi服務(wù),又系統(tǒng)地介紹了Equinox框架的使用方法,并通過源碼分析了該框架的工作機(jī)制;實(shí)踐方面,不僅包含一些典型的案例,還總結(jié)了大量的最佳實(shí)踐,極具實(shí)踐指導(dǎo)意義?!渡钊肜斫釵SGi:Equinox原理、應(yīng)用與最佳實(shí)踐》共14章,分4個(gè)部分。第一部分(第1章):走近OSGi,主要介紹了什么是OSGi以及為什么要使用OSGi。第二部分(第2~4章):OSGi規(guī)范與原理,對(duì)最新的OSGi R5.0中的核心規(guī)范進(jìn)行了全面的解讀,首先講解了OSGi模塊的建立、描述、依賴關(guān)系的處理,然后講解了Bundle的啟動(dòng)原理和調(diào)度管理,最后講解了與本地及遠(yuǎn)程服務(wù)相關(guān)的內(nèi)容。第三部分:OSGi服務(wù)與Equinox應(yīng)用實(shí)踐(第5~11章),不僅詳細(xì)講解了OSGi服務(wù)綱要規(guī)范和企業(yè)級(jí)規(guī)范中最常用的幾個(gè)子規(guī)范和服務(wù)的技術(shù)細(xì)節(jié),還通過一個(gè)基于Equinox的BBS案例演示了Equinox的使用方法,最重要的是還通過源碼分析了Equinox關(guān)鍵功能的實(shí)現(xiàn)機(jī)制和原理。第四部分:最佳實(shí)踐(第12~14章),總結(jié)了大量關(guān)于OSGi的最佳實(shí)踐,包括從Bundle如何命名、模塊劃分、依賴關(guān)系處理到保持OSGi動(dòng)態(tài)性、管理程序啟動(dòng)順序、使用API基線管理模塊版本等各方面的實(shí)踐技巧,此外還介紹了Spring DM的原理以及如何在OSGi環(huán)節(jié)中進(jìn)行程序測(cè)試。

作者簡(jiǎn)介

  周志明,資深Java技術(shù)專家,對(duì)JavaEE企業(yè)級(jí)應(yīng)用開發(fā)、OSGi、Java虛擬機(jī)和工作流等都有深入的研究,并在大量的實(shí)踐中積累了豐富的經(jīng)驗(yàn)。尤其精通Java虛擬機(jī),撰寫了大量與JVM相關(guān)的經(jīng)典文章,被各大技術(shù)社區(qū)爭(zhēng)相轉(zhuǎn)載,是ITeye等技術(shù)社區(qū)公認(rèn)的Java虛擬機(jī)方面的領(lǐng)袖人物之一,著有經(jīng)典著作《深入理解Java虛擬機(jī):JVM高級(jí)特性與最佳實(shí)踐》(2年內(nèi)重印十?dāng)?shù)次,獲得業(yè)界多個(gè)圖書獎(jiǎng)項(xiàng)),廣獲讀者好評(píng)。現(xiàn)任遠(yuǎn)光軟件股份有限公司平臺(tái)開發(fā)部經(jīng)理兼平臺(tái)架構(gòu)師,先后參與過國家電網(wǎng)、南方電網(wǎng)等多個(gè)國家級(jí)大型ERP項(xiàng)目的平臺(tái)架構(gòu)工作,對(duì)軟件系統(tǒng)架構(gòu)也有深刻的認(rèn)識(shí)和體會(huì)。謝小明,資深Java技術(shù)專家,具有豐富的JavaEE企業(yè)級(jí)應(yīng)用開發(fā)開發(fā)經(jīng)驗(yàn),對(duì)OSGi、Spring、Hibernate等技術(shù)和框架有比較深入的研究和認(rèn)識(shí)。喜歡鉆研運(yùn)行與JVM之上的其他語言,如Scala和Clojure等。現(xiàn)任遠(yuǎn)光軟件股份有限公司平臺(tái)開發(fā)部平臺(tái)架構(gòu)師,先后參加與過國家電網(wǎng)、南方電網(wǎng)等多個(gè)國家級(jí)大型ERP項(xiàng)目的平臺(tái)架構(gòu)工作。

圖書目錄

前言
第一部分 走近OSGi
第1章 Java模塊化之路 / 2
1.1 什么是OSGi / 2
1.1.1 OSGi規(guī)范的演進(jìn) / 4
1.1.2 Java模塊化規(guī)范之爭(zhēng) / 7
1.2 為什么使用OSGi / 11
1.2.1 OSGi能讓軟件開發(fā)變得更容易嗎 / 12
1.2.2 OSGi能讓系統(tǒng)變得更穩(wěn)定嗎 / 13
1.2.3 OSGi能讓系統(tǒng)運(yùn)行得更快嗎 / 14
1.2.4 OSGi能支撐企業(yè)級(jí)開發(fā)嗎 / 15
1.3 本章小結(jié) / 16
第二部分 OSGi規(guī)范與原理
第2章 模塊層規(guī)范與原理 / 18
2.1 OSGi規(guī)范概要 / 18
2.2 Bundle / 20
2.3 描述元數(shù)據(jù) / 21
2.3.1 預(yù)定義標(biāo)記 / 21
2.3.2 使用可視化工具 / 27
2.4 Bundle的組織與依賴 / 31
2.4.1 導(dǎo)出和導(dǎo)入Package / 31
2.4.2 約束規(guī)則與示例 / 38
2.4.3 校驗(yàn)Bundle有效性 / 44
2.5 OSGi的類加載架構(gòu) / 45
2.5.1 父類加載器 / 46
2.5.2 Bundle類加載器 / 47
2.5.3 其他類加載器 / 49
2.5.4 類加載順序 / 50
2.6 定義執(zhí)行環(huán)境 / 51
2.7 本地化 / 54
2.8 本章小結(jié) / 55
第3章 生命周期層規(guī)范與原理 / 56
3.1 Bundle標(biāo)識(shí) / 56
3.2 Bundle狀態(tài)及轉(zhuǎn)換 / 57
3.2.1 安裝過程 / 59
3.2.2  解析過程 / 61
3.2.3 啟動(dòng)過程 / 62
3.2.4 更新過程 / 63
3.2.5 停止過程 / 64
3.2.6 卸載過程 / 65
3.3 啟動(dòng)級(jí)別 / 65
3.3.1 設(shè)置啟動(dòng)級(jí)別 / 66
3.3.2 調(diào)整活動(dòng)啟動(dòng)級(jí)別 / 67
3.4 事件監(jiān)聽 / 68
3.4.1 事件類型 / 69
3.4.2 事件分派 / 70
3.5 系統(tǒng)Bundle / 71
3.6 Bundle上下文 / 72
3.7 本章小結(jié) / 73
第4章 服務(wù)層規(guī)范與原理 / 74
4.1 服務(wù) / 74
4.2 OSGi服務(wù)示例 / 75
4.3 服務(wù)屬性 / 80
4.3.1 屬性過濾器 / 82
4.3.2 預(yù)定義屬性 / 83
4.3.3 修改屬性 / 84
4.4 服務(wù)工廠 / 85
4.5 服務(wù)跟蹤器 / 86
4.6 引用服務(wù) / 89
4.7 釋放和注銷服務(wù) / 91
4.8 服務(wù)層事件 / 91
4.8.1 事件類型 / 92
4.8.2 事件分派 / 92
4.8.3 ServiceRegistration對(duì)象的提前請(qǐng)求 / 93
4.9 遠(yuǎn)程服務(wù) / 94
4.9.1 準(zhǔn)備遠(yuǎn)程服務(wù)環(huán)境 / 94
4.9.2 遠(yuǎn)程服務(wù)示例 / 96
4.9.3 遠(yuǎn)程服務(wù)屬性 / 99
4.9.4 實(shí)現(xiàn)分析 / 100
4.10 服務(wù)鉤子 / 101
4.10.1 EventListenerHook / 101
4.10.2 FindHook / 101
4.10.3 ListenerHook / 102
4.10.4 服務(wù)鉤子示例 / 102
4.11 本章小結(jié) / 105
第三部分 基于Equinox的OSGi應(yīng)用與實(shí)踐
第5章 Equinox啟航 / 108
5.1 建立Equinox開發(fā)環(huán)境 / 109
5.1.1 建立運(yùn)行環(huán)境 / 109
5.1.2 建立編譯及調(diào)試環(huán)境 / 110
5.1.3 建立開發(fā)環(huán)境 / 112
5.2 Equinox常用組件簡(jiǎn)介 / 117
5.3 Equinox啟動(dòng)器 / 119
5.4 使用代碼啟動(dòng)Equinox / 124
5.5 本章小結(jié) / 125
第6章 Equinox基礎(chǔ)應(yīng)用與源碼解析 / 126
6.1 實(shí)踐項(xiàng)目—Neonat論壇 / 126
6.1.1 背景與需求 / 126
6.1.2 模塊劃分 / 127
6.1.3 基礎(chǔ)資料模塊 / 129
6.1.4 持久化模塊 / 133
6.1.5 用戶交互模塊 / 135
6.1.6 運(yùn)行效果 / 140
6.2 Equinox源碼解析 / 142
6.2.1 OSGi容器啟動(dòng) / 142
6.2.2 Bundle狀態(tài)恢復(fù) / 147
6.2.3 解析Bundle依賴關(guān)系 / 153
6.2.4 OSGi類加載器實(shí)現(xiàn) / 157
6.3 本章小結(jié) / 162
第7章 服務(wù)器端OSGi / 163
7.1 OSGi與Web服務(wù)器 / 163
7.2 HTTP Service規(guī)范簡(jiǎn)介 / 166
7.2.1 服務(wù)目標(biāo) / 166
7.2.2 服務(wù)接口 / 168
7.2.3 資源映射規(guī)則 / 169
7.2.4 請(qǐng)求處理過程 / 171
7.3 實(shí)踐項(xiàng)目—Neonat論壇的Web模塊 / 171
7.3.1 準(zhǔn)備依賴項(xiàng) / 172
7.3.2 使用HTTP Service / 174
7.3.3 實(shí)現(xiàn)Web交互功能 / 176
7.3.4 運(yùn)行效果 / 178
7.4 HTTP Service源碼解析 / 180
7.4.1 BridgeServlet與OSGi容器啟動(dòng) / 180
7.4.2 BridgeServlet與HTTP請(qǐng)求委派 / 186
7.4.3 DelegateServlet實(shí)現(xiàn)原理 / 188
7.5 本章小結(jié) / 192
第8章 用戶管理服務(wù) / 193
8.1 User Admin服務(wù)規(guī)范簡(jiǎn)介 / 193
8.1.1 服務(wù)目標(biāo)與基礎(chǔ)概念 / 193
8.1.2 驗(yàn)證用戶身份 / 195
8.1.3 驗(yàn)證用戶權(quán)限 / 196
8.1.4 User Admin事件 / 197
8.2 實(shí)踐項(xiàng)目—Neonat論壇用戶管理模塊 / 198
8.2.1 需求與依賴項(xiàng)分析 / 198
8.2.2 用戶與用戶組的實(shí)現(xiàn) / 200
8.2.3 頁面權(quán)限 / 201
8.2.4 用戶登錄與身份驗(yàn)證 / 202
8.3 User Admin源碼解析 / 206
8.3.1 用戶管理實(shí)現(xiàn) / 206
8.3.2 外部服務(wù)使用實(shí)踐 / 208
8.4 本章小結(jié) / 211
第9章 Preferences服務(wù) / 212
9.1 Preferences服務(wù)規(guī)范簡(jiǎn)介 / 212
9.1.1 服務(wù)目標(biāo) / 212
9.1.2 數(shù)據(jù)結(jié)構(gòu) / 214
9.1.3 屬性 / 215
9.1.4 并發(fā)處理 / 216
9.1.5 清理遺留數(shù)據(jù) / 217
9.2 實(shí)踐項(xiàng)目—Neonat論壇持久化模塊 / 217
9.2.1 編碼實(shí)現(xiàn) / 217
9.2.2 模塊熱切換 / 220
9.3 Preferences源碼解析 / 222
9.3.1 數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn) / 224
9.3.2 屬性存取 / 228
9.3.3 后端存儲(chǔ)系統(tǒng) / 229
9.4 本章小結(jié) / 234
第10章 聲明式服務(wù) / 235
10.1 聲明式服務(wù)規(guī)范簡(jiǎn)介 / 236
10.1.1 服務(wù)目標(biāo) / 236
10.1.2 定義Component / 236
10.1.3 Component類型 / 237
10.1.4 Component生命周期 / 240
10.1.5 Component屬性 / 245
10.1.6 綁定與發(fā)布服務(wù) / 245
10.1.7 激活與鈍化方法 / 252
10.1.8 Component配置總結(jié) / 254
10.2 實(shí)踐項(xiàng)目—使用聲明式服務(wù)改造Neonat論壇 / 259
10.2.1 可視化編輯工具 / 259
10.2.2 DS容器管理 / 263
10.3 DS容器源碼解析 / 264
10.3.1 容器啟動(dòng) / 264
10.3.2 加載Bundle中的Component / 267
10.3.3 動(dòng)態(tài)依賴解析 / 272
10.4 本章小結(jié) / 274
第11章 Subsystems服務(wù) / 276
11.1 服務(wù)目標(biāo) / 276
11.2 Subsystem格式 / 277
11.3 Subsystem元數(shù)據(jù) / 278
11.3.1 SUBSYSTEM.MF標(biāo)識(shí) / 278
11.3.2 DEPLOYMENT.MF標(biāo)識(shí) / 281
11.4 Subsystem類型與共享策略 / 283
11.5 組織管理Subsystem / 285
11.6 Subsystem部署與依賴策略 / 289
11.7 Subsystem生命周期 / 291
11.7.1 安裝 / 292
11.7.2 解析 / 293
11.7.3 啟動(dòng) / 294
11.7.4 停止 / 294
11.7.5 卸載 / 295
11.8 本章小結(jié) / 295
第四部分 最佳實(shí)踐
第12章 OSGi最佳實(shí)踐 / 298
12.1 Bundle相關(guān)名稱命名 / 298
12.2 Bundle劃分原則 / 300
12.2.1 恰如其分地分配Bundle粒度 / 300
12.2.2 分離OSGi代碼 / 300
12.2.3 分離接口和實(shí)現(xiàn) / 300
12.3 依賴關(guān)系實(shí)踐 / 301
12.3.1 依賴分析工具 / 301
12.3.2 避免Require-Bundle / 303
12.3.3 最小化依賴 / 304
12.3.4 避免循環(huán)依賴 / 304
12.3.5 Equinox x-*依賴 / 305
12.4 Equinox專有類加載機(jī)制 / 306
12.4.1 Buddy Loading類加載機(jī)制 / 306
12.4.2 ClassLoaderDelegateHook類加載機(jī)制 / 307
12.5 Bundle生命周期實(shí)踐 / 309
12.5.1 啟動(dòng) / 309
12.5.2 停止 / 309
12.6 服務(wù)工廠的特殊性 / 309
12.7 處理非OSGi的JAR包 / 311
12.8 啟動(dòng)順序?qū)嵺` / 313
12.8.1 避免啟動(dòng)順序依賴 / 313
12.8.2 Start Level的使用 / 313
12.9 Fragment Bundle實(shí)踐 / 314
12.10 保持OSGi動(dòng)態(tài)性 / 315
12.11 API Tools實(shí)踐 / 317
12.11.1 API Baselines / 317
12.11.2 API Tools 注解 / 319
12.11.3 API Version版本管理 / 322
12.11.4 二進(jìn)制文件不兼容 / 322
12.12 本章小結(jié) / 322
第13章 Spring Dynamic Modules實(shí)踐 / 324
13.1 Spring DM入門 / 324
13.1.1 Spring DM項(xiàng)目簡(jiǎn)介 / 324
13.1.2 安裝Spring DM / 325
13.1.3 簡(jiǎn)單的Spring DM示例 / 326
13.1.4 Bundle和Spring上下文 / 331
13.1.5 <osgi:*>命名空間 / 333
13.2 Spring DM進(jìn)階 / 337
13.2.1 Spring DM擴(kuò)展配置 / 337
13.2.2 Web Extender / 344
13.2.3 Spring DM服務(wù)約束 / 345
13.2.4 在Spring上下文中使用BundleContext / 346
13.3 Spring DM企業(yè)應(yīng)用 / 346
13.3.1 規(guī)劃OSGi組件 / 347
13.3.2 在Spring DM中使用JPA / 348
13.3.3 事務(wù)管理 / 353
13.3.4 OSGi企業(yè)規(guī)范中的JPA / 358
13.4 Spring DM和Blueprint / 359
13.5 本章小結(jié) / 360
第14章 構(gòu)建可測(cè)試的OSGi系統(tǒng) / 361
14.1 單元測(cè)試的必要性 / 362
14.2 單元測(cè)試的重要性 / 363
14.3 可測(cè)試代碼的特征 / 364
14.4 OSGi單元測(cè)試 / 365
14.4.1 如何組織測(cè)試代碼 / 366
14.4.2 如何進(jìn)行OSGi單元測(cè)試 / 367
14.5 OSGi集成測(cè)試 / 373
14.5.1 Eclipse JUnit Plug-in Test / 374
14.5.2 Spring DM Test / 379
14.5.3 Pax Exam / 383
14.6 本章小結(jié) / 384
附錄A Java類加載器簡(jiǎn)介 / 385
附錄B Equinox控制臺(tái)命令 / 392
附錄C OSGi子規(guī)范目錄 / 397
附錄D OSGi相關(guān)項(xiàng)目 / 399
附錄E Equinox啟動(dòng)配置參數(shù) / 401

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)