Object 3Tier Infoworks (簡稱 O3W)


聲明:摘自 基於O3W平台的證券交易系統設計與實現_易軼 2007年碩士學位論文 僅供學習,如有侵權,請聯系作者刪除!

第二章 Object 3Tier Infoworks 平台的研究


2.1 分布式多層架構技術介紹

 傳統的分布式應用系統模式是“主機/終端”或“客戶機/服務器客戶機/服務器系統(Client/Server System)的結構是
指把一個大型的計算機應用系統變為多個能互為獨立的子系統,而服務器便是整個應用系統資源的存儲與管理中心,
多台客戶機則各自處理相應的功能,共同實現完整的應用。

 但是,隨着對各種舊有應用的不斷擴充和新應用的不斷增加,各企業IT部門面臨的問題也越來越多,諸如不同硬件平台、
諸如不同硬件平台不同網絡環境不同數據庫之間的互操作、多種應用模式的並存、系統運行效率過低、傳輸不可靠、

數據加密、開發周期過長等問題,單純依賴傳統的的結構的系統已經不能滿足要求。於是為解決傳統模式與應用需求日益
突出的矛盾,為解決傳統模式與應用需求日益突出的矛盾,以交易中間件為基礎框架的三層客戶機服務器模式應運而生。

 三層結構以中間層管理大量的客戶端,並為其聯接、集成多種異構的服務器平台,通過有效的組織和管理,
在極為寬廣的范圍內將客戶機與服務器進行高效組合。同時中間件開創的以負載平衡動態伸縮等功能為代表的管理模式,
己被廣泛證實為建立關鍵業務應用系統的最佳環境,使在傳統模式下不可能實現的應用成為可能,並為應用提供了充分的擴展余地。

 目前最流行的分布式架構技術主要是 MicrosoftCOM/DCOM/COM+ 和 700多個廠商共同提倡的 COBRA 以及 
Sun 公司提倡的 EJB ,三者雖然實現的方案和平台各自不同,但是它們的核心架構都是一樣的,都是由客戶端程序中間層
服務程序數據庫服務三層共同構成。在中間層,分布式業務組件負責企業應用的商業邏輯部署

1、ActiveX方案
 ActiveX是微軟綜合Winn32,OLE和COM/DCOM等技術所建立的一整套Internet應用開發,平台其核心是微軟的組件模型
COM/DCOM。ActiveX的運行機制是,瀏覽器下載ActiveX控件,腳本或者文檔並在本地運行,他們可以作為DCOM客戶,
利用DCOM的對象遠程過程調用機制訪問應用服務器中的對象,也可以通過服務器上ISAPI等接口,訪問后端數據庫。

  ActiveX是從對象聯接與嵌入技術OLE演化而來,在此之前所開發的大量的OLE對象可以被ActiveX所重用,從而節省了
軟件開發的投資。ActiveX是一種與語言無關的開發平台,ActiveX控件或者腳本可以用Visual C++、Visual Basic、Java、
 JavaScript 等多種語言實現,因而方便了程序員的開發。然而目前DCOM只支持Windows平台,因此用ActiveX的分布式計算
組件模型只能運行在Windows平台上無法滿足異構環境下應用的要求。

2、Java RMI方案
 遠程方法調用RMI是Sun公司用Java語言建立的分布對象計算環境。其客戶端程序是一個Java Applet或者JavaBeans對象,
它通過RMI內部通信機制調用應用服務器上Java的對象的有關方法,繼而以JDBC等方式訪問資源數據庫。

 因為Java RMI是在純Java環境下實現的,Java語言本身的可移植性使得RMI有很強的跨平台性。此外,在處理純Java對象
之間的通信的時候,RMI具有較高的效率。但是RMI只能訪問Java對象這妨礙了它與其他語言編寫的應用之間的交互,影響了
其應用范圍的擴展。從內部實現機制上來看,RMI可以看成一種廣義的ORB。

3、COBRA方案
  在該方案中,COBRA客戶方程序從HTTP服務器下載執行,與應用服務器上COBRA的應用對象通過IIOP協議進行通信,
調用其指定的操作。COBRA應用對象首先對客戶的請求進行認證和解釋,根據客戶的請求的內容,或者直接訪問
資源層的數據庫,或者與網絡上其它COBRA對象相互交互,共同完成客戶的請求。COBRA方案的優勢在於它是一個
完整的開放的穩定的分布式對象計算體系,並且具有“即插即用“的軟總線機制,而且其具有跨平台、跨語言的特性。

