引言 JTA(Java Transaction API)允許應(yīng)用程序執(zhí)行分布式事務(wù)處理--在兩個或多個網(wǎng)絡(luò)計算機資源上訪問并且更新數(shù)據(jù)。JDBC驅(qū)動程序的JTA支持極大地增強了數(shù)據(jù)訪問能力?! ”疚牡哪康氖且峁┮粋€關(guān)于的Java事務(wù)處理API(JTA)的高級的概述,以及與分布式事務(wù)相關(guān)的內(nèi)容。一個事務(wù)處理定義了一個工作邏輯單元,要么徹底成功要么不產(chǎn)生任何結(jié)果。 一個分布式事務(wù)處理只是一個在兩個或更多網(wǎng)絡(luò)資源上訪問和更新數(shù)據(jù)的事務(wù)處理,因此它在那些資源之間必然是等價的。在本文中,我們主要關(guān)心的是如何處理關(guān)系數(shù)據(jù)庫系統(tǒng)。 我們要討論的分布式事務(wù)處理(DTP)模型中包含的組件是: 應(yīng)用程序 應(yīng)用程序服務(wù)器 事務(wù)管理程序 資源適配器 資源管理程序 在以后的內(nèi)容中,我們將描述這些組件以及它們與JTA和數(shù)據(jù)庫訪問的關(guān)系?! ≡L問數(shù)據(jù)庫 最好把分布式事務(wù)處理中包含的組件看作是獨立的過程,而不是考慮它們在一個特定的電腦中的位置。這些組件中的一些可以保存在單機中,或者也可在好幾臺機器之間分布。 下面例子中的圖表可以顯示在一臺特定的電腦上的組件,但是這些操作之間的關(guān)系是必須首要考慮的。 最簡單的例子:用于本地數(shù)據(jù)庫事務(wù)處理的應(yīng)用程序 關(guān)系數(shù)據(jù)庫訪問的最簡單的形式僅僅包括應(yīng)用程序、資源管理程序和資源適配器。應(yīng)用程序只不過是發(fā)送請求到數(shù)據(jù)庫并且從數(shù)據(jù)庫中獲取數(shù)據(jù)的最終用戶訪問點 我們討論的資源管理程序是一個關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS),比如Oracle或者SQL Server。所有的實際數(shù)據(jù)庫管理都是由這個組件處理的?! ≠Y源適配器是外部空間之間的通信管道組件,或者是請求翻譯器,在本例中,是應(yīng)用程序和資源管理程序。在我們的討論中,這是一個JDBC驅(qū)動程序。 下面的描述是資源管理程序本地事務(wù)處理的一個描述,也就是說,一個事務(wù)處理被被限制在一個特定的企業(yè)數(shù)據(jù)庫?! ?yīng)用程序發(fā)送一個用于JDBC驅(qū)動程序數(shù)據(jù)的請求,然后翻譯這個請求并把它通過網(wǎng)絡(luò)發(fā)送到數(shù)據(jù)庫中。 數(shù)據(jù)庫把數(shù)據(jù)發(fā)送回驅(qū)動程序,然后把翻譯的結(jié)果發(fā)送回應(yīng)用程序,如下圖所示: 這個例子說明了在一個簡化的系統(tǒng)中的基本的信息流;然而,今天的企業(yè)使用的應(yīng)用程序服務(wù)器都添加了其他的組件到這個過程處理中
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報。