出版時(shí)間:2010-12 出版社:清華大學(xué)出版社 作者:Philip A. Bernstein,Eric Newcomer 頁(yè)數(shù):387 譯者:戰(zhàn)曉蘇,馬嚴(yán)
Tag標(biāo)簽:無
前言
40年來,事務(wù)處理一直是一項(xiàng)重要的軟件技術(shù)。運(yùn)輸業(yè)、金融業(yè)、零售業(yè)、電信業(yè)、制造業(yè)、政府部門和軍事等各個(gè)領(lǐng)域的大型企業(yè)都完全依賴事務(wù)處理應(yīng)用程序來完成電子預(yù)定服務(wù)、銀行業(yè)務(wù)、證券交易、訂單處理、音樂和視頻服務(wù)、運(yùn)貨跟蹤、政府服務(wù)、電話交換、庫(kù)存控制以及指揮與控制等功能。很多大型的硬件和軟件供應(yīng)商,例如IBM、HP、Oracle、Microsoft、Dell、Red Hat和EMC,其收益的很大一部分來自于事務(wù)處理系統(tǒng)。事務(wù)處理產(chǎn)品和服務(wù)的銷售額每年高達(dá)幾百億美元。作為消費(fèi)者,我們每天都在使用這一技術(shù)來取款、購(gòu)買燃?xì)?、租影碟及網(wǎng)上購(gòu)物。事務(wù)處理系統(tǒng)的工作原理具體是怎樣的呢?這一問題曾經(jīng)只有商用數(shù)據(jù)處理領(lǐng)域的計(jì)算機(jī)專業(yè)人員感興趣。但是現(xiàn)在隨著事務(wù)處理在經(jīng)濟(jì)領(lǐng)域的廣泛使用,各個(gè)領(lǐng)域的工程師們都對(duì)此有興趣。盡管如此,專業(yè)人員卻難以找到可讀性強(qiáng)的、技術(shù)內(nèi)容充實(shí)的、介紹這一復(fù)雜技術(shù)的書籍。而本書填補(bǔ)了這一空白。一 絕大多數(shù)大規(guī)模事務(wù)處理系統(tǒng)的軟件環(huán)境都基于事務(wù)中間件,事務(wù)中間件有助于將很多軟件組件聯(lián)合起來。這些組件包括驅(qū)動(dòng)Web瀏覽器和其他設(shè)備的前端應(yīng)用程序,將請(qǐng)求路由到能夠運(yùn)行它們的服務(wù)器的中間層應(yīng)用程序,以及執(zhí)行事務(wù)邏輯的服務(wù)器應(yīng)用程序。常見的事務(wù)中間件包括IBM的CICS、Microsoft的.NET. Enterprise Services,以及Java:Enterprise Edition產(chǎn)品,如IBM Web Sphere Application Server、Oracle的Web Logic Servei和Red Hat的JBoss. Application Server。本書的前半部分著重介紹事務(wù)中間件技術(shù)。對(duì)很多軟件工程師而言,事務(wù)中間件在技術(shù)上比較晦澀難懂,此技術(shù)是他們不太熟悉的一種軟件粘合劑,需要用到的技術(shù)似乎不只是操作系統(tǒng)、數(shù)據(jù)庫(kù)系統(tǒng)、通信系統(tǒng)和應(yīng)用程序設(shè)計(jì)語(yǔ)言。本書通俗地介紹了事務(wù)中間件,解釋了事務(wù)中間件對(duì)事務(wù)處理系統(tǒng)的性能、安全性、可擴(kuò)展性、可用性、可管理性和易使用性所起的作用。本書的前半部分詳細(xì)地介紹了事務(wù)中間件,包括事務(wù)中間件為應(yīng)用程序編程人員提供的特性,以及如何構(gòu)造事務(wù)中間件來提供這些特性。事務(wù)抽象本身在很大程度上是通過數(shù)據(jù)庫(kù)系統(tǒng)實(shí)現(xiàn)的。數(shù)據(jù)庫(kù)系統(tǒng)確保每個(gè)事務(wù)作為一個(gè)整體而執(zhí)行,確保每個(gè)事務(wù)不受其他事務(wù)的干擾,確保每個(gè)事務(wù)生成的結(jié)果在硬件和軟件發(fā)生故障的情況下能夠保留下來。此行為是通過鎖定、寫日志、通信協(xié)議和復(fù)制等技術(shù)實(shí)現(xiàn)的。這些技術(shù)是本書后半部分的主題。本書介紹事務(wù)處理,旨在滿足廣大讀者的需要,包括以下讀者。
內(nèi)容概要
《國(guó)外計(jì)算機(jī)科學(xué)經(jīng)典教材:事務(wù)處理原理(第2版)》為從事于應(yīng)用程序開發(fā)、產(chǎn)品評(píng)估、系統(tǒng)設(shè)計(jì)、數(shù)據(jù)庫(kù)管理和產(chǎn)品工程化等工作的各類人員提供了清晰、簡(jiǎn)明的指導(dǎo)??蓭椭x者理解事務(wù)處理系統(tǒng)的內(nèi)部情況,并描述了它們的工作原理以及如何最佳地使用它們。包括應(yīng)用服務(wù)器的體系結(jié)構(gòu)、事務(wù)通信范式,以及事務(wù)故障和系統(tǒng)故障的恢復(fù)機(jī)制?! 械?版發(fā)行以來的這些年,事務(wù)處理系統(tǒng)的使用已經(jīng)發(fā)生了很大的變化。電子商務(wù)已經(jīng)成為業(yè)務(wù)數(shù)據(jù)處理投資的主要焦點(diǎn)。例如,網(wǎng)上銀行和網(wǎng)上股票購(gòu)買、eBay}8賣,以及企業(yè)數(shù)據(jù)庫(kù)管理。新的標(biāo)準(zhǔn)、新的技術(shù)和產(chǎn)品,以及新的語(yǔ)言允許Web服務(wù)、REST./HTTP禾oSOA成為企業(yè)應(yīng)用程序設(shè)計(jì)的主導(dǎo)風(fēng)格。借助于《國(guó)外計(jì)算機(jī)科學(xué)經(jīng)典教材:事務(wù)處理原理(第2版)》及其豐富的示例,讀者能夠開發(fā)、集成、部署和管理最高水準(zhǔn)的事務(wù)處理應(yīng)用程序。為系統(tǒng)專業(yè)人員完整地修訂了經(jīng)典的非數(shù)學(xué)事務(wù)處理參考文獻(xiàn)內(nèi)容進(jìn)行了更新,重點(diǎn)放在通過互聯(lián)網(wǎng)進(jìn)行事務(wù)處理的需求上——這是通過Web服務(wù)器、SOA以及重要的TP技術(shù)和標(biāo);隹進(jìn)行的業(yè)務(wù)數(shù)據(jù)處理投資的重點(diǎn)內(nèi)容保留了第l版實(shí)用、深入和全面的技術(shù)基礎(chǔ),并對(duì)所有主題進(jìn)行了擴(kuò)展,包括事務(wù)中間件、業(yè)務(wù)流程管理、事務(wù)同步和數(shù)據(jù)庫(kù)復(fù)制。
作者簡(jiǎn)介
作者:(美國(guó))伯恩斯坦(Philip A.Bernstein) (美國(guó))紐克默(Eric Newcomer) 譯者:戰(zhàn)曉蘇 馬嚴(yán)Philip A. Bernstein是微軟公司的首席研究員,撰寫了關(guān)于數(shù)據(jù)庫(kù)和事務(wù)系統(tǒng)的150多篇技術(shù)性文章。以前曾是DEC公司事務(wù)處理產(chǎn)品組的首席架構(gòu)師和哈佛大學(xué)的教授。他當(dāng)選為美國(guó)計(jì)算機(jī)協(xié)會(huì)(ACM)的院士,同時(shí)也是美國(guó)國(guó)家工程院院士。Eric Newcomer是工作于Progress Software公司CTO辦公室的獨(dú)立顧問。以前曾是IONA科技公司的CTO和]DEC公司的TP架構(gòu)師。他對(duì)多個(gè)企業(yè)軟件的產(chǎn)品和標(biāo)準(zhǔn)起了促進(jìn)作用。
書籍目錄
第1章 介紹1.1 基礎(chǔ)知識(shí)1.1.1 問題1.1.2 什么是事務(wù)處理1.1.3 事務(wù)處理應(yīng)用程序1.1.4 事務(wù)程序的主要功能1.2 TP系統(tǒng)的體系結(jié)構(gòu)1.2.1 面向服務(wù)的計(jì)算1.2.2 硬件的體系結(jié)構(gòu)1.3 原子性、一致性、隔離性和持久性(ACID)1.3.1 原子性1.3.2 一致性1.3.3 隔離性1.3.4 持久性1.4 兩階段提交1.5 事務(wù)處理性能1.5.1 Rpc.A和FPC.B基準(zhǔn)1.5.2 TPC.C基準(zhǔn)1.5.3 TPC.E基準(zhǔn)1.6 可用性1.7 系統(tǒng)樣式1.7.1 批處理系統(tǒng)1.7.2 實(shí)時(shí)系統(tǒng)1.7.3 數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)1.7.4 其他系統(tǒng)類型1.7.5 為什么要設(shè)計(jì)TP系統(tǒng)1.8 TP系統(tǒng)配置1.9 小結(jié)第2章 事務(wù)處理抽象2.1 介紹2.2 事務(wù)2.2.1 集合事務(wù)括號(hào)2.2.2 事務(wù)標(biāo)識(shí)符2.2.3 鏈?zhǔn)绞聞?wù)2.2.4 面向?qū)ο缶幊讨械氖聞?wù)括號(hào)2.2.5 嵌套事務(wù)2.2.6 異常處理2.2.7 保存點(diǎn)2.2.8 使用保存點(diǎn)支持嵌套事務(wù)2.3 進(jìn)程和線程2.3.1 為什么需要線程2.3.2 實(shí)現(xiàn)線程2.4 遠(yuǎn)程過程調(diào)用2.4.1 事務(wù)RPC2.4.2 綁定客戶機(jī)和服務(wù)器2.4.3 RPC走查2.4.4 RPC的系統(tǒng)特性2.4.5 如何比較RPC系統(tǒng)2.5 共享狀態(tài)2.5.1 事務(wù)上下文2.5.2 會(huì)話2.5.3 無狀態(tài)服務(wù)器2.5.4 有狀態(tài)應(yīng)用程序2.6 可伸縮性2.6.1 擴(kuò)展服務(wù)器2.6.2 擴(kuò)展系統(tǒng)2.7 小結(jié)2.7.1 事務(wù)括號(hào)2.7.2 進(jìn)程和線程2.7.3 遠(yuǎn)程過程調(diào)用2.7.4 共享狀態(tài)2.7.5 可伸縮性技術(shù)第3章 事務(wù)處理應(yīng)用程序體系結(jié)構(gòu)3.1 介紹3.2 應(yīng)用程序體系結(jié)構(gòu)3.2.1 多層體系結(jié)構(gòu)3.2.2 面向服務(wù)的體系結(jié)構(gòu)3.2.3 面向?qū)ο笤O(shè)計(jì)3.2.4 簡(jiǎn)單請(qǐng)求3.3 前端程序3.3.1 前端程序?qū)哟?.3.2 使用表單和菜單收集輸入3.3.3 構(gòu)造請(qǐng)求3.3.4 記錄3.3.5 Web服務(wù)器3.3.6 Web服務(wù)器的狀態(tài)管理3.3.7 認(rèn)證與加密3.4 請(qǐng)求控制器3.4.1 指定請(qǐng)求控制器功能3.4.2 事務(wù)括號(hào)3.4.3 請(qǐng)求完整性3.4.4 進(jìn)程結(jié)構(gòu)3.4.5 會(huì)話結(jié)構(gòu)3.4.6 安全性..3.5 事務(wù)服務(wù)器3.6 事務(wù)中間件3.7 數(shù)據(jù)庫(kù)服務(wù)器與事務(wù)中間件3.8 小結(jié)第4章 隊(duì)列化的事務(wù)處理4.1 為什么使用隊(duì)列4.2 隊(duì)列事務(wù)處理模型4.2.1 從服務(wù)器的角度看排隊(duì)4.2.2 從客戶端的角度看排隊(duì)4.3 客戶端恢復(fù)4.4 處理不可撤消的操作4.5 隊(duì)列管理器4.5.1 對(duì)隊(duì)列消息的操作4.5.2 路由選擇4.5.3 調(diào)度器4.6 發(fā)布.訂閱4.7 其他面向消息的中間件4.7.1 基于代理的體系結(jié)構(gòu)4.7.2 基于總線的體系結(jié)構(gòu)4.7.3 比較代理與總線4.8 隊(duì)列式產(chǎn)品和標(biāo)準(zhǔn)4.8.1 IBM的Web Slphere MQ4.8.2 Oracle Streams AQ4.9 小結(jié)第5章 業(yè)務(wù)流程管理5.1 介紹5.2 業(yè)務(wù)流程定義5.3 業(yè)務(wù)流程的執(zhí)行5.4 事務(wù)特性5.4.1 隔離性5.4.2 原子性5.4.3 持久性5.5 使流程狀態(tài)持久5.5.1 使用專用的運(yùn)行時(shí)系統(tǒng)5.5.2 使用隊(duì)列請(qǐng)求5.5.3 偽會(huì)話5.5.4 使用日志5.6 業(yè)務(wù)流程的其他模型5.7 產(chǎn)品和標(biāo)準(zhǔn)5.7.1 Web服務(wù)業(yè)務(wù)流程執(zhí)行語(yǔ)言5.7.2 SQL Server服務(wù)代理5.8 小結(jié)第6章 鎖定6.1 介紹6.1.1 正確性和兩階段規(guī)則6.1.2 事務(wù)只通過讀取寫入來交互6.1.3 保持事務(wù)握手6.1.4 自動(dòng)鎖定6.2 實(shí)現(xiàn)6.2.1 鎖管理器6.2.2 鎖的設(shè)置和釋放6.2.3 粒度6.2.4 多粒度鎖定6.3 死鎖6.3.1 死鎖預(yù)防6.3.2 死鎖檢測(cè)6.3.3 選擇犧牲品6.3.4 分布式死鎖檢測(cè)6.4 性能6.4.1 鎖轉(zhuǎn)換6.4.2 鎖抖動(dòng)6.4.3 鎖定性能的數(shù)學(xué)模型6.5 熱點(diǎn)6.5.1 延遲操作直到提交6.5.2 樂觀方法6.5.3 批處理6.5.4 分區(qū)技術(shù)6.6 查詢一更新問題6.6.1 數(shù)據(jù)倉(cāng)庫(kù)6.6.2 隔離度6.6.3 多版本數(shù)據(jù)6.6.4 多版本實(shí)現(xiàn)的細(xì)節(jié)6.7 避免幻象6.8 樂觀并發(fā)控制6.9 B.樹鎖定6.9.1 B+樹6.9.2 B+樹的插入6.9.3 樹鎖定6.9.4 B.鏈接優(yōu)化6.10 多粒度鎖定6.11 嵌套事務(wù)的鎖定6.12 小結(jié)6.13 附錄:基本的可串行性理論6.13.1 歷史等價(jià)6.13.2 可串行性定理6.13.3 兩階段鎖定定理第7章 系統(tǒng)恢復(fù)7.1 系統(tǒng)故障的原因7.1.1 強(qiáng)化環(huán)境7.1.2 系統(tǒng)管理7.1.3 硬件7.1.4 軟件7.2 系統(tǒng)恢復(fù)的模型7.2.1 檢測(cè)進(jìn)程故障7.2.2 客戶端恢復(fù)7.2.3 服務(wù)器恢復(fù)7.2.4 基于檢查點(diǎn)的恢復(fù)7.2.5 基于事務(wù)的服務(wù)器恢復(fù)7.2.6 無狀態(tài)服務(wù)器7.3 數(shù)據(jù)庫(kù)恢復(fù)概述7.3.1 故障類型7.3.2 恢復(fù)策略7.4 系統(tǒng)模型7.4.1 鎖定假設(shè)7.4.2 頁(yè)面粒度操作7.4.3 存儲(chǔ)模型7.4.4 日志7.5 數(shù)據(jù)庫(kù)恢復(fù)管理器7.5.1 實(shí)現(xiàn)異常終止7.5.2 實(shí)現(xiàn)提交7.6 影式分頁(yè)算法7.7 基于日志的數(shù)據(jù)庫(kù)恢復(fù)算法7.7.1 實(shí)現(xiàn)提交7.7.2 實(shí)現(xiàn)異常終止7.7.3 實(shí)現(xiàn)重啟7.8 在基于日志的算法中優(yōu)化重啟操作7.8.1 模糊檢查點(diǎn)技術(shù)7.8.2 操作日志化7.8.3 用戶技巧7.9 媒介恢復(fù)7.9.1 鏡像硬盤7.9.2 歸檔7.10 小結(jié)第8章 兩階段提交8.1 介紹8.2 兩階段提交協(xié)議8.2.1 假設(shè)8.2.2 準(zhǔn)備就緒8.2.3 協(xié)議8.2.4 性能8.2.5 阻塞8.3 故障處理8.4 優(yōu)化和變化8.4.1 再感染8.4.2 協(xié)調(diào)轉(zhuǎn)移8.4.3 階段零8.4.4 推定異常終止8.4.5 只讀事務(wù)8.4.6 合作終止協(xié)議8.5 進(jìn)程構(gòu)成8.5.1 獨(dú)立事務(wù)管理器8.5.2 列入事務(wù)中8.5.3 進(jìn)程樹模型8.6 用戶一覽表8.7 小結(jié)第9章 復(fù)制9.1 介紹9.2 復(fù)制的服務(wù)器9.2.1 主一備份模型9.2.2 復(fù)制資源9.2.3 復(fù)制具有共享資源的服務(wù)器9.3 在復(fù)制數(shù)據(jù)和更新間同步9.3.1 單副本可串行性9.3.2 復(fù)制更新9.3.3 復(fù)制請(qǐng)求9.4 單主站主副本復(fù)制9.4.1 正常的操作9.4.2 故障和恢復(fù)9.4.3 具有多個(gè)從副本的主副本的恢復(fù)9.4.4 一致性、可用性和分區(qū)兼容性9.5 多主副本9.5.1 分區(qū)操作可能十分有用9.5.2 多主的更新傳遞9.5.3 非盲更新9.5.4 使用版本矢量檢測(cè)復(fù)制沖突9.5.5 沖突解決方案9.5.6 維護(hù)版本矢量9.5.7 版本矢量的更新規(guī)則9.5.8 簡(jiǎn)化的版本矢量更新規(guī)則9.5.9 示例回顧9.5.10 再次討論一致性、可用性和分區(qū)兼容性9.5.11 MicrosoftSyncFramework9.6 其他復(fù)制技術(shù)9.7 數(shù)據(jù)共享系統(tǒng)9.7.1 鎖定9.7.2 高速緩存9.7.3 記入日志9.8 小結(jié)第10章 事務(wù)中間件產(chǎn)品和標(biāo)準(zhǔn)10.1 介紹10.1.1 事務(wù)中間件的發(fā)展趨勢(shì)10.1.2 事務(wù)中間件編程模型10.1.3 Java EE與.NET Framework10.2 Web瀏覽器前端程序10.3.NETFramework10.3.1 開發(fā)前端程序10.3.2 開發(fā)請(qǐng)求控制器和10.3.3 REST/HTTP支持10.3.4 WCF部署選項(xiàng)10.3.5 使用System. Transactions進(jìn)行事務(wù)管理10.3.6 顯式編程模型10.3.7 與遺留TP監(jiān)視器的集成10.4 Java企業(yè)版10.4.1 開發(fā)前端程序10.4.2 REST支持10.4.3 開發(fā)請(qǐng)求控制器和事務(wù)服務(wù)器10.4.4 使用Java進(jìn)行事務(wù)管理10.4.5 與遺留TP監(jiān)視器的集成10.4.6 Spring事務(wù)10.5 面向服務(wù)的體系結(jié)構(gòu)10.5.1 基于Web服務(wù)的SOA10.5.2 基于REST/HTTP的SOA10.6 持久抽象機(jī)制10.6.1 ODBC和JDBC10.6.2 存儲(chǔ)過程10.6.3 JPA10.6.4 ADO.NET和ADO.NET實(shí)體框架10.7 遺留的TP監(jiān)視器10.7.1 CICS事務(wù)服務(wù)器10.7.2 IMS10.7.3 Tllxedo10.7.4 ACMS10.7.5 PathwayTS/MP10.8 TP標(biāo)準(zhǔn)10.8.1 Web服務(wù).事務(wù)10.8.2 XA接口10.8.3 對(duì)象事務(wù)服務(wù)10.8.4 JTA10.8.5 服務(wù)組件體系結(jié)構(gòu)10.8.6 OSGi聯(lián)盟10.8.7 高級(jí)消息隊(duì)列協(xié)議10.9 小結(jié)第11章 未來的發(fā)展趨勢(shì)11.1 介紹11.2 云計(jì)算11.3 可伸縮分布式計(jì)算11.4 存儲(chǔ)技術(shù)11.5 流和事件處理11.6 小結(jié)縮略語(yǔ)表參考文獻(xiàn)說明參考文獻(xiàn)
章節(jié)摘錄
插圖:
編輯推薦
《事務(wù)處理原理(第2版)》:為系統(tǒng)專業(yè)人員完整地修訂了經(jīng)典的非數(shù)學(xué)事務(wù)處理參考文獻(xiàn)內(nèi)容進(jìn)行了更新,重點(diǎn)放在通過互聯(lián)網(wǎng)進(jìn)行事務(wù)處理的需求上——這是通過Web服務(wù)器SOA以及重 要的TP技術(shù)和標(biāo)準(zhǔn)進(jìn)行的業(yè)務(wù)數(shù)據(jù)處理投資的重點(diǎn)內(nèi)容保留了第1版實(shí)用、深入和全面的技術(shù)基礎(chǔ),并對(duì)所有主題進(jìn)行了擴(kuò)展,包括事務(wù)中間件、業(yè)務(wù)流程管理、事務(wù)同步和數(shù)據(jù)庫(kù)復(fù)制
圖書封面
圖書標(biāo)簽Tags
無
評(píng)論、評(píng)分、閱讀與下載