《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 设计应用 > 多层分布式体系技术在电信触摸屏多媒体查询系统中的应用
多层分布式体系技术在电信触摸屏多媒体查询系统中的应用
罗会兰 谢小兵
摘要: 一种利用中间件Tuxedo实现电信触摸屏多媒体查询系统的体系结构及其相关组件的实现。
Abstract:
Key words :

  摘  要: 一種利用中間件Tuxedo實現(xiàn)電信觸摸屏多媒體查詢系統(tǒng)的體系結(jié)構(gòu)及其相關(guān)組件的實現(xiàn)。

  關(guān)鍵詞: 多層分布式體系技術(shù)  中間件  Tuxedo系統(tǒng)

   傳統(tǒng)的應(yīng)用系統(tǒng)模式是主機/終端或客戶機/服務(wù)器模式。客戶機/服務(wù)器系統(tǒng)(Client/Server System)的結(jié)構(gòu)是指把一個大型的計算機應(yīng)用系統(tǒng)劃分為多個能互為獨立的子系統(tǒng),而服務(wù)器便是整個應(yīng)用系統(tǒng)資源的存儲與管理中心,多臺客戶機則各自處理相應(yīng)的功能,共同實現(xiàn)完整的應(yīng)用。隨著Internet的發(fā)展壯大,這些傳統(tǒng)模式已經(jīng)不能適應(yīng)新的環(huán)境,于是就產(chǎn)生了新的分布式應(yīng)用系統(tǒng),即瀏覽器/服務(wù)器結(jié)構(gòu)、瘦客戶機模式。

  在Client/Server結(jié)構(gòu)模式中,客戶端直接連接到數(shù)據(jù)庫服務(wù)器,由二者分擔業(yè)務(wù)處理,這樣的體系存在以下缺點:

  (1)Client與Server直接連接,安全性低。非法用戶容易通過Client直接闖入中心數(shù)據(jù)庫,造成數(shù)據(jù)損失。

  (2)Client程序龐大,并且隨著業(yè)務(wù)規(guī)則的變化需要隨時更新。這使得維護量大大增加,造成維護工作困難。

  (3)每個Client都要直接連到數(shù)據(jù)庫服務(wù)器,使服務(wù)器為此消耗大量本就緊張的服務(wù)器資源。

  (4)大量的數(shù)據(jù)直接在Client/Server端傳送,在業(yè)務(wù)高峰期容易造成網(wǎng)絡(luò)流量暴增,網(wǎng)絡(luò)阻塞。

  隨著業(yè)務(wù)量的增加,Client/Server模式的這些先天不足導(dǎo)致越來越多的問題。因此有必要對這種二層體系進行改革,將業(yè)務(wù)處理與客戶交互分開,實現(xiàn)瘦客戶/業(yè)務(wù)服務(wù)/數(shù)據(jù)服務(wù)的多層分布式應(yīng)用體系結(jié)構(gòu)。

