Oracle WebLogic Server開發權威指南

Oracle WebLogic Server開發權威指南

《oracle weblogic server開發權威指南》關注於如何通過最新發布的oracle weblogic server 11g進行java ee開發、部署和管理。與其他介紹weblogic server和java ee技術的書籍不同,本書的內容較為深刻,針對的是中高級讀者。而且,本書描述的是思路。不只是簡單地羅列出解決問題的各種可選方案,而後教會讀者自己去做決策,還提供了在應用程式開發和管理過程中能夠使用的具體建議和最佳實踐。本書構建並講解的主要示例應用程式是一個真實複雜的應用程式,涵蓋了很多java ee技術的許多特徵,以及oracle weblogic server 119特有的技術。《oracle weblogic server開發權威指南》並不是java ee技術和weblogic server環境的入門讀物。這是一本高水平的書,對基本概念的描述很少,因此本書面向的讀者是有經驗的開發人員和weblogic server管理員,通過閱讀本書他們可以將自己對這些技術的認識提升到更高水平。

基本信息

原書名:Professional Oracle Weblogic Server

原出版社:Wrox

作者:(美)Robert Patrick Gregory Nyberg Philip Aston Josh Bregman Paul Done [作譯者介紹]

譯者:賀新征趙銘任鴻

出版社:清華大學出版社

ISBN: 9787302269823

出版日期:2011 年11月

開本:16開

頁碼:651

版次:1-1

目錄

《oracle weblogic server開發權威指南》

第1章 在weblogic中構建web

應用程式 1

1.1 java servlet和jsp中的重要

概念 1

1.1.1 servlet的特徵 1

1.1.2 jsp的特徵 6

1.2 web應用程式最佳實踐 11

1.2.1 保證正確的錯誤處理 11

1.2.2 使用jstl標記減少scriptlet

代碼 13

1.2.3 對選定的行為使用自定義標記 16

1.2.4 對常見行為使用servlet過濾器 18

1.2.5 使用servlet和jsp頁面創建

excel檔案 22

1.2.6 查看產生的servlet代碼 25

1.3 本章回顧 26

第2章 選擇web應用程式體系結構 27

2.1 體系結構的關鍵概念 27

2.1.1 java ee應用程式的層次 27

2.1.2 mvc體系結構 28

2.1.3 通用java ee設計模式 29

2.2 表示層體系結構的選擇 29

2.2.1 表示層需求 29

2.2.2 有關體系結構的其他考慮 39

2.3 可選的表示層體系結構 39

2.3.1 以jsp為核心的體系結構 40

2.3.2 以servlet為核心的體系結構:

struts 41

2.3.3 以servlet為核心的體系結構:

spring mvc 42

2.4 本章回顧 45

第3章 設計java ee應用程式示例 47

3.1 應用程式需求 47

3.2 業務領域模型 48

3.3 表示層需求 48

3.4 web應用程式體系結構 50

3.5 表示方法 51

3.5.1 自組裝 52

3.5.2 母版頁組裝 55

3.5.3 使用tiles框架進行外部

視圖組裝 56

3.6 業務層接口 58

3.6.1 控制器調用業務服務 58

3.6.2 控制器為jsp填充表單 60

3.6.3 更新要求顯式的服務調用 61

3.6.4 表示層組件之間的關係 61

3.7 本章回顧 62

第4章 構建web應用程式示例 63

4.1 應用程式組件概述 63

4.2 構建應用程式骨架 65

4.3 構建用戶站點組件 65

4.3.1 預訂信息組件 65

4.3.2 核心預訂流程組件 67

4.3.3 提供服務組件 90

4.4 管理站點組件的結構 91

4.4.1 身份驗證和授權組件 91

4.4.2 酒店維護組件 94

4.5 本章回顧 107

第5章 打包和部署weblogic web

應用程式 109

5.1 打包web應用程式 110

5.1.1 web應用程式目錄結構 110

5.1.2 web應用程式描述符檔案 112

5.1.3 預編譯jsp組件 119

5.1.4 創建一個分解式 web套用

程式 121

5.1.5 創建一個web應用程式的

歸檔檔案 125