4、EJB方案
 EJB定義了一種服務器端組件模型,它允許商務對象的開發,並可以從一種品牌的CTM組件事務監控器
轉移到另一種品牌的CTM。組件(bean)代表一個簡單的編程模型,它允許開發者集中於商務目的。EJB的服務器遵循
EJB規范的CTM,則負責將組件生成分布式對象與管理各種服務,如事務性、持久性、並發性和安全性等。
除了基於商務邏輯定義bean外,開發者還要定義bean的運行屬性、方法與選擇可視化組件的顯示屬性類似。
組件的如事務性、持久性、並發性和安全性行為能通過一系列屬性中選擇定義。最終結果是, EJB使在健壯的事務環境中
開發分布式組件系統更加容易。對於那些關鍵性的任務,尤其高速執行的分布式系統中使用COBRA DCOM
和 JAVA RMI感到復雜的開發者和IT廠商而言,
EJB提供了一個更簡單、更高效的開發平台。

 EJB已經成為了一種事實上的工業標准,很多供應商早在規范最后完成前就宣布了他們對EJB的支持。
EJB提供了一種標准分布式組件模型,可以大大簡化開發過程,並允許在一個供應商的EJB服務器上開發和配置
bean的能輕易被配置到其他供應商EJB服務器。

 在目前的企業計算環境中,EJB COMCOBRA並列為三大組件標准。
 EJB是用於開發和部署多層結構的、分布式的、面向對象的應用系統的跨平台的構件體系結構。

 采用EJB可以使開發商業應用系統變得容易,應用系統可以在一個支持EJB的環境中開發,開發完之后部署
在其他的環境中。從而隨着需求的改變,應用系統可以不加修改地遷移到其他功能更強、更復雜的服務器上。

中間件技術介紹

1、中間件的定義

 由於划分的標准不同,目前對於什么是中間件並沒有准確而統一的定義。在眾多關於中間件的定義中,
比較普遍被接受的是IDC表述的:

  • 中間件是一種獨立的系統軟件或服務程序
  • 分布式應用軟件 借助 這種軟件 在不同的技術之間共享資源,
  • 中間件位於客戶機服務器的操作系統之上,管理計算資源和網絡通信。

 IDC對中間件的定義表明

  1. 中間件是一類軟件,而非一種軟件;
  2. 中間件不僅僅實現互連,還要實現應用之間的互操作;
  3. 中間件是基於分布式處理的軟件,最突出的特點是其網絡通信功能。

在綜合現有研究成果的基礎上,我們可以給出如下的關於中間件的完整性定義,即

  • 中間件是位於應用軟件系統基礎軟件之間的獨立的具有相應層次的系統軟件或通用服務,
  • 通過提取可重用的應用模式以及對標識認證授權目錄安全性等服務的標准化和互操作,
  • 為應用提供統一的標准化程序接口和協議
  • 隱藏底層硬件、操作系統和網絡的異構性,
  • 統一管理網絡資源的網絡通信,靈活高效地開發分布式應用。

中間件是基礎軟件的一大類,屬於可復用軟件的范疇,總的作用是:

  • 為處於自己上層的應用軟件提供運行與開發的環境
  • 幫助用戶靈活、高效地開發和集成復雜的應用軟件


由此定義不難看出,中間件具有如下基本特征:

  1. 獨立性:獨立於應用程序和系統軟件,保證應用程序接口的穩定性
  2. 標准化:支持標准的協議和接口,用來實現互連和應用之間的互操作
  3. 層次化:本身具有的一定的層次,構成中間件的層次開發結構
  4. 透明性:支持分布計算,提供跨網絡、硬件和操作系統的透明性
  5. 領域相關性:針對不同的應用領域,需要與應用領域相適應的中間件。

2、中間件的基本作用


 對於應用軟件開發,中間件遠比操作系統和網絡服務更為重要。中間件的作用是為處於自己上層的應用軟件提供運行與開發
的環境,幫助用戶靈活、高效地開發和集成復雜的應用軟件,通常用於系統內部數據庫與應用之間的消息傳遞處格式轉換等問題。

 中間件帶給應用系統的,不只是開發的簡便、開發周期的縮短,也減少了系統的維護、運行和管理的工作量,還減少了