1  多層分布式應(yīng)用體系

  隨著中間件與Web技術(shù)的發(fā)展,三層或多層分布式應(yīng)用體系應(yīng)用越來越廣泛。在這種體系結(jié)構(gòu)中,客戶機只存放表示層軟件,應(yīng)用邏輯包括事務(wù)處理、監(jiān)控、信息排隊、Web服務(wù)等采用專門的中間件服務(wù)器,后臺是數(shù)據(jù)庫。在多層分布式體系中,系統(tǒng)資源被統(tǒng)一管理和使用,用戶可以通過網(wǎng)格門戶(portal)透明地使用所有網(wǎng)絡(luò)資源。

  在多層體系中,各層次按照以下方式實現(xiàn)明確分工:瘦客戶提供簡潔的人機交互界面,完成數(shù)據(jù)的輸入/輸出;業(yè)務(wù)服務(wù)完成業(yè)務(wù)邏輯,實現(xiàn)客戶與數(shù)據(jù)庫對話的橋梁。同時,在這一層中,還應(yīng)實現(xiàn)分布式管理、負載均衡、Fail/Recover、安全隔離等;數(shù)據(jù)服務(wù)提供數(shù)據(jù)的存儲服務(wù)。

  多層分布式體系具有以下主要特點:

  (1)安全性:中間層隔離了客戶直接對數(shù)據(jù)服務(wù)器的訪問,保護了數(shù)據(jù)庫的安全。

  (2)穩(wěn)定性:中間層緩沖Client與數(shù)據(jù)庫的實際連接,使數(shù)據(jù)庫的實際連接數(shù)量遠小于Client應(yīng)用數(shù)量。當然,連接數(shù)越少,數(shù)據(jù)庫系統(tǒng)就越穩(wěn)定。Fail/Recover機制能夠在1臺服務(wù)器當機的情況下,透明地把客戶端工作轉(zhuǎn)移到其他具有同樣業(yè)務(wù)功能的服務(wù)上。

  (3)易維護:由于業(yè)務(wù)邏輯在中間服務(wù)器,當業(yè)務(wù)規(guī)則變化后,客戶端程序基本不做改動。

  (4)快速響應(yīng):通過負載均衡以及中間層緩存數(shù)據(jù)能力,可以提高對客戶端的響應(yīng)速度。

  (5)系統(tǒng)擴展靈活:基于多層分布體系,當業(yè)務(wù)增大時,可以在中間層部署更多的應(yīng)用服務(wù)器,提高對客戶端的響應(yīng),而所有變化對客戶端透明。

  目前,多層分布應(yīng)用開發(fā)中有二種比較重要的規(guī)范,即COM+和CORBA。其中COM+主要用于Windows平臺,CORBA則提供跨平臺的能力。同時,隨著分布式應(yīng)用的發(fā)展,舊的硬件/軟件平臺的不斷更新,跨硬件平臺、網(wǎng)絡(luò)環(huán)境、操作系統(tǒng)以及跨不同數(shù)據(jù)庫的應(yīng)用系統(tǒng)不斷出現(xiàn),使傳統(tǒng)的開發(fā)工具越來越不能適應(yīng),因此中間件應(yīng)運而生。

2 中間件與Tuxedo

  中間件是一種獨立的系統(tǒng)軟件或服務(wù)程序,分布式應(yīng)用軟件借助這種軟件在不同的技術(shù)之間共享資源。中間件位于客戶機與服務(wù)器的操作系統(tǒng)之上管理計算機資源和網(wǎng)絡(luò)通信??梢赃@樣理解:中間件也是一類軟件,它的首要任務(wù)是實現(xiàn)應(yīng)用與平臺無關(guān)的互操作,其次能夠合理地管理網(wǎng)絡(luò)通信資源。按照IDC的分類方法,中間件可分為6類,第1類是終端仿真/屏幕轉(zhuǎn)換中間件;第2類是數(shù)據(jù)庫訪問中間件;第3類是遠程過程調(diào)用中間件;第4類是消息中間件;第5類是交易中間件;第6類是對象中間件。

  Tuxedo是BEA公司的交易中間件產(chǎn)品,經(jīng)過十多年的不斷更新和完善,Tuxedo已經(jīng)發(fā)展成為交易中間件領(lǐng)域事實上的標準。Tuxedo可以有效地整合企業(yè)異構(gòu)C/S系統(tǒng),實現(xiàn)大規(guī)模的關(guān)鍵業(yè)務(wù)處理和分布式事務(wù)管理,從而為企業(yè)提供一個可靠的、高性能的、易維護的三層分布式計算機環(huán)境。圖1展示了一個基本Tuxedo系統(tǒng)的組成和工作原理。

 

  圖1中,①表示Client向System/T發(fā)出查詢請求,以找到Server消息隊列的地址;②表示Client根據(jù)找到的入口地址將請求發(fā)送到Server的消息隊列中;③表示Server處理請求,并將結(jié)果返回給Client的消息隊列。System/T是Tuxedo系統(tǒng)的核心,它實現(xiàn)了Tuxedo的所有功能和特征,如C/S數(shù)據(jù)流管理、服務(wù)請求的負載均衡、全局事務(wù)管理以保證交易的完整性、同步/異步服務(wù)請求、二階段提交以確保消息的發(fā)送等。BEA Tuxedo提供多種API接口,可供用戶靈活選用并進行靈活的組合,同時也提供各種推薦的組合模式,由用戶直接使用。