5.2 部署web應用程式 126

5.2.1 自動部署 126

5.2.2 weblogic部署工具和ant

任務 128

5.2.3 weblogic控制台部署 130

5.2.4 為創建必要的用戶

和組 132

5.3 本章回顧 133

第6章 在weblogic server中構建

企業javabean 135

6.1 ejb技術概述 135

6.2 ejb 3.0簡介 136

6.3 ejb組件類型 137

6.3.1 無狀態會話bean 137

6.3.2 有狀態會話bean 139

6.3.3 訊息驅動的bean 140

6.3.4 攔截器 141

6.4 java持久化api 142

6.4.1 jpa的歷史 142

6.4.2 jpa概念 144

6.4.3 一個jpa示例 144

6.4.4 套用jpa 164

6.5 weblogic server ejb容器 165

6.5.1 ejb容器基礎 165

6.5.2 weblogic server中ejb的

生命周期 165

6.6 通用的weblogic server ejb

特性 167

6.6.1 ejb的部署和重新部署 167

6.6.2 動態ejb編譯 167

6.6.3 ejb的遠程業務接口和jndi 168

6.6.4 ejb之間的引用 170

6.7 會話bean的特性 175

6.7.1 無狀態會話ejb緩衝池 175

6.7.2 有狀態會話ejb的快取管理 176

6.7.3 有狀態會話ejb的記憶體中

複製 178

6.7.4 指向會話bean的句柄 180

6.7.5 冪等方法 180

6.8 訊息驅動的bean的特性 180

6.9 openjpa和kodo特性 181

6.9.1 kodo部署描述符檔案 182

6.9.2 獲取組 182

6.9.3 預先獲取 184

6.9.4 樂觀鎖版本策略 184

6.9.5 大結果集 187

6.9.6 二級快取 188

6.9.7 控制刷新行為 190

6.9.8 逆向管理 190

6.9.9 混合繼承策略 191

6.9.10 預處理語句快取 191

6.10 使用部署描述符還是標註 191

6.10.1 部署計畫 192

6.10.2 標註、描述符、計畫和

依賴注入 193

6.11 本章回顧 195

第7章 構建ejb應用程式示例 197

7.1 業務層需求 197

7.1.1 業務邏輯需求 197

7.1.2 對象關係映射需求 199

7.1.3 數據訪問需求 203

7.1.4 其他業務層需求 203

7.1.5 業務層需求的回顧 203

7.2 可選的業務層體系結構 204

7.2.1 slsb和會話外觀模式的

需求 204

7.2.2 使用jdbc的無狀態會話

ejb 205

7.2.3 使用ejb 2.1 cmp實體bean

的無狀態會話ejb 207

7.2.4 使用jpa的無狀態會話ejb 209

7.3 bigrez的實現 211

7.3.1 資料庫模式 211

7.3.2 域模型 212

7.3.3 服務 217

7.3.4 單元測試 222

7.3.5 添加樂觀鎖 223

7.4 使用toplink而不是kodo 223

7.4.1 希望使用toplink的理由 224

7.4.2 讓使用toplink 224

7.5 本章回顧 227

第8章 打包和部署weblogic套用

程式 229

8.1 創建ejb歸檔檔案 229

8.2 打包jpa持久化單元 236

8.3 企業應用程式 237

8.3.1 企業應用程式目錄結構 239

8.3.2 企業應用程式的描述符檔案 241

8.3.3 分解式部署 244

8.3.4 捆綁庫 246

8.3.5 共享java ee庫和可選包 248

8.3.6 其他類型的模組 249

8.3.7 自定義類載入器 250

8.4 打包251

8.5 部署應用程式 254

8.5.1 創建必需的服務 255

8.5.2 自動部署和weblogic.deployer 256

8.5.3 weblogic控制台部署 257

8.6 本章回顧 257

第9章 開發和部署web服務 259

9.1 總結web服務標準 259

9.2 用weblogic server創建web

服務 260

9.2.1 web服務的容器框架 260

9.2.2 開發weblogic server的web

服務 261

9.2.3 開發web服務客戶端 274

9.3 高級技術 278

9.3.1 使用jax-rpc 278

