曾文藝 梁藝
【摘要】本文將SOA思想引入到傳統(tǒng)單機(jī)版文本處理系統(tǒng)中,研究出了基于SOA的文本信息處理系統(tǒng)架構(gòu)模型,通過該模型的使用,系統(tǒng)有了較好的松散耦合性和可重用性,并加快了開發(fā)速度。
【關(guān)鍵詞】B/SSOA文本處理架構(gòu)模型
一、研究目的
為了將C/S文本處理系統(tǒng)在互聯(lián)網(wǎng)上進(jìn)行推廣,需開發(fā)出一款基于B/S架構(gòu)的文本處理系統(tǒng)版本。那么,在開發(fā)周期短、成本有限的前提下,如何在最大程度地重用已有C/S系統(tǒng)各功能模塊的基礎(chǔ)上快速構(gòu)建B/S系統(tǒng)呢?
面向服務(wù)體系架構(gòu)(SOA)的興起為解決上述問題指明了方向,把SOA架構(gòu)思想引入到文本處理系統(tǒng)將是一個(gè)很好的嘗試。
二、基于SOA的web應(yīng)用系統(tǒng)模型
從整體架構(gòu)來看,基于SOA的WEB系統(tǒng)由若干服務(wù)和服務(wù)組合構(gòu)成。微軟的基于SOA的web應(yīng)用系統(tǒng)模型如圖1所示:
(1)表示層:主要提供友好的用戶界面。(2)業(yè)務(wù)外觀層:主要提供標(biāo)準(zhǔn)化的服務(wù)接口。(3)業(yè)務(wù)層:主要提供系統(tǒng)的業(yè)務(wù)邏輯和控制。(4)數(shù)據(jù)訪問層:主要提供業(yè)務(wù)組件和底層數(shù)據(jù)的一個(gè)平滑過渡。(5)數(shù)據(jù)層:主要提供數(shù)據(jù)信息數(shù)據(jù)邏輯。
三、基于SOA的文本信息處理系統(tǒng)架構(gòu)模型
對于文本處理系統(tǒng)而言,主要是對批量文本的處理,涉及到的是復(fù)雜的業(yè)務(wù)邏輯,可以省略數(shù)據(jù)層和數(shù)據(jù)訪問層,重點(diǎn)突出業(yè)務(wù)層和業(yè)務(wù)外觀層。
3.1網(wǎng)上文本處理系統(tǒng)物理架構(gòu)
基于SOA的網(wǎng)上文本處理系統(tǒng)在物理架構(gòu)上采用了業(yè)務(wù)邏輯和具體實(shí)現(xiàn)相分離的思想,部署了兩臺服務(wù)器——網(wǎng)頁服務(wù)器和服務(wù)服務(wù)器。具體物理架構(gòu)如圖2所示:
網(wǎng)頁服務(wù)器存放JSP頁面,具體的各項(xiàng)功能實(shí)現(xiàn)通過服務(wù)的形式部署在服務(wù)服務(wù)器上。遠(yuǎn)程用戶通過瀏覽器訪問網(wǎng)頁服務(wù)器的頁面,頁面服務(wù)器根據(jù)遠(yuǎn)程客戶端提交的處理需求調(diào)用服務(wù)服務(wù)器上的相應(yīng)服務(wù),實(shí)現(xiàn)真正意義上的對客戶端上傳的文本文件的處理,服務(wù)服務(wù)器將處理完成的文件傳送給網(wǎng)頁服務(wù)器,網(wǎng)頁服務(wù)器通過網(wǎng)頁的形式將結(jié)果顯示到客戶端。
3.2網(wǎng)上文本處理系統(tǒng)體系架構(gòu)
根據(jù)本系統(tǒng)的應(yīng)用規(guī)模和需求,結(jié)合基于SOA的WEB應(yīng)用系統(tǒng)的5個(gè)層次,網(wǎng)上處理系統(tǒng)采用三層結(jié)構(gòu),分別為:表示層、業(yè)務(wù)外觀層、業(yè)務(wù)層。如下圖3所示:
(1)表示層:主要提供友好的用戶界面。不同的功能模塊由不同的JSP頁面提供。(2)業(yè)務(wù)外觀層:業(yè)務(wù)外觀層主要在網(wǎng)頁服務(wù)器端實(shí)現(xiàn)。本系統(tǒng)的業(yè)務(wù)外觀層的服務(wù)注冊中心負(fù)責(zé)對服務(wù)服務(wù)器所提供的所有服務(wù)接口的注冊、發(fā)現(xiàn)和查找,通過在JSP頁面中對于不同的文本處理請求調(diào)用不同的服務(wù)接口來實(shí)現(xiàn)對客戶請求的處理。在具體實(shí)現(xiàn)上,可以采用Web Services中基于XML的遠(yuǎn)程調(diào)用方法RPC[3] 調(diào)用服務(wù)。(3)業(yè)務(wù)層:業(yè)務(wù)層集中了系統(tǒng)的功能業(yè)務(wù)的處理。系統(tǒng)所提供的每一個(gè)功能以服務(wù)的形式部署在服務(wù)服務(wù)器上。在實(shí)現(xiàn)上,用Tomcat充當(dāng)Apache AXIS Web應(yīng)用的容器,而AXIS Web應(yīng)用又充當(dāng)Web服務(wù)的容器。將原系統(tǒng)的每一個(gè)文本處理功能的DLL抽取并分離開來,采用Web Service技術(shù)在EClipse平臺下將其打包成服務(wù),并部署在Tomcat的Axis服務(wù)容器下。
四、總結(jié)
本文研究出了基于SOA的文本信息處理系統(tǒng)架構(gòu)模型,通過該模型的使用,使得所開發(fā)的文本處理系統(tǒng)有了較好的松散耦合性和可重用性。
參考文獻(xiàn)
[1]李慧盈,李德昌,段羽,呂邦國. 利用J2EE構(gòu)建XML Web Services的研究[J]. 計(jì)算機(jī)工程與應(yīng)用. 2003
[2]張志強(qiáng),張景,張志剛,李軍懷. 基于web services的應(yīng)用系統(tǒng)開發(fā)初探[J]. 計(jì)算機(jī)應(yīng)用. 2004(5)
[3]柴曉路,梁宇奇. Web Services技術(shù)、架構(gòu)和應(yīng)用[M]. 電子工業(yè)出版社,2003