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