9.3.2 理解style和use 278

9.3.3 影響調用哪個操作 280

9.3.4 創建更多動態的web服務 282

9.3.5 使用web服務的處理程式 288

9.3.6 使用soap附屬檔案 292

9.3.7 實現有狀態的web服務 296

9.3.8 實現異步的web服務 297

9.3.9 自定義java和xml之間的

映射 300

9.4 使用web服務安全 301

9.4.1 定義安全策略 302

9.4.2 傳輸級安全 303

9.4.3 訊息級安全 305

9.4.4 web服務的安全配置 311

9.5 在<CITE style="BACKGROUND: none transparent scroll repeat 0% 0%" class=highlight highlight="true">bigrez</CITE>中添加web

服務 312

9.6 本章回顧 314

第10章 使用weblogic jms 315

10.1 jms的重要概念 315

10.1.1 了解訊息傳遞模型 315

10.1.2 回顧jms api 316

10.2 weblogic jms提供程式 321

10.2.1 了解weblogic jms

伺服器 321

10.2.2 群集weblogic jms 321

10.2.3 weblogic jms的客戶端 330

10.2.4 配置weblogic jms 332

10.3 weblogic jms應用程式設計 344

10.3.1 選擇一種目標類型 344

10.3.2 定位目標 344

10.3.3 選擇合適的訊息類型 345

10.3.4 壓縮大訊息 347

10.3.5 選擇一種訊息確認策略 347

10.3.6 設計訊息選擇器 348

10.3.7 選擇訊息的過期策略 351

10.3.8 處理有害訊息 353

10.3.9 處理訊息順序的問題 355

10.3.10 使用事務 360

10.3.11 使用多播會話 361

10.3.12 處理請求/回響樣式的

訊息交換 362

10.4 weblogic jms應用程式編程 365

10.4.1 weblogic jms與ejb和

servlet的組合使用 365

10.4.2 在伺服器中使用異步訊息 367

10.5 外部jms提供程式 372

10.5.1 了解訊息傳遞橋 372

10.5.2 了解存儲轉發服務 373

10.5.3 使用訊息驅動的bean 375

10.5.4 把外部jms對象映射到

weblogic jndi上 375

10.5.5 集成oracle高級佇列 376

10.5.6 選擇一種集成策略 378

10.6 本章回顧 379

第11章 使用weblogic安全性 381

11.1 weblogic安全概述 381

11.2 weblogic安全框架 387

11.2.1 嵌入式ldap伺服器 387

11.2.2 安全領域和提供程式 389

11.3 使用外部安全存儲 400

11.3.1 管理外部 ldap 身份

驗證 400

11.3.2 管理rdbms身份驗證 402

11.4 設定ssl/tls 404

11.4.1 ssl和x.509證書概述 404

11.4.2 獲取x.509證書 405

11.4.3 配置單向ssl 407

11.4.4 配置雙向ssl 408

11.4.5 調試ssl的問題 411

11.5 編寫安全敏感的java客戶端 412

11.5.1 編寫使用jaas的java

客戶端 412

11.5.2 編寫使用ssl的java

客戶端 415

11.6 管理應用程式的安全 420

11.6.1 應用程式安全模型 420

11.6.2 配置java ee應用程式的

安全 420

11.6.3 配置weblogic server套用

程式的安全 428

11.6.4 啟動weblogic server 432

11.7 單點登錄 432

11.7.1 saml語言 433

11.7.2 配置跨域安全和單點登錄 440

11.7.3 自定義身份驗證提供程式 445

11.8 本章回顧 446

第12章 在weblogic server中管理

和部署應用程式 447

12.1 weblogic體系結構的重要

概念 447

12.1.1 域體系結構 447

12.1.2 weblogic server體系結構 449

12.1.3 weblogic server群集體系

結構 456

12.1.4 管理伺服器 463

12.1.5 節點管理器 465

12.2 weblogic server管理的重要

概念 466

12.2.1 伺服器狀態 466

12.2.2 伺服器自我健康監控 467

12.2.3 網路信道 468

12.3 配置weblogic server的域 470

12.3.1 建立一個新域 472

12.3.2 配置伺服器 473

