摘要:近些年來,以中間件技術(shù)為基礎(chǔ)的多層體系結(jié)構(gòu)得到越來越多的應(yīng)用。該文首先介紹了TUXEDO的特點,然后分析了TUXEDO的三層結(jié)構(gòu),最后,介紹了TUXEDO在業(yè)務(wù)運營支撐系統(tǒng)中的應(yīng)用。
關(guān)鍵詞:TUXEDO;三層結(jié)構(gòu);業(yè)務(wù)運營支撐系統(tǒng)
中圖分類號:TP311文獻標(biāo)識碼:A文章編號:1009-3044(2008)31-0992-03
Research and Application of BEA TUXEDO
XU Yang, YU La-sheng
(School of Information Science and Engineering of Central South University, Changsha 410083, China)
Abstract: Recently,the multi_tier architecture based on middleware is getting more and more application.First,this article introduces the characteristic of TUXEDO,then it analyse the three_tier architecture of TUXEDO,F(xiàn)inally,it introduce the application of TUXEDO in Business Operation Support System.
Key words: TUXEDO; three_tier architecture; business operation support system
1 引言
以中間件技術(shù)為基礎(chǔ)的多層體系結(jié)構(gòu)突破了兩層客戶/服務(wù)器結(jié)構(gòu)的局限性,為構(gòu)建大規(guī)模、高性能、分布式多層結(jié)構(gòu)應(yīng)用程序提供了通信、事務(wù)、安全、容錯等基礎(chǔ)服務(wù),它屏蔽了底層技術(shù)細節(jié),使應(yīng)用程序開發(fā)不必再從底層做起,以自身的復(fù)雜性換來了應(yīng)用程序開發(fā)的簡單。
BEA TUXEDO中間件是一種事務(wù)處理中間件產(chǎn)品,在電信,金融,政府,航空等領(lǐng)域有著廣泛的應(yīng)用。BEA TUXEDO是一個開放的環(huán)境,支持多種操作系統(tǒng)和硬件平臺,能夠在多種模式下整合異構(gòu)數(shù)據(jù)平臺,保證交易完整性和數(shù)據(jù)一致性。
該文將對BEA TUXEDO進行詳細的闡述,并介紹BEA TUXEDO在中國移動的業(yè)務(wù)運支撐系統(tǒng)改造工程中的應(yīng)用。
2 BEA TUXEDO概述
2.1 BEA TUXEDO簡介
TUXEDO是Transaction for Unix has been Extened for Distributed Operation的簡稱,即被分布式操作擴展之后的Unix事務(wù)系統(tǒng)。BEA TUXEDO是在企業(yè)、Internet 這樣的分布式運算環(huán)境中開發(fā)和管理三層結(jié)構(gòu)的客 戶/服務(wù)器型關(guān)鍵任務(wù)應(yīng)用系統(tǒng)的強有力工具。它具備分布式事務(wù)處理和應(yīng)用通信功能,并提供完善的各種服務(wù)來建立、運行和管理關(guān)鍵任務(wù)應(yīng)用系統(tǒng)。開發(fā)人員能
夠用它建立跨多個硬件平臺、數(shù)據(jù)庫和操作系統(tǒng)的可互操作的應(yīng)用系統(tǒng)。BEA TUXEDO是企業(yè)、 Internet 分布式應(yīng)用中的基礎(chǔ)主干平臺(見圖1)。它提供了一個開放的環(huán)境,支持各種各樣的客戶、數(shù)據(jù)庫、網(wǎng)絡(luò)、遺留系統(tǒng)和通訊方式。
BEA TUXEDO使分布式關(guān)鍵任務(wù)應(yīng)用系統(tǒng)具有大型主機的性能,從而使這些應(yīng)用系統(tǒng)能夠應(yīng)付數(shù)以千計的用戶,大交易吞吐量,多并行數(shù)據(jù)庫存取和大量數(shù)據(jù),同時保持較短的反應(yīng)時間,較高數(shù)據(jù)完整性和安全性。同時,BEA TUXEDO還能讓開發(fā)人員和系統(tǒng)管理人員享用分布式運算環(huán)境提供的好處,如技術(shù)成本的低增長率,靈活性提高,快速應(yīng)用開發(fā)和安裝以及業(yè)務(wù)信息存取得以改善。
2.2 BEA TUXEDO的特點
1)高度分布式交易處理
TUXEDO采用分布式交易管理,可以優(yōu)化一個或者多個數(shù)據(jù)庫之間的交易,從而保證無論使用何種訪問協(xié)議,都能在所有參與資源中確保數(shù)據(jù)的完整性。采用多種消息協(xié)議,為支持異構(gòu)平臺提供了同步、異步和會話式消息手法的API,交易隊列的引入,保證了在交易的處理或延遲方面的高度靈活性,允許分布式應(yīng)用通過異步、無連接的方式協(xié)同工作。
2)高效安全的資源管理
BEA TUXEDO提供的認證、授權(quán)和加密保證了在跨網(wǎng)絡(luò)部署應(yīng)用時數(shù)據(jù)的安全;應(yīng)用到交易管理器接口(ATMI)為C、C++和COBOL提供了一個跨所有 BEA Tuxedo 平臺的統(tǒng)一應(yīng)用編程接口,從而使得異構(gòu)數(shù)據(jù)的整合成為可能。
3)無限的可伸縮性和可靠性
BEA TUXEDO使應(yīng)用并行處理請求,并能在不同的分布式節(jié)點上同時處理多項交易;TUXEDO采用的可復(fù)制的服務(wù)框架可以再去按網(wǎng)中動態(tài)的復(fù)制分布式應(yīng)用,從而最大限度地提高性能和可靠性。TUXEDO采用自動化負載管理和據(jù)橫,提供了基于實時系統(tǒng)負載的自動化服務(wù)復(fù)制,可在所有可能資源之間動態(tài)地據(jù)橫請求,確保了穩(wěn)定的高吞吐量。
4)高速的數(shù)據(jù)通道
TUXEDO提供高速的數(shù)據(jù)通道,所謂數(shù)據(jù)通道,是指能夠把前段的大量網(wǎng)絡(luò)連接匯聚成較少的后端連接并減少數(shù)據(jù)傳送量。采用數(shù)據(jù)通道技術(shù),保證應(yīng)用系統(tǒng)即使在大量用戶同時請求服務(wù)的時候,也能夠保證快速、穩(wěn)定的工作狀態(tài)。聯(lián)機業(yè)務(wù)處理的應(yīng)用系統(tǒng)用戶數(shù)量很多,有時甚至達到幾十萬,TUXEDO利用高速通道將大量連接會結(jié)成很少的連接,從而節(jié)省了大量系統(tǒng)資源,成倍提高了主機的處理能力。
TUXEDO的三層邏輯結(jié)構(gòu)提供了對應(yīng)用程序高度的可管理性,他以業(yè)務(wù)邏輯層為管理的主要對象,把基本業(yè)務(wù)組件作為管理的基本單位,應(yīng)用系統(tǒng)由這些組件構(gòu)成,從而極大提高了應(yīng)用系統(tǒng)的具有很好的可擴展性和易修改性。圖2表示了BEA TUXEDO的三層軟件組件模型。
BEA TUXEDO的三層結(jié)構(gòu)模型:客戶/應(yīng)用服務(wù)器/數(shù)據(jù)庫將應(yīng)用的業(yè)務(wù)邏輯和用戶界面的表示分開。 這樣就允許開發(fā)人員專注于應(yīng)用的核心業(yè)務(wù)邏輯的劃分、封裝、與相互作用,快速建立系統(tǒng)的核心業(yè)務(wù)功能的原型。采用三層結(jié)構(gòu)進行系統(tǒng)的開發(fā)和實施,有助于減少開發(fā)工作量,縮短產(chǎn)品投放市場的時間,減少維護工作量。圖3是使用二層結(jié)構(gòu)開發(fā)和使用三層結(jié)構(gòu)開發(fā)的費用統(tǒng)計比較。
3 應(yīng)用案例
3.1 案例背景
為了滿足中國移動集團總公司提出的BOSS(Business Operation Support System 業(yè)務(wù)運營支撐系統(tǒng))系統(tǒng)的新規(guī)范BOSS3.0,某省移動公司提出了BOSS系統(tǒng)的改造工程,要求對BOSS系統(tǒng)的功能進行擴充。
3.2 系統(tǒng)架構(gòu)
該省移動公司的BOSS系統(tǒng)采用的是三層結(jié)構(gòu),表示層由客戶端和Web服務(wù)器構(gòu)成;業(yè)務(wù)邏輯層由Tuxedo中間件服務(wù)器和應(yīng)用業(yè)務(wù)服務(wù)器構(gòu)成;數(shù)據(jù)層由Oracle數(shù)據(jù)庫構(gòu)成,圖四是該BOSS系統(tǒng)的三層結(jié)構(gòu)。
在該體系結(jié)構(gòu)中采用了TUXEDO提供的基于服務(wù)的開發(fā)方式,TUXEDO的Server端實現(xiàn)服務(wù),TUXEDO的Client端調(diào)用Server的各種服務(wù)。當(dāng)客戶端發(fā)出一個請求時,通過TUXEDO的Client將請求信息發(fā)送給TUXEDO的Server端,Server端進行業(yè)務(wù)處理,并訪問數(shù)據(jù)庫進行數(shù)據(jù)的交互,然后將處理結(jié)果返回給TUXEDO的Client端,TUXEDO的Client端將數(shù)據(jù)處理后返回給客戶端。TUXEDO的Client端和Server端的通訊是通過TUXEDO自身提供的API函數(shù)實現(xiàn)的。
3.3 具體實現(xiàn)
下面以某省移動公司BOSS系統(tǒng)中資源調(diào)撥功能為例,說明TUXEDO系統(tǒng)服務(wù)的開發(fā)方法。
客戶端程序:
main()
{…
tpinit();/*聯(lián)接初始化*/
p=tpalloc();/*分配緩沖區(qū)*/
tpbegin();/*交易開始*/
tpcall(“resources_fetch”,
參數(shù)信息(資源所在倉庫號、資源序號、數(shù)量等));
/*請求從某倉庫中領(lǐng)取資源的交易服務(wù)*/
tpcall(“resources_move”,
參數(shù)信息(目標(biāo)倉庫號、資源序號、數(shù)量等));
/*請求將領(lǐng)取的資源存入如目標(biāo)倉庫的交易服務(wù)*/
if 領(lǐng)取資源成功并且存儲資源成功
tpcommit/*提交交易*/
else
tpabort;/*放棄交易*/
tpfree();/*釋放緩沖區(qū)*/
tpterm();/*中斷聯(lián)接*/
return;}
Client端程序中在tpbegin和tpcommit之間以及tpbegin和tpabort之間的交易請求由TUXEDO負責(zé)保證數(shù)據(jù)的完整性。
服務(wù)端程序:
#include“atmi.h”
resources_fetch(fetch_parameter)
TPSVCINFO *fetch_parameter
{ …從fetch_parameter中取得輸入?yún)?shù)…
EXEC SQL declare ResFetchsql cursor for
Update Resources_Table …/*執(zhí)行數(shù)據(jù)庫操作
EXEC SQL fetch ResFetchsql;
IF (SQLCODE != SQL_OK)
{…出錯處理…}
EXEC SQL close ResFetchsql;
…將結(jié)果放入fetch_parameter…
tpreturn(TPSUCCESS,返回數(shù)據(jù))}
3.4 系統(tǒng)特點
1)減少系統(tǒng)開發(fā)時間。由于引入了交易中間件TUXEDO,使得系統(tǒng)的擴展能力得到了質(zhì)的變化,大大減少了系統(tǒng)功能擴充時的開發(fā)時間。
2)便利的移植性。TUXEDO屏蔽了異構(gòu)的平臺環(huán)境,該系統(tǒng)是運行在AIX系統(tǒng)和Solaris系統(tǒng)上的,所以只需開發(fā)一個版本,就可以輕松實現(xiàn)程序的移植。
3)高效的系統(tǒng)性能。在十萬條數(shù)據(jù)的處理過程中,系統(tǒng)響應(yīng)時間小于5秒。
4 結(jié)束語
業(yè)務(wù)運營支撐系統(tǒng)是一個結(jié)構(gòu)復(fù)雜,功能繁多,子系統(tǒng)數(shù)量龐大的大型系統(tǒng),隨著業(yè)務(wù)運營支撐系統(tǒng)標(biāo)準(zhǔn)的變化,系統(tǒng)也要發(fā)生相應(yīng)的變化。因此,系統(tǒng)運行時的高性能,高可靠性和易擴展性是在系統(tǒng)實現(xiàn)過程中需要著重考慮的。 交易中間件BEA TUXEDO的引入,使得系統(tǒng)的開發(fā)變得更為簡單,提高了系統(tǒng)的整體性能,由于BEA TUXEDO無限的可伸縮性,使得業(yè)務(wù)運營支撐系統(tǒng)業(yè)務(wù)功能的自由擴展成為可能。
參考文獻:
[1] 羅濤,張正.基于Tuxedo中間件的分布式業(yè)務(wù)系統(tǒng)的實現(xiàn)[J].計算機工程與應(yīng)用,2005,41(21):104-106.
[2] 郭磊,吳春旭.BEA TUXEDO在移動計費系統(tǒng)中的應(yīng)用[J].計算機系統(tǒng)應(yīng)用,2006(4):91-93.
[3] 馮元,李增智.BEA TUXEDO應(yīng)用開發(fā)與系統(tǒng)配置[J].微電子學(xué)與計算機,2003,20(12):54-56,60.
[4] 黃昕,耿勝華.基于tuxedo中間件的多層體系結(jié)果研究[J].計算機工程與應(yīng)用,2003,39(1):94-95.