文/董葉彤
新華社組織人事信息化從2004年開(kāi)始到現(xiàn)在,經(jīng)歷了三個(gè)階段,即建設(shè)實(shí)現(xiàn)人事信息的電子化、實(shí)現(xiàn)部分人事業(yè)務(wù)的網(wǎng)上辦理、探索持續(xù)發(fā)展道路。組織人事信息化經(jīng)歷了從人事信息管理到人事管理信息化,目前正向人力資源管理邁進(jìn)。
圖1 組織人事信息化發(fā)展
采用CS架構(gòu),解決數(shù)據(jù)庫(kù)靈活構(gòu)建和結(jié)構(gòu)化數(shù)據(jù)管理的問(wèn)題。從業(yè)務(wù)角度講,這里的人事信息指一個(gè)人在新華社工作后所產(chǎn)生的與人員管理有關(guān)的工作信息,還有一個(gè)人的部分檔案信息(主要指干部的三齡兩歷)。因與時(shí)俱進(jìn)的發(fā)展需要,為了適應(yīng)這種變化,人事系統(tǒng)做了以下設(shè)計(jì)。
其一,人事系統(tǒng)在設(shè)計(jì)時(shí)把與人事業(yè)務(wù)有關(guān)的信息通過(guò)系統(tǒng)管理起來(lái)。具體方法是,通過(guò)數(shù)據(jù)庫(kù)表、字段描述人事信息的相關(guān)屬性(包括數(shù)據(jù)的一般屬性、人事信息的特殊屬性、人事信息的管理屬性),從而,可以在不改程序的情況下,通過(guò)后臺(tái)管理,增刪改人事信息的表和字段。本質(zhì)是,程序中處理的人事業(yè)務(wù)信息進(jìn)行了抽象和封裝,程序處理的是通過(guò)抽象和封裝的人事信息類的對(duì)象。只要是這樣的對(duì)象,程序都能處理,從而達(dá)到一定的隨需而變。
圖2 人事信息的封裝
其二,人事系統(tǒng)初步探索了組件化的開(kāi)發(fā)模式。這次探索是開(kāi)發(fā)人員主導(dǎo)的,指導(dǎo)思想是,一個(gè)軟件工業(yè)化產(chǎn)品應(yīng)該采用組件注冊(cè)的方式裝配而成。組件就是相似功能的抽象,組件由屬性、方法、事件組成。模塊就是組件的具化。在本期設(shè)計(jì)中模塊被分成了系統(tǒng)模塊、子系統(tǒng)模塊、功能項(xiàng)和業(yè)務(wù)處理四類,每類模塊都可以設(shè)置入口參數(shù)、對(duì)應(yīng)程序、錄入條件、人事信息設(shè)置等相關(guān)接口信息。人事系統(tǒng)由大大小小的模塊構(gòu)成。這種方法構(gòu)成了人事客戶端系統(tǒng)的外部框架,類似現(xiàn)在的平臺(tái)功能注冊(cè)。這時(shí)還是技術(shù)人員的角度看問(wèn)題,系統(tǒng)設(shè)計(jì)也只是把模塊分類,功能歸并統(tǒng)一處理。在模塊注冊(cè)時(shí)既有技術(shù)參數(shù)設(shè)置,應(yīng)用程序注冊(cè),又有人事信息設(shè)置。這個(gè)設(shè)計(jì)是給技術(shù)人員用的,而不是給業(yè)務(wù)人員用的。缺點(diǎn)是,業(yè)務(wù)上增加某類人員,某類數(shù)據(jù)管理都需要技術(shù)人員支持。
圖3 系統(tǒng)架構(gòu)理論
圖4 一期組織人事系統(tǒng)設(shè)計(jì)
這一階段豐富了人事信息,增加了信息的準(zhǔn)確度。人事系統(tǒng)從需要復(fù)雜安裝的客戶端轉(zhuǎn)移到網(wǎng)絡(luò)上,在不編程的情況下,系統(tǒng)通過(guò)兩個(gè)業(yè)務(wù)組件配置出近百個(gè)業(yè)務(wù)模塊。人事系統(tǒng)初步成為全社人事信息基礎(chǔ)平臺(tái)。但是,由于投入資金太少,設(shè)計(jì)時(shí)組件的外延做了取舍和限制,程序開(kāi)發(fā)沒(méi)有完善的測(cè)試,使得后期的應(yīng)用擴(kuò)展具有局限性。
這期項(xiàng)目建設(shè)是由業(yè)務(wù)專家主導(dǎo)的,系統(tǒng)設(shè)計(jì)只是在原來(lái)的系統(tǒng)上增加了兩個(gè)業(yè)務(wù)組件。首先,業(yè)務(wù)屬性從模塊注冊(cè)中剝離。模塊注冊(cè)只管平臺(tái)級(jí)的程序注冊(cè);其次,根據(jù)實(shí)際業(yè)務(wù)抽象出兩個(gè)組件,信息組件和業(yè)務(wù)流程組件。這兩個(gè)組件作為模塊注冊(cè)到系統(tǒng)里。
圖5 二期系統(tǒng)建設(shè)
有業(yè)務(wù)專家主導(dǎo)達(dá)到了技術(shù)與業(yè)務(wù)的分離,將人事信息從模塊注冊(cè)中分離出來(lái),從業(yè)務(wù)角度重新設(shè)計(jì)模塊。模塊設(shè)置中包含人事信息設(shè)置、組織索引、增刪改查等功能設(shè)置、界面布局等設(shè)置。這時(shí)候才是第一次出現(xiàn)真正意義的組件,它從屬性、方法、頁(yè)面交互清晰地定義了一個(gè)組件。它不再只是一個(gè)技術(shù)概念,而上升為一種業(yè)務(wù)模型。
圖6 業(yè)務(wù)組件設(shè)計(jì)
兩個(gè)組件分別用于生產(chǎn)信息模塊和流程模塊。目前,通過(guò)這種配置方式生成。當(dāng)時(shí)這樣做只是為了解決實(shí)際問(wèn)題,既然能用這種組件設(shè)計(jì)方式管人,也能用這種方式管財(cái)、管物。項(xiàng)目建成后,設(shè)計(jì)者接觸aris、sap,發(fā)現(xiàn)他們是從組織、資源、功能、數(shù)據(jù)來(lái)設(shè)計(jì)系統(tǒng)的,跟這期設(shè)計(jì)業(yè)務(wù)組件竟然不謀而合。
這期的其他特色:其一,以模塊為粒度的RBAC權(quán)限管理模型;其二、技術(shù)上,實(shí)現(xiàn)了數(shù)據(jù)接口層,屏蔽了底層數(shù)據(jù)庫(kù)間的差異,實(shí)現(xiàn)業(yè)務(wù)層和展示層的分離。
經(jīng)過(guò)多年努力,人員流轉(zhuǎn)的業(yè)務(wù)已經(jīng)實(shí)現(xiàn)在線協(xié)作運(yùn)行。人員數(shù)據(jù)庫(kù)的人員數(shù)據(jù)做到準(zhǔn)確及時(shí),具備為其他系統(tǒng)提供實(shí)時(shí)人員變動(dòng)數(shù)據(jù)的能力。
在應(yīng)用推廣的過(guò)程中,系統(tǒng)暴露出在穩(wěn)定性和頁(yè)面交互上是弱項(xiàng),一個(gè)組件一定有它的局限性,不能滿足所有實(shí)際需求。由于二期項(xiàng)目投入較少,組件開(kāi)發(fā)完全是抽象邏輯,難以理解,歷時(shí)一年多才開(kāi)發(fā)完成。后期非項(xiàng)目組的維護(hù)人員不能接手這套程序。對(duì)于程序員來(lái)說(shuō),讀別人程序已經(jīng)很費(fèi)勁,還要讀抽象邏輯和分層程序設(shè)計(jì),幾乎不可能。勉強(qiáng)的地修改歷時(shí)兩年,打破了原先的程序架構(gòu)。實(shí)踐證明,找不熟悉程序結(jié)構(gòu)的程序員勉強(qiáng)改程序的做法并不可取,應(yīng)該整體規(guī)劃,統(tǒng)一重構(gòu)程序。
那么,新的系統(tǒng)應(yīng)該怎樣設(shè)計(jì)呢?
新系統(tǒng)應(yīng)基于實(shí)際業(yè)務(wù)和應(yīng)用模式,抽象出通用性較強(qiáng)的業(yè)務(wù)模型,完善典型組件,再以模型驅(qū)動(dòng)平臺(tái)軟件開(kāi)發(fā)。在需求不完備、不明確的情況下,應(yīng)當(dāng)采用模型驅(qū)動(dòng)的方式,不應(yīng)需求驅(qū)動(dòng)開(kāi)發(fā)。
新系統(tǒng)首先重構(gòu)了數(shù)據(jù)模型。在保留原先的系統(tǒng)主子集信息結(jié)構(gòu)的同時(shí),設(shè)計(jì)了一類特殊類型表——關(guān)聯(lián)表。關(guān)聯(lián)表用于清晰記載組織與人之間的聯(lián)系。還設(shè)計(jì)了一類特殊表——從屬表,從屬表用于記載相對(duì)獨(dú)立數(shù)據(jù)對(duì)象(比如照片、文章)被業(yè)務(wù)的引用。
新系統(tǒng)重構(gòu)組織模型。分層的組織信息集下,設(shè)立了崗位節(jié)點(diǎn)。人員分配到崗,崗位可以被獨(dú)立索引。
新系統(tǒng)在數(shù)據(jù)模型和組織模型的基礎(chǔ)上抽象出業(yè)務(wù)模型,形成業(yè)務(wù)組件。大致分成組織管理組件、信息管理組件、業(yè)務(wù)處理組件,通用組件等。
新系統(tǒng)采用bpmn規(guī)范,設(shè)計(jì)業(yè)務(wù)過(guò)程模型。業(yè)務(wù)組件作為活動(dòng),參與到業(yè)務(wù)過(guò)程中。設(shè)計(jì)協(xié)作圖,以非編碼的方式,通過(guò)元數(shù)據(jù)驅(qū)動(dòng)系統(tǒng)運(yùn)行。
新系統(tǒng)采用組件+插件+腳本的結(jié)構(gòu),逐級(jí)消化用戶需求。組件承載業(yè)務(wù)模型,是系統(tǒng)的靈魂;插件可以集成第三方擴(kuò)展(技術(shù)擴(kuò)展、展現(xiàn)方式擴(kuò)展),從而達(dá)到更好的用戶體驗(yàn);通過(guò)腳本(sql、js、josn等)注入,進(jìn)行個(gè)性化處理。
新系統(tǒng)的立意是在一個(gè)企業(yè)的戰(zhàn)略層面考慮問(wèn)題。根據(jù)戰(zhàn)略建立權(quán)責(zé)利一致的企業(yè)組織體系。運(yùn)用中層機(jī)構(gòu)間的業(yè)務(wù)流轉(zhuǎn)來(lái)落實(shí)戰(zhàn)略。運(yùn)用組件化的系統(tǒng)設(shè)計(jì)思想在每個(gè)領(lǐng)域內(nèi)運(yùn)用適合的組件建立系統(tǒng),用以支持中層機(jī)構(gòu)內(nèi)的信息處理。新系統(tǒng)第一步是在與企業(yè)戰(zhàn)略最近的人力資源領(lǐng)域進(jìn)行實(shí)踐。新系統(tǒng)應(yīng)該稱之為平臺(tái),實(shí)現(xiàn)了整體架構(gòu)的搭建,實(shí)現(xiàn)一個(gè)通用組件的設(shè)計(jì)和解析,流程設(shè)計(jì)器、報(bào)表設(shè)計(jì)器、報(bào)表解析器,沒(méi)有實(shí)現(xiàn)流程解析。
新系統(tǒng)作為一次探索,在繼承老系統(tǒng)模型化、組件化開(kāi)發(fā)的基礎(chǔ)上,系統(tǒng)設(shè)計(jì)向平臺(tái)化的思路擴(kuò)展,組件設(shè)計(jì)更加通用,建立PAAS型業(yè)務(wù)應(yīng)用平臺(tái),試圖建立更具一般性的企業(yè)信息系統(tǒng)生態(tài)。新系統(tǒng)沒(méi)有能夠替換老系統(tǒng),作為一次可貴的嘗試,留下了很多寶貴經(jīng)驗(yàn)。
目前,新華社組織人事系統(tǒng)更新?lián)Q代迫在眉睫。設(shè)計(jì)系統(tǒng)要堅(jiān)持立足于實(shí)際人事業(yè)務(wù),提供便捷的人機(jī)交互的應(yīng)用模式,抽象出通用性較強(qiáng)的業(yè)務(wù)模型,完善典型組件,再以模型驅(qū)動(dòng)平臺(tái)軟件開(kāi)發(fā)。繼承老系統(tǒng)的數(shù)據(jù)模型,完善并優(yōu)化組織模型,擴(kuò)展功能模型,繼承并優(yōu)化信息組件和流程組件。