12.3.3 配置群集 475

12.3.4 配置網路信道 478

12.3.5 建立節點管理器 481

12.3.6 作業系統的配置 486

12.3.7 java虛擬機的配置 487

12.3.8 web伺服器外掛程式的配置 487

12.3.9 管理連線埠和信道的配置 492

12.3.10 為weblogic server配置

應用程式 494

12.4 監視 weblogic server 套用

程式 511

12.4.1 使用weblogic腳本工具 511

12.4.2 使用棄用的命令行管理

工具 515

12.4.3 通過weblogic控制台進行

監視 516

12.4.4 通過jmx實現編程監視 518

12.4.5 通過snmp監視 522

12.5 管理 weblogic server 套用

程式 529

12.5.1 診斷應用程式的問題 529

12.5.2 版本化應用程式 540

12.5.3 處理故障情況 542

12.6 本章回顧 551

第13章 最佳化weblogic server的

性能 553

13.1 系統性能概述 553

13.1.1 核心原則 554

13.1.2 基於weblogic server的

應用程式的調優 555

13.2 性能最佳實踐 573

13.2.1 可提高性能的設計方法 573

13.2.2 理解 web 容器的最佳

實踐 574

13.2.3 理解ejb容器的最佳實踐 576

13.2.4 套用資料庫訪問的最佳

實踐 578

13.3 診斷性能問題 583

13.3.1 準備好故障診斷 583

13.3.2 識別瓶頸並消除瓶頸 584

13.3.3 解決問題 585

13.3.4 常見套用伺服器性能問題 586

13.3.5 java棧跟蹤 588

13.4 本章回顧 593

第14章 開發環境的最佳實踐 595

14.1 定義需要的硬體和軟體 595

14.2 安裝weblogic server軟體 598

14.3 開發項目結構 600

14.4 最佳化開發周期 601

14.4.1 分解目錄開發 601

14.4.2 fastswap 603

14.5 建立構建過程 604

14.5.1 持續集成 605

14.5.2 代碼檢查和報告工具 606

14.6 集成開發環境 606

14.6.1 先決條件 607

14.6.2 為配置eclipse 607

14.6.3 為<CITE style="BACKGROUND: none transparent scroll repeat 0% 0%" class=highlight highlight="true">bigrez</CITE>配置

jdeveloper 612

14.6.4 通過ide進行調試 615

14.7 創建一個單元測試基礎設施 616

14.7.1 單元測試的重要性 616

14.7.2 junit測試框架 617

14.7.3 容器外測試 619

14.7.4 測試web界面 622

14.7.5 web服務 624

14.7.6 性能和並發性測試 624

14.8 本章回顧 625

第15章 生產環境的最佳實踐 627

15.1 部署策略 627

15.1.1 評價部署策略 628

15.1.2 伺服器部署策略 629

15.1.3 單站點部署策略 630

15.1.4 多站點部署策略 635

15.1.5 設計多站點weblogic

群集 635

15.1.6 實現跨多站點的群集 638

15.1.7 在每一個站點實現一個

群集 639

15.2 全局和本地流量管理 642

15.2.1 使用負載均衡器 642

15.2.2 配合weblogic server使用

本地負載均衡器 643

15.2.3 配合weblogic server使用

全局負載均衡器 644

15.3 生產環境的安全策略 645

15.3.1 理解應用程式的數據流 645

15.3.2 理解防火牆布局 645

15.3.3 使用連線過濾器 647

15.3.4 鎖定web應用程式 648

15.3.5 檢查其他安全因素 650

15.3.6 使用ssl硬體加速 651

15.4 本章回顧 651

前言

本書與其他介紹WebLogic Server和Java EE技術的書籍不同。

首先,這是一本高水平的書,作為對Oracle線上文檔和其他Java EE及WebLogic Server技術的入門書的補充,向中高級開發人員、架構師和管理員提供了對關鍵的Java EE開發和部署技術的深入講解。本書跳過了基礎內容,避免重複很容易從其他地方找到的信息,關注其他地方沒有提到的信息和技術。本書由Oracle公司權威人士和企業級Java EE應用程式開發專家組成的作者團隊編寫,是對其他書籍和參考資料的延伸。