計算機總體費用的投入。其次,中間件作為新層次的基礎軟件,其重要作用是將不同時期、不同操作系統上開發應用軟件
集成起來像一個天衣無縫的整體協調工作。這是操作系統、數據庫管理系統本身做不了的,從而節約了大量的人力,財力投入。
另外,在越來越熱的電子商務領域,中間件依然大有作為。中間件可以用來廣泛地集成電子商務中的各種應用,支持大量客戶的
並發訪問,使應用開發商快速開發出靈活多變的電子商務應用,並盡快把信息系統和商務活動放到中。


  中間件的作用具體體現在它所提供的服務上,主要包括

  1)通訊服務


  目前的操作系統都支持網絡編程接口但是這些接口通常都是底層的並且非常復雜而不利於使用。
中間件則對分布式應用的開發者屏蔽了復雜的底層網絡編程細節。
  由於中間件需要屏蔽分布環境中操作系統網絡協議的異構性,因此它必須能夠提供分布環境下的通訊服務。
基於目的和實現機制的不同,應用間的分布式通訊包括以下三類

  • 遠程過程調用RPC
  • 消息
  • 對象請求代理ORB

在這些基本的通訊平台之上,可以構築各種框架,為應用程序提供不同領域內的服務,如事務處理監控器
分布數據訪問對象事務管理器OTM等。

 

  2)並發性服務

  基於中間件的應用必須具有高度可擴展性,通常以每秒所處理的請求或消息的數量(QPS)來衡量。
這種要求在系統中保證最大化的並發性,這樣就可以同時執行盡可能多的任務。中間件系統使用
很多技術和模式來增強並發性,例如在服務器進程中采用多線程技術,多線程技術允許中間件子系統
最大化網絡連接的處理以及達到這些連接的請求和消息的處理等。

  3)通用中間件支持

  除了提高通信和並發服務支持外,分布式應用中使用中間件服務來解決那些獨立於任何特定應用領域的問題。
最常用的中間件服務有目錄服務事務服務安全服務管理服務事件服務連續性服務負載平衡服務配置服務

3、中間件的分類


  中間件的種類有很多,通訊和事務處理中間件是中間件層次划分中最為基本的中間件,
