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