其次,本書描述了思路。不只是簡單地羅列出解決問題的各種可選方案,而後讓你自己去做出決策,而且分享了我們的思考過程,給你提供了在應用程式開發和管理過程中能夠使用的具體建議和最佳實踐。本書講解了不同的設計方案、體系結構、構建技術、部署選項以及管理技術,但是並沒有停留在這一步。我們會進而解釋每一個可選方案的優點,以及套用這種方案的場合。我們不僅要讓你理解有哪些方法可以完成任務,還要讓你理解應該如何完成任務。

最後,本書構建並講解的主要示例應用程式是一個真實複雜的應用程式,涵蓋了很多Java EE技術的許多特徵,以及Oracle WebLogic Server 11g特有的技術。這個示例應用程式覆蓋了JSP、Spring MVC、EJB 3.0、JPA、JMS和Web服務等關鍵技術,展示了這些技術的套用。正文部分帶你經歷這個應用程式設的計、開發和部署過程中每一個決策做出的過程,幫助你在自己的開發工作中做出類似的決策。

讀者對象

本書並不是Java EE技術和WebLogic Server環境的入門讀物。這是一本高水平的書,對基本概念的描述很少,因此本書面向的讀者是有經驗的開發人員和WebLogic Server管理員,通過閱讀本書他們可以將自己對這些技術的認識提升到更高水平。

主要內容

本書關注於如何通過最新發布的Oracle WebLogic Server 11g進行Java EE開發、部署和管理。書中描述的很多技術、框架、部署技術和管理工具都要求使用這個版本的WebLogic Server和最新版本的Java EE環境以及相關的各種庫和框架。本書中構建的主要示例應用程式要求使用WebLogic Server 11g。

儘管如此,我們並不贊同“最新的就是最好的”這類技術觀點。只要是合理的,我們就會在示例中選用經過檢驗且版本可靠的Java EE框架和庫,前提是這些框架和庫能夠滿足我們的需求並且完成任務。

下面列出了本書中描述過、比較過並且使用過(或沒有使用過)的部分技術和框架:

● EJB 3.0、JPA、OpenJPA、Kodo、TopLink

● Java 6、Spring 2.5 MVC、Jakarta Struts 1.2、JSP 2.0、Tiles 2.0

● JMS 1.1、SOAP 1.1、JAX-WS 2.1

● JAAS、SAML 1.1和2.0、XACML、SSL、TLS 1.0、JSSE

● JMX、SNMP、WLST、WLDF

組織結構

本書圍繞著如下三個主題展開:

● 帶你經歷真實示例應用程式的設計、構建和部署的過程。

● 討論以下領域的高級話題和最佳實踐:安全、管理、性能調優和WebLogic Server環境配置等。

● 給出WebLogic Server應用程式開發、部署和管理的最佳實踐。

. 前面10章關注第一個主題,接下來的5章關注第二個主題,而最佳實踐則作為重點貫穿全書。下面簡要描述了每一章的內容,你可以藉此理解本書的內容和組織方式:

第1章概述了Web應用程式的關鍵概念和技術,然後討論了一些高級話題,例如JSTL、表達式語言、自定義標記和servlet過濾等。

第2章考查了驅動Web應用程式體系結構的表示層需求,比較了三種備選的體系結構,並且給出了具體的建議,幫助你為自己的WebLogic Server應用程式選擇合適的體系結構。

第3章詳細描述了一個非常大且複雜的Java EE應用程式的表示層設計。討論的話題包括各種不同的頁面生成技術、業務層接口以及導致選擇當前設計方案的示例應用程式需求。

第4章介紹了基於Spring MVC和JSP的示例web應用程式的整個構建過程。描述的過程中著重講解了和WebLogic Server相關的構建技術,還講解了和當前選擇的表示層方法、Web應用程式體系結構以及業務層互動技術相關的組件和技術。

第5章討論了打包和部署WebLogic Server Web應用程式所需的步驟,著重關注WebLogic Server相關的技術和最佳實踐。

