精通EJB 3.0

《精通EJB 3.0》是2006 年12月電子工業出版社出版的圖書,作者是(美)Rima Patel Sriganesh, Gerald Brose, Micah Silverman

內容簡介

本書是關於ejb 3.0的專業技術教程,專注於ejb的概念、方法、開發過程的介紹。同時,本書還研究許多高端的ejb知識,使得開發者能夠真正理解和掌握ejb,實踐出真知。通過閱讀此書,開發者將精通ejb。.

全書共分為4個部分:第一部分對ejb編程基礎進行介紹,概要性地對ejb進行了闡述;第二部分重點關注ejb編程的具體內容和過程,向開發者展示了如何使用會話bean、將會話bean發布為web服務、訊息驅動bean;第三部分專注於高級ejb專題;第四部分是附錄,收集了ejb組件技術相關的其他內容。..

本書適合作為java程式設計師、網站開發人員和系統分析員的參考書

作者

羅時飛,獨立Java EE顧問。西安交通大學碩士。從事JavaEE開發、架構工作7年多,曾擔任大型軟體公司產品開發經理,實踐經驗豐富。對Java EE平台、敏捷方法及開源技術有深入研究,出版圖書多本。現在,他依託網站專職從事企業級Java的推廣工作。.其近期代表作品有:《精通EJB3.0》(第4版,譯) 《精通Spring》(簡、繁體版,第1版,編著)。

目錄

第1篇 總述.

第1章 概述 3

1.1 ejb前奏 4

1.1.1 軟體組件 4

1.1.2 呼喚組件化 4

1.2 分散式套用的中間件需求 5

1.2.1 套用伺服器級軟體 7

1.2.2 標準化組件框架 7

1.3 企業bean技術 8

1.3.1 鍾情java 9

1.3.2 業務層組件—ejb 10

1.3.3 分散式計算:ejb的支撐 11

1.3.4 ejb中間件服務 13

1.3.5 ejb套用生命周期中的角色 14

1.3.6 ejb生態圈 17

1.4 面向服務架構及ejb 19

1.5 終極無間—可重用服務 20

1.6 java ee 5.0 22

1.7 小結 26

第2章 傳統的ejb 27

.2.1 傳統ejb組件的具體構成 27

2.2 開發與部署傳統ejb組件 29

2.2.1 遠程接口 31

2.2.2 本地接口 31

2.2.3 home接口 32

2.2.4 本地home接口 33

2.2.5 bean類 34

2.2.6 部署描述符 35

2.2.7 部署企業bean組件 35

2.2.8 helloworldejb客戶 36

2.3 剖析ejb 2.x 38

2.3.1 複雜性—ejb 2.x的突出問題 38

2.3.2 如何改進ejb 2.x 41

2.4 小結 42

第3章 新一代ejb 43

3.1 介紹ejb 3.0 43

3.1.1 ejb容器 44

3.1.2 ejb組件類型 46

3.1.3 ejb使用的rmi-iiop 48

3.1.4 ejb與位置透明性 49

3.1.5 ejb環境 50

3.1.6 剖析ejb 3.0 51

3.1.7 home與對象接口的作用 54

3.2 簡化的ejb 3.0 api 55

3.2.1 消除home與對象接口 55

3.2.2 消除組件接口 55

3.2.3 使用注釋 56

3.2.4 簡化對環境的訪問 59

3.3 打包並部署ejb 3.0組件 60

3.4 ejb 3.0組件實例 61

3.4.1 業務接口 62

3.4.2 bean類 62

3.4.3 部署描述符 63

3.4.4 ejb客戶 63

3.5 術語集合 64

3.6 小結 65

第2篇 ejb組件和實體

第4章 會話bean介紹 69

4.1 會話bean的生命周期 69

4.2 會話bean的子類型 70

4.2.1 無狀態會話bean 70

4.2.2 有狀態會話bean 71

4.3 有狀態會話bean的不同點 72

4.3.1 實現實例池功能 72

4.3.2 維護會話狀態的規則 73

4.3.3 激活和掛起回調 74

4.3.4 回調方法小結 77

4.3.5 一個簡單的有狀態會話bean組件 77

4.3.6 會話bean的生命周期流程圖 86

4.4 小結 89

第5章 將會話bean發布為web服務 91

5.1 web服務概念 91

5.1.1 web服務標準 93

5.1.2 xml文檔和平台無關性 96

5.2 實現web服務 97

5.2.1 wsdl和xml/java映射 99

5.2.2 打包和部署暴露web服務的會話bean 100

5.3 實現web服務客戶 101

5.4 小結 102

第6章 java持久化api 103

6.1 對象關係映射 104

6.2 何為實體 106

6.2.1 實體與會話bean 107

6.2.2 持久化提供者 107

6.2.3 實體類 108

6.2.4 訪問持久化上下文中的實體 110

6.2.5 打包和部署實體類 114

6.3 entitymanager api 115

6.3.1 實體的生命周期 116

6.3.2 資料庫同步 119

6.4 小結 125

第7章 訊息驅動bean介紹 127

7.1 使用訊息的動機 127

7.2 java訊息服務 129

