(天津海運(yùn)職業(yè)學(xué)院,天津 300350)
三層架構(gòu)就是把二層架構(gòu)中的應(yīng)用構(gòu)件獨(dú)立出來,形成新的應(yīng)用層,從而變成三層的架構(gòu)。而SOA則是一種面向服務(wù)的體系結(jié)構(gòu),它是一個(gè)組件模型,將一個(gè)應(yīng)用程序的不同功能的服務(wù)之間定義一些良好的結(jié)構(gòu)并把它們很好的結(jié)合起來,是獨(dú)立于硬件、操作系統(tǒng)和編程語言的一種結(jié)構(gòu)。而這樣的系統(tǒng)可以用統(tǒng)一和通用的方法來交互。
1.客觀上需要。網(wǎng)絡(luò)發(fā)展越來越迅速,也越來越普及,人們也越來越需要一個(gè)應(yīng)用能將多個(gè)應(yīng)用的功能集成在一起,來實(shí)現(xiàn)更強(qiáng)的信息處理。
2.基礎(chǔ)理論越來越成熟。如面向?qū)ο蠛蜆?gòu)建架構(gòu)的理論和技術(shù),已經(jīng)發(fā)展到了可以把建模語言同一,并可以提供建模工具。而且中間件集群理論也已經(jīng)趨向成熟,并提出了中間件Inter Bus技術(shù)。
3.隨著瀏覽器技術(shù)的普及,這已經(jīng)成為了行業(yè)內(nèi)的標(biāo)準(zhǔn),也奠定了SOA的理論基礎(chǔ)和技術(shù)規(guī)范,這樣SOA的強(qiáng)勁增長(zhǎng)便是順理成章的事了。
1.把現(xiàn)有的資產(chǎn)利用起來。方法是用這些資產(chǎn),包裝成一些服務(wù),而這些服務(wù)可以提供企業(yè)功能。這樣組織就不用重新構(gòu)建,從現(xiàn)有的資產(chǎn)就可以獲取價(jià)值。
2.便于集成??梢园寻l(fā)生的改變帶來的不良影響降到最低的限度。
3.以最快速度把現(xiàn)實(shí)整合。利用這些構(gòu)件,開發(fā)一款軟件就不再需要那么長(zhǎng)的時(shí)間,可以以最快的速度完成一款軟件。
4.減少成本。通過集成的方式,企業(yè)可以根據(jù)自己的需要,自由地把功能和服務(wù)組合,從而減少不必要的成本支出。
5.SOA的服務(wù)可以更輕松地去添加,修改,管理和刪除,不需要重新開發(fā),十分方便。
人員管理是TBM系統(tǒng)中最基本的管理之一,當(dāng)中涉及了員工的申請(qǐng)注冊(cè)、離調(diào)職管理、基本信息管理和各種業(yè)務(wù)的打印功能。
考勤管理涉及的方面有人員的上下班時(shí)間、查崗,記錄考勤狀態(tài)、記錄其中的次數(shù)等操作。該模塊需要通過邏輯判斷和處理,來分析一個(gè)員工的考勤狀態(tài)并記錄下來,而且該狀態(tài)可以供管理員查詢,并有打印等操作。
項(xiàng)目組管理就是管理各個(gè)基地的基本組成單位,項(xiàng)目組管理可以讓指導(dǎo)老師對(duì)他們所指導(dǎo)的項(xiàng)目組進(jìn)行合理的監(jiān)控和有必要的指示,從而保證項(xiàng)目的順利進(jìn)行,降低風(fēng)險(xiǎn)。
由于基地內(nèi)有大量的設(shè)備,設(shè)備管理就是負(fù)責(zé)管理這些設(shè)備的模塊。對(duì)于固定設(shè)備,該模塊可以提供分配、保修等操作,而對(duì)于公共設(shè)備,可以提供申請(qǐng)與審核的操作。并可以由管理員去查閱每個(gè)設(shè)備的狀態(tài)。
基地內(nèi)的員工會(huì)有請(qǐng)假的需要,因此便需要請(qǐng)銷假管理。該模塊可以提供給普通員工請(qǐng)假、銷假的操作,而對(duì)于管理員,則提供審批和查閱的操作。
基地需要有值日的安排,該模塊負(fù)責(zé)這方面的管理。對(duì)于普通員工,提供查看值日安排、填寫值日情況操作。對(duì)于管理者,提供制定值日表,修改值日表,打印值日表等操作。
該模塊負(fù)責(zé)基地內(nèi)加班人員的管理。該模塊提供加班的申請(qǐng)與審核操作。
這個(gè)系統(tǒng)涉及十分多的賬戶,所以需要一個(gè)管理這些賬戶的模塊。該模塊可以添加和刪除賬戶,也可以修改賬戶的權(quán)限和訪問的頁面等等。
該模塊負(fù)責(zé)一些系統(tǒng)的參數(shù),例如上下班時(shí)間、節(jié)假日時(shí)間等等,這些時(shí)間都是可更改的。
系統(tǒng)采用了分層設(shè)計(jì),并不是使用傳統(tǒng)的三層架構(gòu)模式,而是適當(dāng)擴(kuò)充了一下,將邏輯層的大量函數(shù)封裝成可以供上層調(diào)用的Web服務(wù)。這樣系統(tǒng)分別由數(shù)據(jù)訪問層、業(yè)務(wù)邏輯層和表示層組成。數(shù)據(jù)訪問層主要負(fù)責(zé)對(duì)數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行添加、刪除、修改等操作。而業(yè)務(wù)邏輯層就主要是針對(duì)業(yè)務(wù)的流程去實(shí)現(xiàn)系統(tǒng)的功能,當(dāng)中已經(jīng)封裝了的Web服務(wù)對(duì)于邏輯層方法再封裝一次,這樣就可以實(shí)現(xiàn)基于SOAP和XML的數(shù)據(jù)傳輸,上層不同的程序就可以調(diào)用。表示層通過Web程序和Winform程序來表現(xiàn)出業(yè)務(wù)的邏輯,來完成所需要的功能。
由于TBM系統(tǒng)涉及到了所有實(shí)訓(xùn)的同學(xué)和管理人員,在表現(xiàn)形式上,要盡量考慮簡(jiǎn)易操作,表達(dá)清晰,最好能做到學(xué)習(xí)成本低,使用無障礙等要求,又盡量做到不要浪費(fèi)資源,浪費(fèi)空間和時(shí)間。經(jīng)過考慮,系統(tǒng)采用了B/S與C/S的混合結(jié)構(gòu)作為表現(xiàn)形式。
對(duì)于普通員工,采用的操作界面是Web瀏覽器,因?yàn)樗麄兪褂玫念l率并不高,單獨(dú)制作一個(gè)客戶端意義不大,因?yàn)閃eb瀏覽器已經(jīng)滿足了需求。而對(duì)于管理者,則提供WinFrom窗體客戶端,來進(jìn)行頻繁的查看,打印,修改,管理等操作,這些操作經(jīng)常使用Web瀏覽器并不方便,因此制作這個(gè)客戶端可以使他們更加便利地去進(jìn)行操作。
名稱:tools.cs
作用:處理數(shù)據(jù)集的轉(zhuǎn)換
輸入:數(shù)組或List集合
輸出:同上
名稱:upconstlist.cs
作用:記錄操作權(quán)限
輸入:無
輸出:權(quán)限值,類型是靜態(tài)常量
名稱:SQLServerDBHelper.cs
作用:數(shù)據(jù)庫語句
輸入:數(shù)據(jù)庫的鏈接,SQL語句
輸出:數(shù)據(jù)的條數(shù),屬性,狀態(tài)
名稱:wordhelper.cs
作用:WORD的操作
輸入:文件路徑
輸出:要打印的文檔
名稱:excelhelper.cs
作用:Excel的操作
輸入:文件路徑
輸出:要打印的文檔
由于這個(gè)TBM系統(tǒng)采用了分層架構(gòu),那么其實(shí)每一層就是系統(tǒng)的一個(gè)功能模塊。分別是Entity模塊、SQLDAL模塊、BLL模塊和UI模塊。
Entity模塊里又涉及人員管理模塊、考勤管理模塊、項(xiàng)目組管理模塊、值日管理模塊、設(shè)備管理模塊、請(qǐng)銷假管理模塊、加班管理模塊、賬號(hào)及權(quán)限管理模塊、和系統(tǒng)管理模塊。
SQLDAL模塊主要就是涉及數(shù)據(jù)里的鏈接和數(shù)據(jù)的訪問、添加、修改等功能,各個(gè)領(lǐng)域?qū)ο蟮腟QLDAL涉及兩個(gè)部分,第一就是單記錄的操作,修改的記錄及時(shí)更新到數(shù)據(jù)庫中;第二就是多記錄操作,通過數(shù)據(jù)集的操作來把數(shù)據(jù)集體更新到數(shù)據(jù)庫中。
BLL模塊就是TBM系統(tǒng)負(fù)責(zé)業(yè)務(wù)處理的模塊。它主要負(fù)責(zé)的是完成去處理系統(tǒng)的邏輯業(yè)務(wù)。利用數(shù)據(jù)訪問層提供的函數(shù)接口來進(jìn)行封裝和集成等操作,這樣就可以把更加復(fù)雜的業(yè)務(wù)需求實(shí)現(xiàn)。
UI模塊就是用戶界面的管理模塊,用來把整個(gè)系統(tǒng)的各個(gè)功能都清晰地展現(xiàn)出來,讓用戶簡(jiǎn)單地去實(shí)現(xiàn)各種操作。
后臺(tái)服務(wù)程序在數(shù)據(jù)庫的服務(wù)器上運(yùn)行,可以幫助系統(tǒng)完成一些自動(dòng)處理的工作。由于這個(gè)功能并不會(huì)與操作軟件的操作者有太多的交互,所以以控制臺(tái)的形式展現(xiàn),并制定了一些操作命令,讓管理員去輸入這些命令來進(jìn)行操作,為了系統(tǒng)的安全性,需要登錄后才可以進(jìn)行這一系列的操作。
綜上所述,把軟件架構(gòu)知識(shí)合理運(yùn)用,能最大限度地減少軟件開發(fā)的成本,也能加大程序之間的復(fù)用性,使得現(xiàn)在一個(gè)軟件可以集成多個(gè)軟件的功能和服務(wù)。因此,如何使不同平臺(tái)、不同地域的計(jì)算機(jī)可以更方便地交流數(shù)據(jù),分享數(shù)據(jù),共用服務(wù),減輕維護(hù)的工作強(qiáng)度,這是很多人研究的方向。本文上面所描述的TBM系統(tǒng)表示采用了三層架構(gòu)與SOA技術(shù)的管理系統(tǒng),可以在一定程度上實(shí)現(xiàn)更高效、更便捷地半自動(dòng)化管理。
參考文獻(xiàn):
[1]章利.基于.NET的多層分布式企業(yè)應(yīng)用架構(gòu)的設(shè)計(jì)與實(shí)現(xiàn)[D].哈爾濱理工大學(xué),2007.
[2]孫華林,趙正文.基于Web Services的面向服務(wù)架構(gòu)(SOA)的探索與研究[J].信息技術(shù),2007,(01).
[3]夏克付.基于三層架構(gòu)的企業(yè)用戶服務(wù)系統(tǒng)設(shè)計(jì)[J].電腦知識(shí)與技術(shù),2010,(27).
[4]趙偉.王志華.周兵.基于NET技術(shù)和MVC的新架構(gòu)模式[J].計(jì)算機(jī)工程與設(shè)計(jì),2012,(07).