它們向下需要網絡協議的支持,向上為最高層應用提供基礎平台。因此在上述層次划分的基礎上,
可以根據功能將中間件進一步細化為以下種類:

    • 通信處理中間件(包括遠程過程調用中間件和消息中間件
    • 事務處理中間件
    • 數據存取中間件
    • 分布對象中間件
    • 安全中間件
    • 網絡中間件
    • 服務器中間件包括Web務器中間件服務器構架中間件以及專用平台中間件等。

 

2.3 Object 3Tier Infoworks平台的技術介紹


  在證券行業的大型計算機應用系統中,中間件的使用日益普及,中間件已與操作系統數據庫並列為三大基礎軟件。
Object 3Tier Infoworks(o3w)平台是日本野村綜合研究所開發的己成為行業標准的分布式多層架構中間件,在日本的
證券行業中廣泛使用。通過對分布式應用的開發者隱藏底層信息屏蔽網絡和分布式應用的復雜性,並為網絡和分布式應用
提供相應的服務,使得開發者可以集中致力於應用邏輯。

  Object 3Tier Infoworks平台是在證券企業、Internet這樣的分布式運算環境中開發和管理三層結構的
客戶服務器型關鍵任務應用系統的強有力工具。它具備分布式事務處理應用通信功能,並提供各種完善的服務來建立、

運行和管理關鍵任務應用系統。開發人員能夠用它建立跨多個硬件平台、數據庫和操作系統的可互操作的應用系統。
Object 3Tier Infoworks平台是企業、Internet分布式應用中的基礎主干平台。

  Object 3Tier Infoworks平台提供了一個開放的環境,支持各種各樣的客戶、數據庫、網絡、遺留系統和通訊方式。
它使分布式關鍵任務應用系統具有大型主機的性能,從而使這些應用系統能夠應付數以千計的用戶,大交易吞吐量,多
並行數據庫存取和大量數據,同時保持較短的反應時間,較高數據完整性和安全性,並且確保全年天,每周天,每天小時
的系統可用性。同時,Object 3Tier Infoworks平台還能讓開發人員和系統管理人員享用分布式運算環境提供的好處,
如技術成本的低增長率,靈活性提高,快速應用開發和安裝以及業務信息存取得以改善。

  關鍵業務應用通常是面向事務的,要求具有准確的數據完整性、較好的性能和管理需求。這些需求要求對應用的開發、
調度和操作給出一個結構化的方案。由像Object 3Tier Infoworks平台這樣的中間件支持的組件軟件模型為分布式環境
處理關鍵性業務應用提供了一個結構化的解決方案,。
Object 3Tier Infoworks平台和基於組件的應用設計從異構的計算資源中創建了一個虛擬主機在分布式應用系統級提供
可管理的相互關聯的資源。
O3W平台具有以下中間件功能


1、通信處理中間件

 由於中間件需要屏蔽分布環境中異構的操作系統和網絡協議,因此它必須能夠提供分布環境的通訊服務。
通信處理中間件能在不同平台之間進行通信,實現分布式應用中實時、可靠、高效的跨平台數據傳輸。

 O3W平台采用消息中間件來構建,通過消息中間件來把應用擴展到不同的操作系統和網絡環境。消息中間件非常適合
時間驅動的應用,事件發生后,消息中間件通知服務方應該進行何種操作。由於采用消息中間進行編程,消息中間件
可以非常方便地擴展到不同操作系統和硬件平台上。消息中間件的核心安裝在需要進行消息傳遞的系統上,建立消息傳遞
的邏輯通道,由中間件實現消息發送。消息中間件是一種點到點的機制,既支持同步方式也支持異步方式,因而非常適
合面向對象的編程方式。


2、數據存取中間件
  數據存取中間件適用於應用程序數據源之間的互操作模型。在分布式系統中,重要數據集中存放在
數據服務器中,客戶端使用面向數據庫的API,提請直接訪問和更新基於服務器的數據源,包括關系型非關系型
對象型數據源,也包括經過加密或壓縮存放的各種格式的多媒體類型。平台為分布式網絡環境下的虛擬緩沖存取
格式轉換以及解壓縮等帶來方便,采用了數據庫廠商直接提供的數據存取中間件,如JDBC等。

  數據存取中間件大多基於語句,采用同步通信方式。數據存取中間件使得開發分布式應用簡單,但是若在
廣域網上使用會帶來嚴重的效率問題,這是因為廣域網上語句的交互使得通訊流量過大,同時對數據壓縮、加密帶來不便。
因此針對不同的應用需求,如對海量數據、異格式數據、壓縮數據以及加密數據等,需要分別有相應的中間件。

3、分布對象中間件
  面向對象技術是軟件界孜孜以求的目標,傳統的面向對象技術通過封裝繼承以及多態提供了良好的代碼重用功能。
但是這些對象僅存在程序中,無法向外界表明它們的存在,因此無法被外部所訪問。O3W平台采用了適用於瀏覽器的
J2EE面向對象中間件,提供了標准的構件框架,使得不同廠商的軟件通過不同的地址空間、網絡和操作系統相互交互
訪問,此構件的具體實現、位置以及所依附的操作系統對客戶而言都是透明的。

 

2.4 Object 3Tier Infoworks平台的優點


1、縮短應用的開發周期
  Object 3Tier Infoworks平台的三層結構組件軟件模型將用戶界面的表示部分業務邏輯部分按客戶組件
服務器組件分開,使開發人員能夠按組件的思想專注入於業務邏輯的開發,用戶界面部分可用流行的前端開發工具
來快速完成。而客戶和服務器之間、服務器和服務器之間的通訊,異構平台之間的數據變換,以及服務器和數據庫之間
的集成和事務控制都由平台來完成。當數據庫或服務器端的業務邏輯改變時,客戶端則不一定要改變反之當客
戶改變或增加新的客戶界面時,服務器端則不一定要改變,大大增加了應用系統的各部分的可復用性。
平台提供的簡潔使用戶程序能夠物理地點透明地在客戶和服務器之間、服務器和服務器之間進行各種方式的通訊,
極大地減輕開發人員的負擔。

 

2、減少系統運行成本

 沒有使用中間件的應用系統,其初期的資金及運行費用的投入要比同規模的使用中間件的應用系統多一倍。

3、減少項目開發風險
 
研究表明,沒有使用標准商業中間件的關鍵應用系統開發項目的失敗率高於90%。利用Object 3Tier Infoworks平台有助於
減輕應用軟件開發者的負擔,使他們利用現有的硬件設備、操作系統、網絡、數據庫管理系統以及對象模型創建分布式應用軟件
時更加得心應手。


4、減少應用開發費用
  對於應用軟件開發,Object 3Tier Infoworks平台提供的程序接口定義了一個相對穩定的高層應用環境,不管底層的計算機
硬件和系統軟件怎樣更新換代,只要將平台升級更新,並保持中間件對外的接口定義不變,應用軟件幾乎不需任何修改,從而
保護了企業在應用軟件開發和維護中的重大投資。

5、非常高的性能
  一方面,平台能夠使多個客戶連接到一個服務器進程,由這個服務器進程存取數據庫,為客戶的請求服務。這樣,
數據庫為處理連接所需的資源大大減少。另一方面,客戶和服務器之間,服務器和服務器之間的通訊中,網絡上流動的
只有相對較少的客戶或服務器的請求和服務器處理的結果,而不再是兩層結構中客戶和之間的大量請求和應答。

6、系統的安全性
  平台通過結構化用戶界面支持應用服務的驗證、授權和存取控制,允許用戶加入自己的驗證服務模塊。平台還提供信息加密
服務,允許對網絡上傳輸的信息進行算法加密。


7、技術革新性
  企業對自我建造的基礎中間件軟件平台的頻繁革新是極不容易實現的不實際的。而采用Object 3Tier Infoworks平台,
則對技術的發展與變化可以放心,因為開發Object 3Tier Infoworks平台的野村綜合研究所會責無旁貸地把握技術方向和進行技術革新。

第四章證券交易系統的具體實現


本證券交易系統總的處理流程是:

  1. 客戶端瀏覽器發出請求,
  2. 控制器接收用戶的請求后,先進行輸入項目驗證,並決定應該調用哪個業務模型來進行處理,
  3. 再對業務模型所需的接口參數編輯處理,
  4. 然后,模型用業務邏輯來處理用戶的請求並返回數據,
  5. 最后用相應的視圖格式化模型返回的數據,
  6. 並根據Web頁面跳轉控制文檔來控制Web頁面轉換,
  7. 把返回的數據以JSP頁面呈現給用戶。

 本系統使用 O3W_Studio 附帶的XML_Creator文件來實現EXECL加載宏功能,這樣就能利用該功能生成的XML文檔來進行系統功能控制。

  只要定義好

  • Data Store Bean 文件、
  • Web頁面跳轉控制文件、
  • 模塊功能調用文件、
  • 數據變換文件
  • 及接口參數定義文件等Excel文檔

  點擊EXECL軟件的XML_Creator宏功能,就會自動生成相對應的Data Store Bean文件、Web頁面跳轉控制文件、模塊功能調用文件、

數據變換文件及接口參數定義文件等的XML文檔。

  1. 首先編寫文檔:
    • Data Store Bean定義文件、
    • Web頁面跳轉控制定義文件、
    • 模塊功能調用定義文件、
    • 數據變換定義文件
    • 及接口參數定義文件
  2. 然后通過EXECL軟件的XML_Creator宏功能,生成相對應的XML文件。
  3. 最后編寫JSP頁面代碼和實現業務邏輯COBOL的代碼,並把這些文件及上述的文件配置到服務器上。

4.1、系統視圖層的實現


  本證券交易管理系統中的視圖部分主要是由一系列頁面組成,主要功能是進行請求將模塊處理的數據表現給客戶端。
JSP頁面使用了大量的JavaScript作為共同函數,以此進行軟件代碼復用,簡化開發過程。作為一種嵌入HTML文檔的、
基於對象的腳本設計語言,其中很大一部分的語法同JAVA語言很相似,而且的設計可以使它很容易地同語言一同工作,它可以充
分支持JAVAapplet小應用程序,JAVAapplet的小應用程序也可以很方便地訪問已有的代碼。所以,
可以把JavaScript看成是JAVA語言的某種簡化版本。


  在JavaScript這樣的用戶端腳本語言出現之前,傳統的數據提交驗證工作均由用戶端瀏覽器通過網絡傳輸到服務器上進行。
如果數據量很大,這對於網絡和服務器的資源來說實在是一種無形的浪費。而使用JavaScript就可以在客戶端進行數據驗證。
JavaScript可以方便地操縱各種瀏覽器的對象,可以使用JavaScript來控制瀏覽器的外觀狀態甚至運行方式,可以根據用戶的

需要“定制”瀏覽器,從而使網頁更加友好。可以使多種任務僅在用戶端就可以完成而不需要網絡和服務器的參與,

從而支持分布式的運算和處理。

在視圖層主要使用了以下技術

 

1、TagLib
 在JSP前端頁面中使用各種標簽完成頁面數據邏輯的組織與顯示。如(html,bean,logic)

2、國際化的消息處理功能
 在JSP頁面中不出現特定語言的字符串描述,將這些統一的字符串信息統一的提取到文件中,通過標簽提取。
便於整個系統的語言變更與組織。


3、界面組合功能
    統一組織頁面的結構,便於系統改版、維護。


4.1.1視圖層的數據交換

  在本系統中的所有的數據交換過程都是通過類型緩沖區來完成的。所謂類型緩沖區,即一塊特定格式的內存塊,
用來實現客戶端和服務端之間的數據交換。Object 3Tier Infoworks平台提供了名為Data Store Bean緩沖區來供開發者使用。
這種統一定義的類型緩沖區可以使它們在跨越不同網絡、不同協議、不同構架以及不同操作系統之間得到統一的處理,
這就使得開發者在分布式計算環境中有效地避開了異構網絡和異構計算機系統帶來的差異,把精力集中在商業邏輯的開
發上。
  對緩沖區的操作有增加、刪除、修改等。客戶端調用某項服務之前,如需要使用DSB,則要事先對DSB實例進行內存分配

實例初始化工作,再向此緩沖區中寫入需要傳遞的數據同樣端首先要從中取得傳入的參數,並檢查參數的有效性,
再進行下一步操作。在返回數據時,同樣要對進行一些寫入操作。

4.2.1 COBOL語言的使用


  在本系統中,是采用COBOL語言來實現業務邏輯功能。COBOL的全稱是 Common Business Oriented Language,
意即通用商業語言。在企業管理中,數值計算並不復雜,但數據處理信息量卻很大。為專門解決經企管理問題,於1959
年,由美國的一些計算機用戶組織設計了專用於商務處理的計算機語言COBOL,並於1961年美國數據系統語言協會公布。
經不斷修改、豐富完善和標准化,己發展為多種版本。

  COBOL語言使用了300多個英語保留字,大量采用普通英語詞匯和句型,COBOL程序通俗易懂,素有“英語語言”之稱。
語言語法規則嚴格。用語言編寫的任一源程序,都要依次按標識部、環境部、數據部和過程部四部分書寫,

  • 程序結構的“”內包含“
  • ”內包含“
  • 段內包含語句
  • 語句字或字符串組成,

整個源程序象一棵由根到干,由干到枝,由枝到葉的樹,習慣上稱之為樹型結構。
目前COBOL語言主要應用於情報檢索商業數據處理等管理領域。

 Java擅長使用者接口的設計,COBOL而則是在商業邏輯上(business logic)十分強大。COBOL被用來
開發存貨、銀行、支付、流通和股票交易系統,可說大部份重要應用都是用開發的,而且這些都是企業里最最重要的系統。

 COBOL一直是符合業界標准,像是近年分別取得ANSI以及ISO的標准認證,隨着環境的變遷,
也不斷增加許多新的功能,其中最大的特色在於我們轉變為對象導向一的程序語言,這使得一直持續和的合作。
現在就是以協助企業開發組件化的應用為目的。

4.2.2事務的使用


 本系統業務邏輯的實現中采用了事務。我們要求在(分布式)資源上的一組操作被當作一個工作單元(unit)
在一個工作單元中,操作的所有部分一起成功或失敗並恢復。在所有情況下,都要求應用維護一個工作單元的成功或失敗。
在失敗的情況下,所有資源要把數據狀態返回到以前的狀態,(比如說,工作單元開始前的狀態)。

事務的概念即為了在一個工作單元中維護數據的完整性。

一個事務是有下列屬性的一個工作單元:

1、原子性(ATOMCITY):一個事務要被完全的無二義性的做完或撤消。在任何操作出現一個錯誤的情況下,
構成事務的所有操作的效果必須被撤消,數據應被回滾到以前的狀態。

2、一致性(CONSISTENCY)均一個事務應該保護所有定義在數據上的不變的屬性例如完整性約束。
在完成了一個成功的事務時,數據應處於一致的狀態。換句話說,一個事務應該把系統從一個一致狀態轉換到另一個一致狀態。
舉個例子,在關系數據庫的情況下,一個一致的事務將保護定義在數據上的所有完整性約束。

3、隔離性(ISOLATION):在同一個環境中可能有多個事務並發執行,而每個事務都應表現為獨立執行。
串行的執行一系列事務的效果應該同於並發的執行它們。這要求兩件事:在一個事務執行過程中,數據的中間的可能
不一致狀態不應該被暴露給所有的其他事務;兩個並發的事務應該不能操作同一項數據。數據庫管理系統通常使用鎖來實現這個特征。

4、持久性(DURABILITY):一個被完成的事務的效果應該是持久的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM