曹弘堅(jiān)
摘 要:隨著社會(huì)主義現(xiàn)代化建設(shè)的不斷發(fā)展,我國(guó)的軟件工程行業(yè)取得了卓有成效的發(fā)展。作為軟件工程領(lǐng)域極為重要的組成部分,軟件體系結(jié)構(gòu)設(shè)計(jì)不僅關(guān)系著軟件系統(tǒng)的成功,而且影響著軟件系統(tǒng)的運(yùn)行效率。近年來(lái),BS3層體系結(jié)構(gòu)在企業(yè)管理系統(tǒng)中得到了廣泛應(yīng)用。因此,將著重對(duì)BS3層體系結(jié)構(gòu)的自動(dòng)化辦公進(jìn)行深入探討,探究BS3層體系結(jié)構(gòu)運(yùn)行的優(yōu)越性,為BS3層體系結(jié)構(gòu)功能的實(shí)現(xiàn)提供參考與借鑒。
關(guān)鍵詞:BS3層體系結(jié)構(gòu);自動(dòng)化辦公;業(yè)務(wù)層
中圖分類號(hào):F272 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1673-291X(2016)11-0184-02
一、BS 3層體系結(jié)構(gòu)概述
所謂軟件體系結(jié)構(gòu),主要是指由構(gòu)件、連接件以及約束三部分組成的軟件架構(gòu)。通常而言,構(gòu)件多為1組具體的代碼,有時(shí)也表現(xiàn)為相對(duì)獨(dú)立的程序;連接件主要負(fù)責(zé)運(yùn)行過(guò)程調(diào)用、遠(yuǎn)程調(diào)用等,能夠?qū)崿F(xiàn)數(shù)據(jù)傳輸與共享,體現(xiàn)了各部分構(gòu)件的相互促進(jìn)功能;而約束主要是指各部分組件或?qū)ο笤谶M(jìn)行連接的過(guò)程中需要遵循的規(guī)則以及受限制的條件[1]。一般情況下,軟件結(jié)構(gòu)的劃分主要依據(jù)的是用戶界面以及后臺(tái)數(shù)據(jù)的層次數(shù)目,大體可分為1層、2層、3層或更多層次軟件結(jié)構(gòu)。通常3層軟件體系結(jié)構(gòu)較1層、2層更具靈活性,其能夠在不同的機(jī)器上保持順利運(yùn)行,當(dāng)應(yīng)用業(yè)務(wù)邏輯處于復(fù)雜狀態(tài)時(shí),可引進(jìn)高配置計(jì)算機(jī)對(duì)相關(guān)業(yè)務(wù)進(jìn)行邏輯處理[2];當(dāng)系統(tǒng)應(yīng)用存在較大的數(shù)據(jù)量時(shí),則可以引入分布式數(shù)據(jù)庫(kù)存儲(chǔ)方式對(duì)相關(guān)數(shù)據(jù)進(jìn)行存儲(chǔ)。另外,軟件系統(tǒng)結(jié)構(gòu)各個(gè)層次之間接口往往是不變的,即使其中的某個(gè)層次出現(xiàn)變動(dòng),也不會(huì)對(duì)其他層產(chǎn)生影響。而層與層之間呈現(xiàn)松散耦合狀態(tài)時(shí),能夠?qū)M件進(jìn)行簡(jiǎn)單的替換,滿足層次變化的需求,并且無(wú)須代碼重寫、測(cè)試。BS3層軟件系統(tǒng)結(jié)構(gòu)實(shí)際上是一種高層次的抽象結(jié)構(gòu),它對(duì)具體的系統(tǒng)結(jié)構(gòu)以及相關(guān)組間功能的實(shí)現(xiàn)都未有涉及。需要注意的是,該體系結(jié)構(gòu)需滿足系統(tǒng)要求的各項(xiàng)功能,體系結(jié)構(gòu)的設(shè)計(jì)需充分考慮系統(tǒng)的動(dòng)態(tài)行為。
二、BS 3層體系結(jié)構(gòu)的自動(dòng)化辦公
(一)表示層
首先,從構(gòu)造方面來(lái)說(shuō),表示層主要由UI以及UI控制邏輯兩個(gè)部分組成。其中UI主要是指客戶端的瀏覽器,主要功能是對(duì)Web瀏覽器向Web服務(wù)器提出相應(yīng)的服務(wù)請(qǐng)求。在這個(gè)過(guò)程中,Web服務(wù)器需要對(duì)請(qǐng)求的相關(guān)用戶身份進(jìn)行充分驗(yàn)證,然后通過(guò)HTTP協(xié)議將用戶所需的主頁(yè)信息傳輸?shù)娇蛻舳?,并由客戶機(jī)負(fù)責(zé)接收,進(jìn)而在Web瀏覽器中得以顯示。UI控制邏輯部件主要是針對(duì)UI與業(yè)務(wù)層之間的相關(guān)數(shù)據(jù)進(jìn)行處理,同時(shí)能夠?qū)崿F(xiàn)對(duì)UI狀態(tài)流程的有效控制,對(duì)簡(jiǎn)單的數(shù)據(jù)進(jìn)行格式化或驗(yàn)證。其次,UI控制邏輯在事件驅(qū)動(dòng)編程中應(yīng)用較為廣泛,它能夠?qū)崿F(xiàn)UI控件與業(yè)務(wù)實(shí)體數(shù)據(jù)的交換與調(diào)用,但對(duì)于大量的數(shù)據(jù)交換與維護(hù),則存在一定的處理難度??赏ㄟ^(guò)Controller模式對(duì)這兩者實(shí)現(xiàn)管理,由UI發(fā)出的命令或數(shù)據(jù)通過(guò)Controller向業(yè)務(wù)層進(jìn)行分發(fā),實(shí)現(xiàn)流程、權(quán)限邏輯的獨(dú)立封裝,從而使業(yè)務(wù)重用得到最大化實(shí)現(xiàn)。
具體結(jié)構(gòu)如圖1所示。
(二)業(yè)務(wù)層
實(shí)際業(yè)務(wù)主要包括業(yè)務(wù)數(shù)據(jù)與業(yè)務(wù)操作兩個(gè)部分。業(yè)務(wù)數(shù)據(jù)作為業(yè)務(wù)邏輯的關(guān)鍵部分,其在內(nèi)存中的表現(xiàn)狀態(tài)是相對(duì)固定的,而且能夠在各個(gè)不同層次間進(jìn)行傳輸,主要通過(guò)Table Model以及Domain Model實(shí)現(xiàn)業(yè)務(wù)數(shù)據(jù)的有效表達(dá),這兩種方式有著各自不同的特點(diǎn)。Table Model更便于機(jī)器操作,能夠使數(shù)據(jù)庫(kù)中的表轉(zhuǎn)化為具體的業(yè)務(wù)數(shù)據(jù),不僅不需要用戶編寫、維護(hù)操作,而且能夠自動(dòng)實(shí)現(xiàn)數(shù)據(jù)副本保存。而Domain Model更多適用于相對(duì)復(fù)雜的業(yè)務(wù)系統(tǒng),多采用自定義數(shù)據(jù)實(shí)體進(jìn)行表達(dá),不僅具有一定的直觀性,而且符合了當(dāng)前業(yè)務(wù)操作的實(shí)際需求。在這種模式下,用戶需自己進(jìn)行維護(hù)、編寫序列方法?;谝陨蟽煞N業(yè)務(wù)數(shù)據(jù)表達(dá)方式,通常選用Domain Model建模,在這種模式下,業(yè)務(wù)實(shí)體能夠?yàn)楸硎緦犹峁└鞣N各樣的服務(wù),且能夠?qū)崿F(xiàn)各個(gè)層次間的數(shù)據(jù)傳輸。業(yè)務(wù)實(shí)體能夠以獨(dú)立形式存在,其能夠在一定程度上推動(dòng)系統(tǒng)組件化。
(三)數(shù)據(jù)層
BS 3層體系主要由業(yè)務(wù)數(shù)據(jù)訪問(wèn)層以及數(shù)據(jù)訪問(wèn)層兩部分組成。首先,業(yè)務(wù)數(shù)據(jù)訪問(wèn)層主要是針對(duì)某個(gè)具體的應(yīng)用系統(tǒng),它能夠?yàn)闃I(yè)務(wù)層提供相應(yīng)的數(shù)據(jù)交互操作方式。從某種程度上說(shuō),業(yè)務(wù)層對(duì)業(yè)務(wù)數(shù)據(jù)訪問(wèn)層有著較高的依賴性,通過(guò)提供的服務(wù),能夠?qū)崿F(xiàn)數(shù)據(jù)的接收以及業(yè)務(wù)實(shí)體的返回,而且對(duì)實(shí)際業(yè)務(wù)數(shù)據(jù)以及存儲(chǔ)方式的差異性進(jìn)行了有效屏蔽。其次,業(yè)務(wù)數(shù)據(jù)訪問(wèn)還能夠?qū)唧w的業(yè)務(wù)作出抽象分析,增強(qiáng)具體設(shè)計(jì)的生命力,這在一定程度上使上層代碼的復(fù)用性得到了保障。若需要更換存數(shù)策略,只需對(duì)業(yè)務(wù)數(shù)據(jù)訪問(wèn)層進(jìn)行更換即可,其對(duì)業(yè)務(wù)層并無(wú)明顯的影響。數(shù)據(jù)訪問(wèn)層主要是提供外界訪問(wèn)接口,通常為了保障數(shù)據(jù)的交互與共享,可將其接入DataProvider,使數(shù)據(jù)能夠移植到其他數(shù)據(jù)源。
(四)BS3層體系結(jié)構(gòu)的優(yōu)越性
BS3體系結(jié)構(gòu)一方面集中了CS體系結(jié)構(gòu)的全部?jī)?yōu)點(diǎn),另一方面又有著自身獨(dú)特的結(jié)構(gòu)優(yōu)勢(shì),不僅開(kāi)發(fā)與維護(hù)成本低,而且操作簡(jiǎn)單,界面體現(xiàn)了友好性特征,系統(tǒng)操作更加靈活、便利,能夠在一定程度上確保系統(tǒng)運(yùn)行的安全性。另外,BS3層體系結(jié)構(gòu)充分運(yùn)用了Internet技術(shù),將應(yīng)用系統(tǒng)的發(fā)展帶到了一個(gè)新的發(fā)展階段,這不僅是當(dāng)前互聯(lián)網(wǎng)信息技術(shù)的應(yīng)用趨勢(shì),同時(shí)也是系統(tǒng)層體結(jié)構(gòu)發(fā)展的必然階段,無(wú)論是理論層次上還是實(shí)際應(yīng)用中,都具有一定的實(shí)踐價(jià)值與應(yīng)用價(jià)值。
結(jié)語(yǔ)
當(dāng)前,軟件體系結(jié)構(gòu)已經(jīng)成為軟件工程行業(yè)研究的一個(gè)熱點(diǎn)話題,在復(fù)雜分布現(xiàn)實(shí)問(wèn)題的解決中得到了廣泛應(yīng)用。本研究對(duì)BS 3層體系結(jié)構(gòu)的自動(dòng)化辦公進(jìn)行了深入探討,發(fā)現(xiàn)該結(jié)構(gòu)系統(tǒng)具有一定的靈活性與適用性,該組件技術(shù)在BS3層次系統(tǒng)結(jié)構(gòu)中的應(yīng)用能夠促進(jìn)業(yè)務(wù)邏輯封裝的實(shí)現(xiàn),提升軟件系統(tǒng)的可重性與維護(hù)性,能夠被更多的用戶所接受。
參考文獻(xiàn):
[1] 賈永勝.基于B/S模式和三層體系結(jié)構(gòu)的網(wǎng)絡(luò)考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].數(shù)字技術(shù)與應(yīng)用,2014,(4):177.
[2] 李紅.基于B/S三層結(jié)構(gòu)的學(xué)籍管理系統(tǒng)的設(shè)計(jì)[J].現(xiàn)代計(jì)算機(jī):普及版,2014,(9):69-72.
Abstract: With the continuous development of the construction of socialist modernization, China's software engineering industry made fruitful development. As the field of software engineering is very important part, software architecture design not only in relation to the success of software system, but also affects the efficiency of the software system. In recent years, Bs3 layer system structure in enterprise management system has been widely used. Therefore, will focus on the Bs3 layer architecture of office automation were discussed, and explore the superiority of Bs3 layer architecture running, and to provide reference for the realization of Bs3 layer system structure and function.
Key words: BS3 tier architecture; automation office; business layer