7.2.1 訊息域 130

7.2.2 jms api 131

7.3 集成jms和ejb 134

7.4 開發訊息驅動bean 138

7.4.1 語義 138

7.4.2 一個簡單實例 140

7.5 高級概念 145

7.5.1 事務 145

7.5.2 安全性 145

7.5.3 負載均衡 145

7.5.4 群集中訊息的重複消費 146

7.6 基於jms的訊息驅動bean陷阱 147

7.6.1 訊息順序 148

7.6.2 錯過調用@predestroy 148

7.6.3 壞訊息 148

7.6.4 如何將結果返回給訊息生產者 151

7.6.5 異步方法調用 154

7.7 小結 155

第8章 擴充ejb組件的功能 157

8.1 從ejb組件調用其他ejb組件 157

8.2 annotation 159

8.2.1 公用注釋 159

8.2.2 業務接口注釋 160

8.2.3 用於有狀態會話bean的注釋 161

8.2.4 依賴注入 164

8.2.5 攔截器 167

8.3 小結 172

第3篇 高級ejb概念

第9章 高級持久化概念 175

9.1 繼承 176

9.1.1 各類繼承結構使用單個表 179

9.1.2 各子類使用單獨的表 184

9.1.3 各具體實體類使用單個表 186

9.1.4 其他繼承模式 186

9.2 多態 188

9.3 關係 190

9.3.1 關係類型 190

9.3.2 1:1關係 191

9.3.3 1:n關係 196

9.3.4 m:n關係 204

9.4 改進的ejb-ql 210

9.4.1 批量更新和刪除 211

9.4.2 連線操作 214

9.4.3 group by和having從句 214

9.4.4 投影 215

9.4.5 高級查詢操作 216

9.4.6 在select從句中構造對象 217

9.5 小結 218

第10章 事務 219

10.1 使用事務的動機 219

10.1.1 原子操作 220

10.1.2 網路或機器故障 221

10.1.3 多用戶共享數據 221

10.2 事務帶來的優勢 222

10.3 事務模型 224

10.3.1 平面事務 225

10.3.2 嵌入式事務 226

10.3.3 其他事務模型 227

10.4 分散式事務 227

10.4.1 持久性和2pc協定 228

10.4.2 事務通信協定和事務上下文 229

10.5 java事務服務和java事務api 230

10.5.1 ots和java事務服務 230

10.5.2 java事務api 230

10.5.3 jts和跨套用伺服器的分散式事務互操作 231

10.6 ejb事務 232

10.6.1 底層事務系統抽象 232

10.6.2 容器管理、bean管理及客戶控制的事務 232

10.6.3 選擇事務風格 235

10.7 容器管理事務 236

10.7.1 ejb事務屬性的取值 236

10.7.2 容器管理事務實例 239

10.7.3 套用事務屬性到各種ejb組件中.. 241

10.8 bean管理事務 243

10.8.1 javax.transaction.usertransaction接口 243

10.8.2 bean管理事務實例 245

10.9 客戶控制的事務 246

10.10 事務隔離 247

10.10.1 並發控制的必要性 247

10.10.2 隔離級別 248

10.10.3 髒讀問題 249

10.10.4 不可重複讀和可重複度 250

10.10.5 幻影讀問題 251

10.10.6 事務隔離小結 251

10.10.7 在ejb套用中使用各種隔離級別 251

10.10.8 悲觀和樂觀並發控制 252

10.11 設計ejb中的事務會話 253

10.12 小結 255

第11章 安全性 257

11.1 介紹 257

11.1.1 侵害、弱點和風險 258

11.1.2 控制 259

11.2 web套用的安全性 260

11.2.1 web套用的認證 261

11.2.2 授權 262

11.2.3 機密性和集成性 263

11.3 理解ejb安全性 263

11.3.1 ejb套用的認證 263

11.3.2 ejb中的授權 273

11.3.3 安全性傳播 283

11.4 安全性互操作 284

11.4.1 基於ssl的iiop 284

11.4.2 csiv2 285

11.5 web服務中的安全性 286

11.5.1 端對端的安全性 287

11.5.2 xml數字簽名和xml加密 288

11.5.3 saml 290

11.5.4 ws-security 291

11.6 小結 293

第12章 ejb定時器 295

12.1 任務調度 295

12.2 ejb和任務調度 296

12.3 ejb定時器服務 297

12.3.1 定時器服務api 297

12.3.2 ejb同定時器服務的互動 300

12.4 定時器實例——cleandaylimitordersbean 301

12.4.1 cleandaylimitorders業務接口 301

12.4.2 cleandaylimitordersbean類 302

12.4.3 cleandaylimitorders ejb的部署描述符 304

12.4.4 cleandaylimitorders ejb的客戶 305

12.4.5 運行客戶 305

12.5 ejb定時器服務的優缺點 306

12.6 小結 307

第13章 ejb最佳實踐 309

13.1 何時使用ejb 309

13.2 如何選用同ejb協同工作的web套用框架 311

13.3 在ejb項目中實施mdd 313

13.4 在ejb項目中實施極限編程 314

13.5 測試ejb 316

13.5.1 ejb單元測試 316

