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

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

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

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

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

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

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

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

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

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

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

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

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

  多層分布式體系具有以下主要特點(diǎn):

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

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

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

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

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

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

2 中間件與Tuxedo

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

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

 

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

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

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

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

 

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

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

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

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

4 用戶話費(fèi)信息查詢組件的實(shí)現(xiàn)

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

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

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

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

 

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

  ……

  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é)束語(yǔ)

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

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

相關(guān)內(nèi)容