鷹翔宇空

          學(xué)習(xí)和生活

          BlogJava 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
            110 Posts :: 141 Stories :: 315 Comments :: 1 Trackbacks
          引自:http://act.it.sohu.com/book/chapter.php?id=387&volume=4&chapter=1

          引言

            JTA(Java Transaction API)允許應(yīng)用程序執(zhí)行分布式事務(wù)處理--在兩個(gè)或多個(gè)網(wǎng)絡(luò)計(jì)算機(jī)資源上訪問(wèn)并且更新數(shù)據(jù)。JDBC驅(qū)動(dòng)程序的JTA支持極大地增強(qiáng)了數(shù)據(jù)訪問(wèn)能力。

            本文的目的是要提供一個(gè)關(guān)于的Java事務(wù)處理API(JTA)的高級(jí)的概述,以及與分布式事務(wù)相關(guān)的內(nèi)容。一個(gè)事務(wù)處理定義了一個(gè)工作邏輯單元,要么徹底成功要么不產(chǎn)生任何結(jié)果。 一個(gè)分布式事務(wù)處理只是一個(gè)在兩個(gè)或更多網(wǎng)絡(luò)資源上訪問(wèn)和更新數(shù)據(jù)的事務(wù)處理,因此它在那些資源之間必然是等價(jià)的。在本文中,我們主要關(guān)心的是如何處理關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)。

            我們要討論的分布式事務(wù)處理(DTP)模型中包含的組件是:

              應(yīng)用程序

              應(yīng)用程序服務(wù)器

              事務(wù)管理程序

              資源適配器

              資源管理程序

            在以后的內(nèi)容中,我們將描述這些組件以及它們與JTA和數(shù)據(jù)庫(kù)訪問(wèn)的關(guān)系。

            訪問(wèn)數(shù)據(jù)庫(kù)

            最好把分布式事務(wù)處理中包含的組件看作是獨(dú)立的過(guò)程,而不是考慮它們?cè)谝粋€(gè)特定的電腦中的位置。這些組件中的一些可以保存在單機(jī)中,或者也可在好幾臺(tái)機(jī)器之間分布。 下面例子中的圖表可以顯示在一臺(tái)特定的電腦上的組件,但是這些操作之間的關(guān)系是必須首要考慮的。

            最簡(jiǎn)單的例子:用于本地?cái)?shù)據(jù)庫(kù)事務(wù)處理的應(yīng)用程序

            關(guān)系數(shù)據(jù)庫(kù)訪問(wèn)的最簡(jiǎn)單的形式僅僅包括應(yīng)用程序、資源管理程序和資源適配器。應(yīng)用程序只不過(guò)是發(fā)送請(qǐng)求到數(shù)據(jù)庫(kù)并且從數(shù)據(jù)庫(kù)中獲取數(shù)據(jù)的最終用戶訪問(wèn)點(diǎn)

            我們討論的資源管理程序是一個(gè)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS),比如Oracle或者SQL Server。所有的實(shí)際數(shù)據(jù)庫(kù)管理都是由這個(gè)組件處理的。

            資源適配器是外部空間之間的通信管道組件,或者是請(qǐng)求翻譯器,在本例中,是應(yīng)用程序和資源管理程序。在我們的討論中,這是一個(gè)JDBC驅(qū)動(dòng)程序。

            下面的描述是資源管理程序本地事務(wù)處理的一個(gè)描述,也就是說(shuō),一個(gè)事務(wù)處理被被限制在一個(gè)特定的企業(yè)數(shù)據(jù)庫(kù)。

            應(yīng)用程序發(fā)送一個(gè)用于JDBC驅(qū)動(dòng)程序數(shù)據(jù)的請(qǐng)求,然后翻譯這個(gè)請(qǐng)求并把它通過(guò)網(wǎng)絡(luò)發(fā)送到數(shù)據(jù)庫(kù)中。 數(shù)據(jù)庫(kù)把數(shù)據(jù)發(fā)送回驅(qū)動(dòng)程序,然后把翻譯的結(jié)果發(fā)送回應(yīng)用程序,如下圖所示:


            這個(gè)例子說(shuō)明了在一個(gè)簡(jiǎn)化的系統(tǒng)中的基本的信息流;然而,今天的企業(yè)使用的應(yīng)用程序服務(wù)器都添加了其他的組件到這個(gè)過(guò)程處理中。

          posted on 2006-02-20 14:43 TrampEagle 閱讀(200) 評(píng)論(0)  編輯  收藏 所屬分類: java
          主站蜘蛛池模板: 浦城县| 宁晋县| 元谋县| 舒城县| 钟祥市| 门头沟区| 道真| 黄石市| 丰镇市| 龙岩市| 固始县| 乡城县| 庆城县| 临猗县| 七台河市| 南充市| 进贤县| 连平县| 宾阳县| 宜城市| 肇州县| 宁波市| 香河县| 马公市| 白河县| 黄梅县| 新河县| 红原县| 镶黄旗| 东莞市| 台前县| 同德县| 区。| 哈密市| 濉溪县| 新干县| 团风县| 双流县| 类乌齐县| 吉林省| 彭泽县|