- 相關(guān)推薦
基于SOA的人事管理系統(tǒng)架構(gòu)
SOA以借助現(xiàn)有的應(yīng)用來組合產(chǎn)生新服務(wù)的敏捷方式,提供給企業(yè)更好的靈活性來構(gòu)建應(yīng)用程序和業(yè)務(wù)流程。國內(nèi)目前己有多種通用的人事管理系統(tǒng)軟件供企業(yè)單位選擇使用,應(yīng)該說,企業(yè)人事管理系統(tǒng)的開發(fā)與應(yīng)用在國內(nèi)已經(jīng)進(jìn)入了相對(duì)成熟期,其在企業(yè)中的作用也越來越大。隨著SOA技術(shù)的不斷發(fā)展,中國的SOA架構(gòu)模型和應(yīng)用推廣已經(jīng)有了良好的需求環(huán)境。面向服務(wù)方式將是未來企業(yè)人事管理系統(tǒng)的發(fā)展方向。
1 引言
管理信息系統(tǒng)的業(yè)務(wù)功能、系統(tǒng)架構(gòu)和應(yīng)用模式的發(fā)展依賴于計(jì)算機(jī)技術(shù)的發(fā)展。從計(jì)算機(jī)軟件開發(fā)方法的角度看,管理信息系統(tǒng)的開發(fā)經(jīng)歷了“面向過程”、“面向?qū)ο?rdquo;、“面向流程”和“面向服務(wù)”四個(gè)發(fā)展階段。“面向服務(wù)”體系結(jié)構(gòu)(Service Oriented Architecture, SOA)是一種進(jìn)行系統(tǒng)開發(fā)的新型體系架構(gòu)。SOA將應(yīng)用程序的不同功能單元稱為服務(wù),具體應(yīng)用程序的功能是由一些松耦合并且具有統(tǒng)一接口定義方式的組件(也就是Service)組合構(gòu)建起來的,因?qū)ρ杆僮兓臉I(yè)務(wù)環(huán)境具有良好適應(yīng)力而備受關(guān)注。SOA提供了這樣一種框架:一個(gè)系統(tǒng)上的軟件可以安全而且可靠地提出請(qǐng)求并獲得其他系統(tǒng)上的計(jì)算資源,而不再需要一臺(tái)中央服務(wù)器來管理和控制整個(gè)端到端的網(wǎng)絡(luò)。
SOA的出現(xiàn)給傳統(tǒng)的信息化產(chǎn)業(yè)帶來新的概念,不再是各自獨(dú)立的架構(gòu)形式,能夠輕松的互相聯(lián)系組合共享信息?蓮(fù)用以往的信息化軟件。基于SOA的協(xié)同軟件提供了應(yīng)用集成功,能夠?qū)RP、CRM、HR等異構(gòu)系統(tǒng)的數(shù)據(jù)集成。
2 主要內(nèi)容及關(guān)鍵技術(shù)
2.1 面向服務(wù)的企業(yè)人事管理系統(tǒng)架構(gòu)
采用多層分布式架構(gòu),將數(shù)據(jù)庫語句定義在數(shù)據(jù)訪問層,將外部操作定義在表示層,以ASP.NET實(shí)現(xiàn)核心的業(yè)務(wù)邏輯層,通過JavaScript實(shí)現(xiàn)表示層和業(yè)務(wù)邏輯層的交互和服務(wù)抽取,設(shè)計(jì)符合SOA要求的接口;接著對(duì)數(shù)據(jù)訪問層進(jìn)行設(shè)計(jì),使得系統(tǒng)能在數(shù)據(jù)庫方面具有可移植性。
2.2 人事管理系統(tǒng)的功能服務(wù)設(shè)計(jì)
圍繞人事管理系統(tǒng)的需求分析,考慮面向服務(wù)的實(shí)現(xiàn)架構(gòu),設(shè)計(jì)系統(tǒng)的功能模塊圖,重點(diǎn)是研究對(duì)功能模塊的服務(wù)化封裝,給出相關(guān)的服務(wù)描述。
2.3 人事管理系統(tǒng)的服務(wù)接口設(shè)計(jì)
為了實(shí)現(xiàn)人事管理系統(tǒng)中功能服務(wù)的對(duì)外發(fā)布,滿足不同業(yè)務(wù)部門對(duì)人事信息的訪問,需要對(duì)各功能服務(wù)之間的交互關(guān)系進(jìn)行深入分析,給出交互接口的服務(wù)化描述文檔。
2.4 人事管理系統(tǒng)的實(shí)現(xiàn)
采用Microsoft Visual Studio 2010作為開發(fā)工具,以MySQL作為數(shù)據(jù)庫,管理工具采用SVN。系統(tǒng)實(shí)現(xiàn)以后,用戶通過該系統(tǒng)能夠?qū)崿F(xiàn)對(duì)員工、機(jī)器設(shè)備、軟件安裝和管理信息的自動(dòng)化管理,同時(shí),用戶可以實(shí)現(xiàn)信息的上傳和下載。
3 系統(tǒng)分析與實(shí)現(xiàn)
3.1 多角度的需求分析
為了更全面的了解企業(yè)人事管理系統(tǒng)的需求,擬從信息操作、業(yè)務(wù)流程、安全性、運(yùn)行環(huán)境等多個(gè)角度進(jìn)行分析。
從信息操作的角度分析,系統(tǒng)需要實(shí)現(xiàn)員工信息管理服務(wù),對(duì)員工信息進(jìn)行增、刪、改、查;實(shí)現(xiàn)設(shè)備信息管理服務(wù),對(duì)電腦和電話信息進(jìn)行添加、刪除和分配;查詢服務(wù),根據(jù)員工的編號(hào)、姓名或入職時(shí)間進(jìn)行查詢;實(shí)現(xiàn)數(shù)據(jù)導(dǎo)入導(dǎo)出服務(wù),該系統(tǒng)涉及大量的人員信息,需要對(duì)大量的信息進(jìn)行導(dǎo)入和導(dǎo)出的操作。
從業(yè)務(wù)流程角度分析,登入系統(tǒng)后,可以對(duì)座位、人員、設(shè)備的信息進(jìn)行修改,可以查看基本的信息,查看信息之后可以選擇下載信息存儲(chǔ)到本地,最后退出系統(tǒng)。人事管理系統(tǒng)的基本業(yè)務(wù)流程如圖1所示。
從部門業(yè)務(wù)流程角度分析,公司部門包括人力資源(HR)部門、行政管理(Admin)部門、網(wǎng)絡(luò)管理(Iteam)部門、設(shè)備管理(Facility)部門等,具體需求分析如下:
(1)人力資源(HR)部門:使用者在All Staff頁面進(jìn)行操作,可以修改員工信息。使用者在offer頁面,可以添加員工的信息,當(dāng)信息填好提交以后,如果添加成功,該信息在頁面就會(huì)消失,在Admin頁面中出現(xiàn)新添加的信息,否則信息依然保留在原來的頁面。
(2)行政管理(Admin)部門:使用者在create ID頁面進(jìn)行操作,可以分配員工ID,當(dāng)ID創(chuàng)建完成之后,該信息在該頁面消失,該信息在Account, PC prepare, Phone, Seat四個(gè)頁面中出現(xiàn)。
(3)網(wǎng)絡(luò)管理(Iteam)部門:使用者在PC prepare頁面進(jìn)行操作,為新職工分配requestID,用于分配機(jī)器設(shè)備。分配完成后,該記錄將在PC setup頁面出現(xiàn),使用者對(duì)phone頁面進(jìn)行操作,對(duì)員工分配phone,分配完成后,該記錄進(jìn)入phone pool頁面,在這個(gè)頁面中記錄的是phone的所有信息,包括phone分配信息,phone mac, phone number等等。
(4)設(shè)備管理(Facility)部門:使用者對(duì)seat頁面進(jìn)行操作,分配員工位置。
從安全性要求出發(fā),信息系統(tǒng)數(shù)據(jù)庫中放置了企業(yè)、部門、個(gè)人的大量數(shù)據(jù),其中許多數(shù)據(jù)是非常關(guān)鍵、機(jī)密的,如果系統(tǒng)不能嚴(yán)格地保證數(shù)據(jù)的安全性,就會(huì)影響到系統(tǒng)的應(yīng)用。具體包括兩方面。在系統(tǒng)安全方面,要求對(duì)用戶進(jìn)行身份識(shí)別,在用戶權(quán)限管理中,采用用戶角色的方法,設(shè)置每個(gè)用戶的角色身份,以便能區(qū)分每個(gè)用戶的職能。對(duì)于系統(tǒng)數(shù)據(jù)安全,要求采用性價(jià)比比較高的方案對(duì)系統(tǒng)數(shù)據(jù)迸行處理,以使系統(tǒng)具有容錯(cuò)、容災(zāi)功能。
從系統(tǒng)軟硬件環(huán)境需求分析,軟件方面,數(shù)據(jù)庫服務(wù)器采用MySQL數(shù)據(jù)庫,并使用ASP.NET和JavaScript腳本等編程,管理工具采用SVN。硬件方面,市面上現(xiàn)有的硬件性能完全可以滿足該系統(tǒng)的要求且價(jià)格適中。
3.2 系統(tǒng)架構(gòu)的設(shè)計(jì)
本系統(tǒng)擬將整個(gè)業(yè)務(wù)應(yīng)用劃分為三個(gè)層次:表示層(Presentation Layer)、業(yè)務(wù)邏輯層(Business Logic Layer, BLL)和數(shù)據(jù)訪問層(Data Access Layer, DAL)。 表示層位于最外層(最上層)。用于顯示數(shù)據(jù)和接收用戶輸入的數(shù)據(jù),為用戶提供一種交互式操作的界面。業(yè)務(wù)邏輯層是系統(tǒng)架構(gòu)中體現(xiàn)核心價(jià)值的部分,負(fù)責(zé)系統(tǒng)主要功能和業(yè)務(wù)邏輯的處理,關(guān)注點(diǎn)主要集中在業(yè)務(wù)規(guī)則的制定、業(yè)務(wù)流程的實(shí)現(xiàn)、合法性校驗(yàn)等與業(yè)務(wù)需求有關(guān)的系統(tǒng)設(shè)計(jì)。數(shù)據(jù)訪問層負(fù)責(zé)數(shù)據(jù)庫的訪問,可以訪問數(shù)據(jù)庫系統(tǒng)、二進(jìn)制文件、文本文檔或是XML文檔。簡(jiǎn)單的說法就是實(shí)現(xiàn)對(duì)數(shù)據(jù)表的Select、Insert、Update、Delete操作。
三層系統(tǒng)架構(gòu)是一種弱耦合結(jié)構(gòu),層與層之間的依賴是向下的,底層對(duì)于上層而言是“無知”的,改變上層的設(shè)計(jì)對(duì)于其調(diào)用的底層而言沒有任何影響。業(yè)務(wù)邏輯層處于數(shù)據(jù)訪問層與表示層中間,起到了數(shù)據(jù)交換中承上啟下的作用。對(duì)于數(shù)據(jù)訪問層而言,它是調(diào)用者;對(duì)于表示層而言,它卻是被調(diào)用者。通常情況下,客戶端不直接與數(shù)據(jù)庫進(jìn)行交互,而是通過COM/DCOM通訊與中間層建立連接,再經(jīng)由中間層與數(shù)據(jù)庫進(jìn)行交互。
3.3 面向服務(wù)的功能設(shè)計(jì)和實(shí)現(xiàn)
人事管理系統(tǒng)的功能需求可以分為7個(gè)部分:人力資源信息管理,行政信息管理,網(wǎng)絡(luò)信息管理,設(shè)備信息管理,軟件信息管理,信息查詢,數(shù)據(jù)導(dǎo)入導(dǎo)出。人力資源信息管理和行政信息管理,主要的需求是對(duì)員工信息的增刪改查操作;網(wǎng)絡(luò)信息管理,主要的需求是對(duì)機(jī)器設(shè)備信息的管理;設(shè)備信息管理,主要的需求是對(duì)座位信息的分配和管理;軟件信息管理,主要的需求是對(duì)軟件安裝和使用情況的管理。
具體的功能服務(wù)設(shè)計(jì)如下:
(1)員工信息管理服務(wù):人力資源部門對(duì)員工信息進(jìn)行添加、修改和刪除操作。添加員工信息,系統(tǒng)自動(dòng)生成職工編號(hào)基本信息包括姓名、性別、年齡、出生日期、住址、E-mail、入職時(shí)間,離職時(shí)間等。修改職工信息,對(duì)所選員工的信息進(jìn)行修改。刪除職工信息,從列表中選擇需要?jiǎng)h除的職工信息,然后進(jìn)行刪除操作。
(2)設(shè)備信息管理服務(wù): 網(wǎng)絡(luò)管理部門對(duì)電腦和電話信息進(jìn)行添加、刪除以及分配操作,設(shè)備包括電腦和電話。添加信息,在列表的最后加入新設(shè)備的信息;刪除信息,從列表中選擇要?jiǎng)h除的設(shè)備,然后進(jìn)行刪除操作。分配設(shè)備,在列表中選中待分配設(shè)備分配給相應(yīng)員工。
(3)數(shù)據(jù)導(dǎo)入導(dǎo)出服務(wù):系統(tǒng)涉及大量的人員信息,需要對(duì)信息進(jìn)行導(dǎo)入和導(dǎo)出的操作,導(dǎo)入數(shù)據(jù)需要將數(shù)據(jù)從Excel導(dǎo)入到數(shù)據(jù)庫中,實(shí)現(xiàn)Excel和數(shù)據(jù)庫的轉(zhuǎn)換。導(dǎo)出數(shù)據(jù)需要將數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)出成HTML格式,再轉(zhuǎn)換為Excel格式,實(shí)現(xiàn)數(shù)據(jù)庫和Excel的轉(zhuǎn)換。每次導(dǎo)入和導(dǎo)出都做好數(shù)據(jù)的備份,有利于數(shù)據(jù)的還原。
為了實(shí)現(xiàn)上述功能服務(wù),本系統(tǒng)中定義了基礎(chǔ)模塊(Infrastructure Module)為業(yè)務(wù)提供一些公用的底層功能。從整體設(shè)計(jì)層次的粗粒度上來剖析,可以將webserver和appserver看做兩個(gè)模塊,為了降低模塊之間的依賴,將接口的方式定義成服務(wù)契約。按照依賴倒置的設(shè)計(jì)原則,通過抽象將接口和實(shí)現(xiàn)相互分離,避免基于實(shí)現(xiàn)的依賴。接口是穩(wěn)定的,而實(shí)現(xiàn)則是易變的,基于接口服務(wù)調(diào)用能夠有效的應(yīng)對(duì)實(shí)現(xiàn)的變化帶來的影響。
系統(tǒng)的功能模塊包括人員信息管理(UserInfo)、設(shè)備信息管理(DeviceInfo)和基礎(chǔ)模塊(Infrastructure)。各自都包含了多個(gè)項(xiàng)目,反映了模塊內(nèi)部的層次劃分。BusinessEntity:提供業(yè)務(wù)實(shí)體類型的定義;DataAccess:數(shù)據(jù)訪問層,提供對(duì)數(shù)據(jù)庫的訪問;BusinessComponent:業(yè)務(wù)邏輯層,業(yè)務(wù)邏輯的實(shí)現(xiàn);Service.Interface:定義WCF服務(wù)的契約接口;Service:用于定義實(shí)現(xiàn)上述契約接口的服務(wù);UserInfo/DeviceInfo:為本模塊提供基本的功能,包括對(duì)服務(wù)的調(diào)用,也包括必要的邏輯處理;Interface:用于提供給和其他模塊的接口。
3.4 接口設(shè)計(jì)與實(shí)現(xiàn)
本系統(tǒng)擬設(shè)計(jì)的接口如下:
人員信息接口:人員信息包含多種類型的數(shù)據(jù),需要從中提取出需要的信息轉(zhuǎn)換成統(tǒng)一的存儲(chǔ)格式。接口設(shè)計(jì)思想:數(shù)據(jù)獲取時(shí)接口通過TCP協(xié)議完成數(shù)據(jù)的傳輸,把所要求的入口參數(shù)提供給接口,接口通過通訊協(xié)議采集到所要的數(shù)據(jù)并形成XML文件,然后利用協(xié)議轉(zhuǎn)換器讀取XML文件。
數(shù)據(jù)庫通用接口:數(shù)據(jù)庫通用接口規(guī)定了向第三方提供操作訪問數(shù)據(jù)庫的編程接口,其包括權(quán)限判斷、數(shù)據(jù)存取等功能,在外部系統(tǒng)接入接口的過程中,所有功能由系統(tǒng)接入接口和數(shù)據(jù)操作接口提供服務(wù)。
導(dǎo)入導(dǎo)出接口:Visual2010自帶的Excel接口,但是格式和樣式單一,需要重新進(jìn)行ObjToExcel接口的封裝,實(shí)現(xiàn)系統(tǒng)數(shù)據(jù),Excel和HTML格式之間的轉(zhuǎn)換,使用泛化的方式重載原有的接口,Visual自帶的Excel接口不可以傳遞參數(shù),該系統(tǒng)由于不同部門上傳和下載的Excel中數(shù)據(jù)的格式不一致,所以需要重新封裝原有的Excel接口,將其參數(shù)化,同時(shí)實(shí)現(xiàn)了多個(gè)重載,有利于擴(kuò)展和使用。
上述服務(wù)接口的定義都在各自模塊的Service.Interface中,Service.Interface 同時(shí)部署在webserver和AppServer層中,這樣通過Interface中定義的接口,在兩層服務(wù)之間定義了一種契約。
【基于SOA的人事管理系統(tǒng)架構(gòu)】相關(guān)文章:
基于云架構(gòu)的系統(tǒng)安全設(shè)計(jì)08-08
基于B/S架構(gòu)的電子政務(wù)模擬系統(tǒng)設(shè)計(jì)10-10
基于GIS的通信管網(wǎng)管理系統(tǒng)架構(gòu)設(shè)計(jì)10-18
基于Web的MES系統(tǒng)安全架構(gòu)設(shè)計(jì)及分析10-16
系統(tǒng)架構(gòu)設(shè)計(jì)模式大全08-22