13.5.2 藉助於框架完成ejb的單元測試 317

13.6 如何在ejb中實現客戶端回調功能 319

13.6.1 jms 319

13.6.2 遠程對象調用 319

13.6.3 web服務 320

13.7 選用servlet或無狀態會話bean作為服務端點 320

13.8 在ejb項目中考慮使用aop技術 321

13.8.1 aop 321

13.8.2 何時在ejb套用中使用aop 321

13.9 反射、動態代理和ejb 322

13.10 將ejb部署到不同java ee套用伺服器 323

13.11 調試ejb 324

13.12 ejb中的繼承和代碼復用 326

13.13 在ejb中實現單例(singleton) 327

13.14 何時在ejb中使用xml 327

13.15 選擇訊息或rmi-iiop的時機 328

13.16 小結 330

第14章 ejb性能調優 331

14.1 提前關注 331

14.2 從性能角度看待:有狀態對無狀態 332

14.3 如何藉助於容量規劃來保證回響時間 334

14.4 使用會話外觀改善性能 335

14.5 選擇本地接口還是遠程接口 336

14.6 區分資源 337

14.7 無狀態會話bean調優 338

14.8 有狀態會話bean調優 339

14.9 實體調優 340

14.10 mdb調優 342

14.11 java虛擬機調優 343

14.12 其他調優技巧 344

14.13 正確選用ejb伺服器 345

14.14 小結 346

第15章 ejb集成 347

15.1 研究集成的必要性 347

15.2 ejb和集成 348

15.3 java ee連線器架構 349

15.3.1 引入java ee連線器的理由 349

15.3.2 資源適配器同java ee組件互動 351

15.3.3 資源適配器同套用伺服器互動 352

15.4 java ee連線器api 354

15.4.1 javax.resource包 354

15.4.2 javax.resource.cci包 354

15.4.3 javax.resource.spi包 356

15.4.4 javax.resource.spi.endpoint包 358

15.4.5 javax.resource.spi.security包 358

15.4.6 javax.resource.spi.work包 359

15.5 系統契約 359

15.5.1 生命周期管理 359

15.5.2 連線管理 360

15.5.3 安全性管理 363

15.5.4 事務管理 365

15.5.5 工作管理 368

15.5.6 外來訊息管理 369

15.6 連線器實例:outboundloanra 371

15.6.1 實例架構 371

15.6.2 javaloanapp.java 372

15.6.3 loadapp.dll 373

15.6.4 outboundloanra 374

15.6.5 loanratesejb 396

15.6.6 loanratesclient 398

15.6.7 運行客戶 398

15.6.8 擴展outboundloanra 403

15.7 集成最佳實踐:使用合適的技術 404

15.7.1 何時使用jms和基於jms的mdb 404

15.7.2 何時使用java ee連線器 404

15.7.3 何時使用java web服務 404

15.8 小結 405

第16章 群集 407

16.1 大型系統概述 407

16.1.1 何為大型系統 408

16.1.2 負載均衡和容錯 410

16.1.3 基於並排或分散式java ee容器實施群集 413

16.2 裝備群集ejb 415

16.2.1 如何群集ejb 415

16.2.2 冪等性概念 416

16.2.3 群集無狀態會話bean 417

16.2.4 群集有狀態會話bean 419

16.2.5 群集實體 420

16.2.6 群集mdb 422

16.3 其他ejb群集問題 423

16.3.1 初次接觸 423

16.3.2 初始訪問邏輯 424

16.4 小結 424

第17章 ejb-java ee集成——構建完整的套用 425

17.1 業務問題 425

17.2 預覽最終網站 426

17.3 圈定技術需求 429

17.3.1 業務邏輯層 430

17.3.2 前端展示層 435

17.4 實例代碼 440

17.5 小結 450

附錄a rmi-iiop和jndi教程 451

a.1 java rmi-iiop 451

a.1.1 遠程方法調用 452

a.1.2 遠程接口 454

a.1.3 遠程對象實現 455

a.1.4 存根和骨架 456

a.2 對象序列化和參數傳遞 457

a.2.1 傳值 457

a.2.2 corba與rmi-iiop的互操作 462

a.3 java命名和目錄接口 463

a.3.1 為什麼要使用jndi 464

a.3.2 命名和目錄服務 464

a.3.3 命名和目錄存在的問題 466

a.3.4 進入jndi 466

a.3.5 jndi的優勢 466

a.3.6 jndi架構 467

a.3.7 jndi概念 468

a.3.8 jndi編程 471

a.4 集成rmi-iiop和jndi 472

a.4.1 將rmi-iiop伺服器綁定到jndi 473

a.4.2 藉助於jndi查找rmi-iiop伺服器 474

a.5 小結 475

附錄b 注釋 477

b.1 annotation介紹 477

b.1.1 用於ejb的注釋 479

b.1.2 背景 480

b.2 ejb注釋參考 482

b.2.1 用於ejb組件類型的注釋 482

b.2.2 用於會話bean和訊息驅動bean的公共注釋 484

b.2.3 用於實體的注釋 487

b.3 小結... 500

相關詞條

相關搜尋

熱門詞條

聯絡我們