邵富明
摘 要:本文以研究移動(dòng)APP開(kāi)發(fā)和校園OA系統(tǒng)為方向,引入“基于微信企業(yè)平臺(tái)的校園移動(dòng)OA系統(tǒng)”的設(shè)計(jì)思路,介紹了如何以移動(dòng)混合開(kāi)發(fā)框架為核心,利用可執(zhí)行業(yè)務(wù)模型驅(qū)動(dòng)設(shè)計(jì)方法,將微信公眾平臺(tái)企業(yè)號(hào)開(kāi)發(fā)技術(shù)與移動(dòng)OA技術(shù)相結(jié)合,構(gòu)建跨端的業(yè)務(wù)架構(gòu)平臺(tái)的實(shí)踐做法以及根據(jù)系統(tǒng)需求將平臺(tái)的功能設(shè)計(jì)為組織權(quán)限管理、校務(wù)工作管理、學(xué)生德育管理、教學(xué)教研管理、班主任考核管理、技能競(jìng)賽管理六大模塊,最終實(shí)現(xiàn)了基于微信企業(yè)平臺(tái)的校園移動(dòng)OA系統(tǒng),達(dá)到輕開(kāi)發(fā)、可重用的效果。
關(guān)鍵詞:校園移動(dòng)OA 微信企業(yè)平臺(tái) 移動(dòng)混合開(kāi)發(fā)框架 業(yè)務(wù)模型驅(qū)動(dòng)
該項(xiàng)目來(lái)源于為廣州市技師學(xué)院建立的一個(gè)基于微信企業(yè)平臺(tái)的校園移動(dòng)OA系統(tǒng)。該系統(tǒng)是以《技工教育“十三五”規(guī)劃》為依據(jù),以全面推進(jìn)技工院校信息化建設(shè)為目標(biāo),面向?qū)W校內(nèi)部員工的服務(wù)群體,依托移動(dòng)業(yè)務(wù)和便攜設(shè)備,在移動(dòng)互聯(lián)網(wǎng)和移動(dòng)開(kāi)發(fā)技術(shù)的環(huán)境下,徹底解決校園信息服務(wù)的實(shí)時(shí)性問(wèn)題,有效消除校園信息孤島現(xiàn)象,并為全體教職工提供高效安全、靈活便捷的校園移動(dòng)辦公平臺(tái)。
該項(xiàng)目開(kāi)發(fā)的動(dòng)機(jī)是在“廣州市高級(jí)技工學(xué)校辦公自動(dòng)化系統(tǒng)”和“廣州市高級(jí)技工學(xué)校微信訂閱號(hào)”的應(yīng)用基礎(chǔ)上,研究分析校園辦公系統(tǒng)的移動(dòng)業(yè)務(wù)需求,對(duì)微信企業(yè)平臺(tái)和移動(dòng)OA進(jìn)行定制開(kāi)發(fā),重點(diǎn)解決校園移動(dòng)辦公一體化應(yīng)用和信息資源靈活整合的問(wèn)題。
該項(xiàng)目系統(tǒng)的構(gòu)建主要從業(yè)務(wù)架構(gòu)信息系統(tǒng)、移動(dòng)混合開(kāi)發(fā)框架、微信企業(yè)平臺(tái)三個(gè)技術(shù)層面進(jìn)行移動(dòng)校園OA系統(tǒng)整體設(shè)計(jì),系統(tǒng)開(kāi)發(fā)核心技術(shù)包含如下。
1.業(yè)務(wù)模型體系
業(yè)務(wù)模型體系包含數(shù)據(jù)模型、流程模型、界面模型、組織模型等四個(gè)部分。業(yè)務(wù)模型體系能夠全面、精確地描述用戶需求,具有提升和保障管理軟件的能力,能滿足管理軟件設(shè)計(jì)的基本規(guī)范,是管理軟件自動(dòng)化、質(zhì)量控制和保障的基礎(chǔ)。
2.Justep X5技術(shù)框架
該項(xiàng)目采用Justep X5業(yè)務(wù)架構(gòu)平臺(tái)(簡(jiǎn)稱X5)進(jìn)行業(yè)務(wù)架構(gòu)信息系統(tǒng)開(kāi)發(fā),利用其企業(yè)級(jí)應(yīng)用開(kāi)發(fā)工具定制設(shè)計(jì)應(yīng)用模塊,節(jié)約項(xiàng)目經(jīng)濟(jì)成本,消除企業(yè)信息化孤島。其X5工作流引擎采用了基于PetriNet原理的業(yè)務(wù)流程體系,可對(duì)業(yè)務(wù)流程進(jìn)行定義和運(yùn)行。
3.H5 Hybrid APP開(kāi)發(fā)模式
該項(xiàng)目選用了WeX5免費(fèi)開(kāi)源工具進(jìn)行基于HTML5 的Hybrid APP開(kāi)發(fā),其中包括SPA單頁(yè)應(yīng)用模型、前端MVVM模式、后端Baas服務(wù)等技術(shù)要素的研究開(kāi)發(fā)。利用HTML5技術(shù)開(kāi)發(fā)的移動(dòng)應(yīng)用已經(jīng)擁有良好的運(yùn)行性能。移動(dòng)設(shè)備硬件能力、無(wú)線網(wǎng)絡(luò)技術(shù)和瀏覽器技術(shù)的大幅提升,使得Web的運(yùn)行性能不再是瓶頸。
4.微信企業(yè)平臺(tái)
該項(xiàng)目采用了微信公眾平臺(tái)企業(yè)號(hào)作為移動(dòng)端的應(yīng)用入口,X5業(yè)務(wù)信息系統(tǒng)作為管理端服務(wù)后臺(tái),實(shí)現(xiàn)基于微信企業(yè)平臺(tái)校園移動(dòng)OA系統(tǒng)。企業(yè)號(hào)具有構(gòu)建成本低、功能定制靈活、豐富的API接口等開(kāi)發(fā)特性,能夠輕松地集成第三方移動(dòng)應(yīng)用平臺(tái),真正實(shí)現(xiàn)一次開(kāi)發(fā)多平臺(tái)使用,較好地解決了信息化孤島問(wèn)題。
基于微信企業(yè)平臺(tái)的校園移動(dòng)OA系統(tǒng)是綜合了原有校園辦公自動(dòng)化系統(tǒng)和微信公眾平臺(tái)訂閱號(hào)的應(yīng)用特點(diǎn),對(duì)校園信息管理進(jìn)行定制開(kāi)發(fā)的一套移動(dòng)應(yīng)用服務(wù)系統(tǒng)。
1.系統(tǒng)需求定位
該系統(tǒng)需求定位是根據(jù)校園信息化建設(shè)目標(biāo)要求,在原有系統(tǒng)平臺(tái)架構(gòu)不予以改變的前提下,利用Justep X5業(yè)務(wù)架構(gòu)平臺(tái)提供的業(yè)務(wù)集成能力(包含業(yè)務(wù)集成、服務(wù)集成、功能集成、數(shù)據(jù)集成、界面集成),將原有業(yè)務(wù)應(yīng)用系統(tǒng)進(jìn)行一體化集成,輕松實(shí)現(xiàn)異構(gòu)系統(tǒng)數(shù)據(jù)間的共享和調(diào)用,結(jié)合微信公眾平臺(tái)企業(yè)號(hào)與移動(dòng)OA技術(shù),構(gòu)建跨端應(yīng)用的服務(wù)架構(gòu)平臺(tái),徹底解決校園信息處理的實(shí)時(shí)性問(wèn)題,有效消除校園信息化孤島。
根據(jù)系統(tǒng)需求定位分析,基于微信企業(yè)平臺(tái)的校園移動(dòng)OA系統(tǒng)的功能需求包括校務(wù)工作管理、學(xué)生德育管理、教學(xué)教研管理、班主任管理、技能競(jìng)賽管理、組織權(quán)限管理等六大模塊。
2.系統(tǒng)用例分析
根據(jù)系統(tǒng)需求概述可知,項(xiàng)目系統(tǒng)的參與者包括系統(tǒng)管理員、教職員工。在系統(tǒng)使用過(guò)程中,所有用戶都必須通過(guò)微信公眾平臺(tái)企業(yè)號(hào)的用戶驗(yàn)證才可以進(jìn)行模塊化的操作和管理。因此,該系統(tǒng)涉及的用例分析包括校務(wù)工作管理、學(xué)生德育管理、教學(xué)教研管理、班主任管理、技能競(jìng)賽管理、微信公眾平臺(tái)企業(yè)號(hào)管理、用戶驗(yàn)證登錄等。
該系統(tǒng)采用B/S架構(gòu),利用基于Java EE的分層體系結(jié)構(gòu),將業(yè)務(wù)平臺(tái)劃分為表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問(wèn)層、數(shù)據(jù)實(shí)體層,最終實(shí)現(xiàn)了分散關(guān)注、松散耦合、邏輯復(fù)用、標(biāo)準(zhǔn)定義,符合“高內(nèi)聚、低耦合”的軟件架構(gòu)設(shè)計(jì)原則。
1.系統(tǒng)分層架構(gòu)
在分層體系結(jié)構(gòu)中,每層結(jié)構(gòu)都有相互依賴的關(guān)系,每層結(jié)構(gòu)對(duì)系統(tǒng)的開(kāi)發(fā)和維護(hù)都具有重要作用。
表示層為系統(tǒng)用戶提供了人機(jī)交互的界面環(huán)境,為客戶端提供了應(yīng)用程序訪問(wèn)的途徑,負(fù)責(zé)用戶請(qǐng)求信息的獲取、返回結(jié)果的展現(xiàn),即業(yè)務(wù)數(shù)據(jù)信息的接收與顯示。
業(yè)務(wù)邏輯層是系統(tǒng)體系結(jié)構(gòu)的核心層,是表示層和數(shù)據(jù)訪問(wèn)層的中間層,主要負(fù)責(zé)業(yè)務(wù)流程的控制和業(yè)務(wù)邏輯的處理。當(dāng)接收到表示層提出的業(yè)務(wù)請(qǐng)求時(shí),根據(jù)開(kāi)發(fā)設(shè)計(jì)好的業(yè)務(wù)流程和業(yè)務(wù)邏輯,對(duì)數(shù)據(jù)訪問(wèn)層進(jìn)行數(shù)據(jù)業(yè)務(wù)邏輯調(diào)用,實(shí)現(xiàn)前后臺(tái)的數(shù)據(jù)交互。
數(shù)據(jù)訪問(wèn)層主要為表示層和業(yè)務(wù)邏輯層提供數(shù)據(jù)調(diào)用服務(wù),可以實(shí)現(xiàn)與數(shù)據(jù)庫(kù)進(jìn)行交互訪問(wèn),可以實(shí)現(xiàn)對(duì)象與數(shù)據(jù)表的映射,以及對(duì)象實(shí)體的持久化。
2.系統(tǒng)核心用例的實(shí)現(xiàn)
本文系統(tǒng)用例較多,現(xiàn)以微企通訊錄用例為例進(jìn)行分析。微企通訊錄管理主要包含微企成員關(guān)注和同步企業(yè)通訊錄兩大步驟,分別由微企服務(wù)器和第三方應(yīng)用服務(wù)器協(xié)同工作交互完成,其實(shí)現(xiàn)過(guò)程如下。
(1)教職員工利用微信APP打開(kāi)添加企業(yè)號(hào)界面,輸入企業(yè)號(hào)的名稱,點(diǎn)擊“搜索”按鈕后與服務(wù)器進(jìn)行交互,并觸發(fā)搜索請(qǐng)求;服務(wù)器接收請(qǐng)求后執(zhí)行校驗(yàn)操作,并將結(jié)果返回頁(yè)面顯示。
(2)教職員工在企業(yè)號(hào)搜索結(jié)果界面中,點(diǎn)擊“關(guān)注”按鈕后觸發(fā)頁(yè)面事件,并向服務(wù)器發(fā)送關(guān)注企業(yè)號(hào)的請(qǐng)求;服務(wù)器校驗(yàn)用戶是否已關(guān)注,如果是已關(guān)注用戶,直接跳轉(zhuǎn)到微企應(yīng)用會(huì)話界面;如果是新關(guān)注用戶,將企業(yè)號(hào)驗(yàn)證結(jié)果返回頁(yè)面顯示。
(3)教職員工在企業(yè)號(hào)登記頁(yè)面中,點(diǎn)擊“申請(qǐng)加入”按鈕后觸發(fā)頁(yè)面事件,并向服務(wù)器發(fā)送加入企業(yè)號(hào)請(qǐng)求,服務(wù)器校驗(yàn)成員身份,并將校驗(yàn)結(jié)果返回頁(yè)面顯示,向管理員發(fā)送企業(yè)成員審批加入提示。
(4)系統(tǒng)管理員打開(kāi)企業(yè)成員審批界面,點(diǎn)擊“通過(guò)”按鈕后觸發(fā)頁(yè)面事件,向服務(wù)器發(fā)送同意審批加入請(qǐng)求;服務(wù)器接受請(qǐng)求后,執(zhí)行微企成員數(shù)據(jù)保存操作。
3.數(shù)據(jù)模型設(shè)計(jì)
根據(jù)系統(tǒng)靜態(tài)結(jié)構(gòu)分析,系統(tǒng)核心用例數(shù)據(jù)實(shí)體主要包括系統(tǒng)管理員、權(quán)限管理、用戶、學(xué)生操行、班主任考核和工作交辦。按照實(shí)體類的數(shù)據(jù)持久化設(shè)計(jì)原則和系統(tǒng)數(shù)據(jù)庫(kù)的概念模型分析可知,系統(tǒng)管理員表、用戶表、權(quán)限管理表三個(gè)數(shù)據(jù)表之間同時(shí)存在管理與被管理的關(guān)系,關(guān)聯(lián)類型都是一對(duì)多;用戶與系統(tǒng)功能模塊的數(shù)據(jù)表存在管理與使用的關(guān)系,關(guān)聯(lián)類型是多對(duì)多。
1.系統(tǒng)開(kāi)發(fā)環(huán)境部署
系統(tǒng)用戶主要通過(guò)微信APP與系統(tǒng)進(jìn)行前端界面交互,當(dāng)系統(tǒng)用戶向系統(tǒng)發(fā)送服務(wù)請(qǐng)求時(shí),微信企業(yè)平臺(tái)、應(yīng)用服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器、云端服務(wù)等核心部件將會(huì)遵循Java EE分層體系機(jī)制提供相應(yīng)的服務(wù)支持。
2.系統(tǒng)應(yīng)用效果分析
原系統(tǒng)應(yīng)用特點(diǎn):系統(tǒng)應(yīng)用設(shè)備依賴于傳統(tǒng)的PC終端模式,無(wú)法支持無(wú)線網(wǎng)絡(luò)環(huán)境下的移動(dòng)辦公,校園實(shí)時(shí)通訊模式落后,校園信息服務(wù)應(yīng)用受限;校園信息化孤島現(xiàn)象嚴(yán)重,數(shù)據(jù)大量冗余,資源共享效率緩慢;數(shù)字化信息系統(tǒng)重復(fù)開(kāi)發(fā),資源嚴(yán)重浪費(fèi)。
新系統(tǒng)應(yīng)用特點(diǎn):利用微信企業(yè)號(hào)的API接口調(diào)用和高級(jí)接口配置實(shí)現(xiàn)了通訊錄同步、企業(yè)第三方應(yīng)用、微信插件等功能;利用X5工作流引擎對(duì)業(yè)務(wù)流程進(jìn)行定義和運(yùn)行,實(shí)現(xiàn)了以待辦任務(wù)為核心的工作流程體系;利用SPA頁(yè)面隔離技術(shù),全面加快了訪問(wèn)頁(yè)面響應(yīng)時(shí)間和頁(yè)面跳轉(zhuǎn)速度,整體提升了人機(jī)交互體驗(yàn)效果。利用基于Knockoutjs技術(shù)的數(shù)據(jù)感知模式MVVM,通過(guò)豐富的組件體系和組件管理能力,滿足系統(tǒng)UI層業(yè)務(wù)變更需求。
該系統(tǒng)實(shí)踐效果表明,其所提出的移動(dòng)混合開(kāi)發(fā)框架,能滿足業(yè)務(wù)變更需求,降低和消除信息孤島現(xiàn)象;有效提高信息平臺(tái)服務(wù)質(zhì)量,降低項(xiàng)目的總體成本和管理復(fù)雜程度,縮短項(xiàng)目開(kāi)發(fā)周期,延長(zhǎng)系統(tǒng)的使用壽命,對(duì)數(shù)字化校園的建設(shè)發(fā)展起到了重要作用。
參考文獻(xiàn):
[1]余陽(yáng),王潁,劉醒梅,陳健.基于社會(huì)關(guān)系的工作流任務(wù)分派策略研究[J].軟件學(xué)報(bào),2015(3).
[2]陳世華,顧欽平,福娃.基于Android的移動(dòng)校園信息平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J].無(wú)線互聯(lián)科技,2015(18).
[3]李廣慶,翁蘇湘.基于Android OS校園信息一體化平臺(tái)OA系統(tǒng)客戶端設(shè)計(jì)[J].中國(guó)新通信,2015(21).
[4]謝文燾,董黎剛.基于Android的校園網(wǎng)移動(dòng)客戶端設(shè)計(jì)與實(shí)現(xiàn)[J].杭州電子科技大學(xué)學(xué)報(bào),2012(5).
(作者單位:廣州市高級(jí)技工學(xué)校)