
摘 要:采用SOA(service-oriented architecture)架構的實驗室信息管理系統能夠解決傳統設計中使用平臺單一、功能模塊難以更新維護等問題,為實驗室信息在移動設備上的應用開發帶來新的思路。該文以設計的基于SOA架構的系統為例,闡述開發SOA架構的實驗室信息管理系統的一個解決方案。
關鍵詞:SOA架構 實驗室信息管理系統 解決方案
中文分類號:TP39文獻標識碼:A文章編號:1674-098X(2013)05(b)-0105-02
面向服務架構(service-oriented architecture,SOA)是一種組件模型,它將軟件整體分解為不同的、小的邏輯單元,這些邏輯單元既可以組成一個完整的業務邏輯,也可以相對獨立的分布式部署。SOA是一種粗粒度、松耦合服務架構,服務之間通過簡單、精確定義接口進行通訊,不涉及底層編程接口和通訊模型。SOA架構中的各種組件的開發、部署形式幫助系統架構者以更迅速、更可靠、更具重用性架構整個業務系統。作為一個靈活、可擴展的框架,總的來說SOA的核心價值在于:靈活、快速、可重用和適應性強。
在移動互聯領域,依托于網站資源所開發的各種移動平臺上的Apps在近幾年中逐漸增加,不斷改變著人們對互聯網資源的使用習慣。許多企業在無紙化辦公的實現中采用了SOA架構,通過總體的SOA解決方案取得了成功。這些都不斷的推動著SOA的發展,在SOA架構日益成熟及其實現技術多樣化的今天,其帶來的新特性讓互聯網應用在近5年間發生了巨大變化。但反觀現在的高校信息化系統建設,基本還是清一色的B/S架構,呆板的業務流程,毫無靈活性可言。作者以本校實驗室信息管理系統的設計為例,探討采用SOA架構為高校信息管理系統帶來的新功能和在實驗室信息管理系統實現SOA架構的可能性。
1 傳統單一的B/S或C/S架構實驗室信息管理系統的局限性
傳統架構的實驗室信息管理系統的局限性,在實際的使用中反映為軟件模塊設計更新跟不上業務更新以及無法適應所有應用情景。具體來說,主要體現在以下3個方面。
(1)傳統架構的實驗室信息管理系統毫無靈活性可言。在傳統的以功能模塊為基礎所開發的實驗室信息管理系統里,開發的模式一般以一個模塊對應一種業務,把所有模塊集成在一起,再用權限管理區分用戶對模塊的使用權力。這種管理系統在管理體系本身或者業務流程發生了改變就意味著整個模塊要進行重寫,以至于要對整個系統進行大的修改,這無疑是個浩大的工程。在高校實驗室管理系統不斷改進以適應快速發展的今天,管理模式和業務流程的更改是常見的,因此管理軟件的靈活性顯得尤為重要。
(2)傳統架構的實驗室信息管理系統客戶端使用的技術架構是單一的。傳統的管理系統都是采用單一的軟件架構,從早期的C/S架構到后來為了解決兼容性以及易用性所使用的B/S架構,都存在著各自的局限性和在部分場景中的不適用性。比如教師進行實驗室使用記錄登記,要盡量做到方便快捷,這種情景下無疑使用窗口軟件要比使用網頁合適;而在等級記錄管理端,需要對記錄進行增刪改操作,需要以圖形化的方式展示實驗室每周的使用情況,這時無疑用網頁模式要優于用窗口軟件的模式。因此,針對不同的使用場景選用不同的軟件開發技術是對實驗室信息管理來說十分重要。
(3)傳統架構的實驗室信息管理系統不能為現場工作提供信息支持,實驗管理人員在完成實際的工作后如果要進行工作記錄就必須回到電腦上對自己的工作進行登記,這種軟件的使用方式是工作記錄式的,能為工作管理提供服務,但不能在現場工作過程中提供信息支持和查詢服務,而現場工作經常需要對設備信息進行查詢。因此給現場工作提供信息支持對于實驗室管理系統來說是不可缺少的組成部分,而這也是傳統架構的實驗室信息管理系統很難做到的功能。
2 采用SOA架構的實驗室管理系統的優點
基于SOA架構的實驗室管理系統可以較好地解決以上所提出的問題。切實做到了按需開發客戶端,在業務流程發生改變時縮短開發時間以及利用移動設備的功能更好的拓展管理系統的應用。
(1)可以根據不同的情況靈活地選擇業務的構成。具體是指,在開發時可以更靈活的根據崗位職能的實際需求來構造不同的客戶端,這樣不僅避免了客戶端因功能模塊的堆積而變得過分臃腫,也相應的減輕了因權限問題所造成的設計和開發上的負擔。在管理模式和業務流程發生更改時,對于SOA架構的系統來說維護量要比傳統系統小,因為服務和實際業務的分離,并且可以重用所有當前的服務,所以當業務或管理模式發生改變的時候,只需要更改相應的客戶端就可以,并不涉及其他的模塊和核心服務。
(2)客戶端可以采用不同的技術手段方式來建立,例如客戶端是用FLEX技術的,而服務端使用PHP技術,他們之間并不存在溝通的障礙,仍然可以正常互相通信。這給客戶端開發帶來了很大的靈活性,應對不同的場景采用不同的技術,讓客戶端可以適用于一些特定的場景。比如適合用網頁形式的情景和適合用窗口軟件形式的情景,在SOA框架中就可以共同存在而不增加額外的開發成本。
(3)利用移動設備的功能來擴展系統的應用范圍。把客戶端開發到移動設備平臺上,包括智能手機和平板設備,可以使實驗室信息系統隨實驗員帶到工作現場。在移動設備上使用實驗室管理系統,使得系統和移動設備可以結合起來,通過包括攝像頭等移動設備上提供的功能,給實驗員在現場工作中查詢相關記錄信息提供了條件,還可以通過這個平臺獲取各種信息,做到信息支持的效果;并且可以在現場進行登記記錄的作業,可以更高效、更準確的記錄下現場的情況。
綜上所述,可以看出使用SOA架構的實驗室信息系統給我們帶來了包括軟件開發上的便利,系統平臺搭建的靈活,以及在移動平臺上開發和使用管理系統的新思路。因此,在實驗室信息系統中引入SOA架構是非常有意義以及有必要的。
3 基于SOA架構的實驗室信息管理系統的設計
系統基于對本校實驗室管理的流程進行服務和業務的設計。服務是通過對業務的歸納和分析來設計,業務是針對不同的職能對象來設計的。具體來說,業務被分為,實驗室使用管理,設備維修管理,基礎數據管理和數據統計情況展示4個部分組成。
實驗室使用管理部分。其分為課室登記端和管理端兩部分,課室登記端配置在每個實驗室的教師計算機上,由任課老師進行登記,收集實驗課的基本使用情況,在沒有計算機的課室,由管理員代為填寫,軟件采用Adobe Air平臺開發,可以在不同的系統平臺下使用,收集的數據以統一的格式記錄在數據庫中;管理端因為交互操作較多,并且需要對數據進行圖表化轉變,所以采用B/S模式,管理員可以通過系統界面以圖形的形式在日程表上查看實驗室的使用情況,并可以對相關記錄進行維護。
設備維修管理部分。這部分業務有手機平臺以及網頁平臺兩種客戶端,兩種客戶端功能相同,都是對維修情況進行記錄。不同點在于,網頁平臺采用傳統的表單設計,而手機平臺借助手機的攝像頭對設備編號二維碼的掃描直接對設備信息進行讀取(需要無線網絡支持),使得管理員的現場維修記錄的無紙化變為了可能。
基礎數據管理部分。主要業務是對實驗室和實驗室設備的基本情況和動態情況的記錄和管理。客戶端同樣分為網頁平臺及手機平臺兩種客戶端,但實現的功能有所不同,手機客戶端主要是用以記錄個別設備的動態情況,比如某一設備的借調、歸還、報廢等,同樣是應用了二維碼掃描技術。而網頁平臺客戶端的功能主要是實驗室基礎信息的維護,設備信息及情況的批量更改,和手機平臺客戶端形成有效的互補,突出各自平臺的長處。
數據統計情況展示部分。這部分業務主要是以各種數據為基礎,用圖表的形式展現出來,直觀的展示數據所反映的情況。其客戶端采用Adobe Air平臺,用其豐富的圖形資源來展示圖表。現階段應用的圖表主要包括了,基于各個實驗室人時數統計的數據所形成的圖表有:《實驗室使用情況月表》、《不同系部實驗室使用情況表》、《實驗室使用情況對比表》;基于維修情況數據所形成的圖表有:《實驗室設備完好率表》。這些圖表是制定實驗室建設和調整的有力依據。
所有的這些客戶端都是依托于同一個核心服務以及數據庫,有效的保證了數據的統一。并且做到了在同一個平臺下多功能模塊的單點登錄,實際上所有平臺的驗證策略都是相同的,通過對身份以及身份對應的角色進行判斷來選擇加載的功能模塊以及可以編輯的數據范圍(如圖1)。
4 結語
該文以一個實際的SOA架構應用為基礎,分析了SOA架構的引用給軟件開發和應用方式上帶來的新思路和新方向。從靈活性、擴展性以及應用平臺的豐富性上闡述了SOA架構的軟件對比傳統軟件的優勢所在,并且發現在開發新的業務時服務的重用給開發效率帶來的很大的提高,有效縮短了開發進程。
但是,從軟件實施的現階段看來,SOA架構最大的不足就是對于服務及網絡的依賴性,以及對于網絡的穩定性和托管服務的服務器性能要求都比較高。尤其是對于網絡,有很多不可預見性的問題,這些都影響著軟件系統的健壯性。總體來說,優化網絡結構、安排冗余主機以及合理地配置服務器是解決以上問題的一個方向。
該文所涉及的實驗室信息管理項目已在本校中使用,并取得了一定的管理效益,目前正在進一步的完善和功能的擴展中。對于尚未采用實驗室信息化管理系統以及準備引入SOA架構改造信息化管理系統的部門起到一定的啟示作用。
參考文獻
[1]徐文靜.SOA架構多系統整合辦公系統解決方案[J].價值工程,2013(1).
[2]魏強,金芝,李戈,等.物聯網服務發現初探:傳統 SOA的可行性和局限性[J].計算機科學與探索,2013(2).
[3]成桂玲.基于SOA的教學管理系統web服務的設計與實現[J].電子世界,2013(2).
[4]陳卓祁.SOA思想在物流管理信息系統中的應用[J].物流技術,2013(1).