第6章考查了在WebLogic Server 11g中實現 Enterprise JavaBeans(EJB)和相關的持久化技術的可選方案和最佳實踐。在簡要回顧了EJB技術之後,關注點轉向了JPA持久化規範和 OpenJPA 及 Kodo實現。接下來,這一章的後半部分討論了WebLogic Server 11g中和EJB相關的關鍵特性,並且解釋了如何在開發工作中最好地發揮這些特性的功效。

第7章描述了第1章至第4章開始的示例應用程式業務層的設計和構建,重點講述了關鍵概念和最佳實踐。首先根據一組典型的業務層需求,找出並考查了一些備選的業務層體系結構。接下來,詳細講述了實現所選EJB體系結構所需的技術,著重描述實現細節和最佳實踐。最後,用另一個JPA實現(TopLink)替換了所選的JPA實現(Kodo),展示了這種替換可以方便地完成。

第8章討論了打包和部署WebLogic Server企業級應用程式所需的步驟。這一章回顧了EJB模組和企業級應用程式的基本結構,討論了打包JPA持久化單元所需的技術,展示了基於Ant的構建過程,比較了打包企業級應用程式的可選方案,還考查了WebLogic Server開發環境的部署技術。

第9章回顧了Web服務技術,描述了WebLogic Server 11g對Web服務的支持,講解了和Web服務有關的重要最佳實踐。這一章通過WebLogic Server實用工具創建了示例Web服務,討論了WebLogic Server中的高級Web服務特性,還構建了一個Web服務作為本書主要示例應用程式的接口。

第10章講述了和WebLogic Server JMS實現有關的信息和最佳實踐。內容包括JMS群集和高可用性、各種JMS客戶端選項、WebLogic JMS提供程式配置、JMS應用程式設計應該考慮的問題、利用WebLogic JMS的應用程式的構建以及和外部JMS提供程式的整合。

第11章講解了和WebLogic Server安全有關的重要話題,包括WebLogic Server安全服務、WebLogic安全框架及其內置提供程式、和外部身份驗證提供程式的集成、安全的客戶端-伺服器以及伺服器-伺服器通信的設定、應用程式安全的管理以及如何配置WebLogic Server用於單點登錄。

第12章關注WebLogic Server管理和WebLogic Server產品的體系結構。這一章不是管理控制台的用戶手冊,而是對WebLogic Server內部體系結構的深入講解、對重要管理概念(例如,伺服器健康狀態和網路信道)的討論,以及對WebLogic Server和基於WebLogic Server的應用程式的配置、監視和管理的全面講解。

第13章講述了和可擴展高性能系統的實現和故障診斷有關的最佳實踐。這一章討論了可擴展Java EE系統的核心原則和策略,並提供了一組重要的設計模式以及影響性能和可擴展性的最佳實踐,以及提升性能和解決系統可擴展性問題的步驟和技術。

第14章繼續討論和開發有關的最佳實踐,並且提出了一些和開發環境關鍵領域相關的建議。內容包括開發環境的硬體和軟體、開發環境中WebLogic Server的正確安裝、項目目錄結構的組織、構建過程的制定、合適開發工具的選擇以及項目的單元測試基礎設施的創建。

第15章討論了在生產環境中部署WebLogic Server應用程式的策略和最佳實踐,關注於生產環境的部署策略、全局流量管理解決方案以及生產環境安全的最佳實踐。

閱讀本書的先決條件

本書的示例和最佳實踐都基於Oracle的WebLogic Server 11g套用伺服器,可以從Oracle下載Web站點下載。如果想要構建並部署示例應用程式,請下載並安裝這個產品。

WebLogic Server 11g安裝程式包含了一個適合查看和編輯示例代碼的Eclipse。此外,你還可以選用Oracle JDeveloper 11g或其他Java開發工具。第14章詳細介紹了Eclipse和JDeveloper的安裝和配置。

最後,本書的主要示例程式假定在你的環境中已經有一份可用的Oracle RDBMS副本。我們使用了完整版的Oracle Database 10g。Oracle Database 11g或10g Express Edition(也稱為Oracle XE)應該也能使用。在Oracle下載可以獲得一份資料庫軟體的試用副本。

相關詞條

相關搜尋

熱門詞條

聯絡我們