3 中間件Tuxedo在電信觸摸屏多媒體查詢系統(tǒng)中的應(yīng)用

  近年來,電信市場競爭日趨激烈。在各個業(yè)務(wù)領(lǐng)域內(nèi)已初步形成多元化的競爭局面。同時,隨著中國加入WTO,國外的電信公司也會進入中國市場。在這樣的形勢下,如何提高服務(wù)質(zhì)量是企業(yè)生存與發(fā)展最重要的環(huán)節(jié),這就是近年來觸摸屏多媒體查詢系統(tǒng)在電信行業(yè)紛紛出現(xiàn)的主要原因。

  針對此類系統(tǒng)用戶多、維護量大及需要不斷擴展等特點,系統(tǒng)采用四層體系結(jié)構(gòu),如圖2所示。

 

  客戶端采用基于Web的瘦客戶機結(jié)構(gòu),用戶通過瀏覽器可以查詢所需的信息。當用戶需要進行數(shù)據(jù)交換時,不允許直接訪問數(shù)據(jù)庫服務(wù)器的,而是要通過Web服務(wù)器上的一個組件來訪問中間件提供的接口。這樣保證了后臺數(shù)據(jù)的安全性,同時實現(xiàn)了真正意義上的瘦客戶。

  Web服務(wù)器層采用IIS,利用ASP技術(shù),通過一個組件將信息的展示與實際的業(yè)務(wù)邏輯隔離開,使得網(wǎng)頁制作人員不必了解復(fù)雜的業(yè)務(wù)邏輯與中間件知識,而且非常便于維護。在此服務(wù)器安裝了Tuxedo客戶端。

  中間件層采用了BEA Tuxedo,負責(zé)對輸入/輸出的數(shù)據(jù)按照業(yè)務(wù)邏輯進行加工處理,并實現(xiàn)對數(shù)據(jù)庫服務(wù)器的訪問。該層對它的上級和下級分別提供了Servive Interface和DBAgent。

  采用以上技術(shù)就解決了客戶/服務(wù)器模式中面臨的最嚴峻問題即:由于客戶機增多,導(dǎo)致數(shù)據(jù)庫連接增多,使得服務(wù)器不斷擴容,造成服務(wù)器當機。在多層體系中,由于客戶機不是直接訪問數(shù)據(jù)庫,而是通過業(yè)務(wù)邏輯服務(wù)層,因此可通過業(yè)務(wù)層有效地實現(xiàn)各連接共用數(shù)據(jù)庫連接。如果說,100個客戶端同時在線,可能只有10個實際連接到數(shù)據(jù)庫。

4 用戶話費信息查詢組件的實現(xiàn)

  由于采用的是Web方式,所以與中間件的通信通過1個組件完成。在ASP中不直接與中間件發(fā)生聯(lián)系,而是調(diào)用此組件來實現(xiàn)信息的查詢。

  三層體系中客戶端與服務(wù)端的通信由Tuxedo的API函數(shù)實現(xiàn),客戶端由函數(shù)Tpinit與服務(wù)器建立連接,由函數(shù)Tpcall申請Service服務(wù),再由相關(guān)的Tuxedo函數(shù)對數(shù)據(jù)解包。數(shù)據(jù)傳輸采用Tuxedo提供的非常靈活的FML方式實現(xiàn)客戶端與服務(wù)端的數(shù)據(jù)交換。

  該組件接收1個一維數(shù)組作為入?yún)?。根?jù)入?yún)⒋_定要調(diào)用的服務(wù),把所得結(jié)果以數(shù)組形式返回。

本系統(tǒng)主要用到Tuxedo的話費查詢服務(wù)中的7種API函數(shù),該組件的設(shè)計思想如圖3所示。

 

  在ASP頁面中組件的使用方法如下所示:

  ……

  Set newObj=Server.createobject(″GetDataSrv.GetData″)

    retArrayStr=newobj.Req(″3;8276658;123456;0;0″)

    if retArrayStr[0]=′0′then showMessage(′執(zhí)行成功′)

  else

        showMessage(′用戶不存在′)

  end if

    ……

5  結(jié)束語

  隨著基于Web的瘦客戶機結(jié)構(gòu)的發(fā)展,基于多層分布體系的應(yīng)用將會越來越廣泛。而中間件作為分布體系應(yīng)用的關(guān)鍵技術(shù),以其獨特的優(yōu)勢為各種分布式應(yīng)用的開發(fā)注入了強大動力,極大地推動了應(yīng)用系統(tǒng)集成的發(fā)展。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。