任偉 韓韜
(1.山西文旅云游集團 山西省太原市 030000 2.山西大學(xué) 山西省太原市 030006)
在各類信息技術(shù)快速覆蓋各個領(lǐng)域的當(dāng)下,企業(yè)也在不斷提升信息化建設(shè)水平,硬件條件不斷升級,網(wǎng)絡(luò)環(huán)境也在快速改善,進而提升軟件系統(tǒng)使用質(zhì)量。而企業(yè)以提升工作效率為主要目的,建立例如人事管理、科研管理等信息系統(tǒng),能夠?qū)ζ髽I(yè)員工科研、業(yè)務(wù)等起到有效幫助。為讓這種管理模式更加便利,降低使用門檻,利用企業(yè)微信這種便利渠道建設(shè)相應(yīng)管理平臺具有重要意義。
對于大多數(shù)企業(yè),在日常工作中多是以企業(yè)微信作為通訊工具。所以,將其作為開發(fā)平臺有應(yīng)用的基礎(chǔ),使用起來更為便利[1]。同時,這款由騰訊公司于2014年開發(fā)符合企業(yè)信息化的即時通訊軟件,企業(yè)微信提供許多開發(fā)便利條件,在維護上也較為方便。例如企業(yè)微信可以協(xié)助企業(yè)完成架構(gòu)整合工作,并以賬號密碼的信息管理模式,有效提升信息安全性。再比如企業(yè)微信身為一種基礎(chǔ)開發(fā)平臺,也可以讓開發(fā)人員創(chuàng)造更為便捷應(yīng)用程序,讓軟件可以用更小體積、更高整合速度,穩(wěn)定提升平臺應(yīng)用效果。使用人員依靠智能手機,即可訪問平臺,并利用其中設(shè)置的微應(yīng)用,完成相應(yīng)科研、業(yè)務(wù)等需求。這些優(yōu)勢是其他開發(fā)平臺所不具備的,這也是為什么選擇將企業(yè)微信作為開發(fā)首選平臺的根本原因。
對于企業(yè),在開發(fā)信息化系統(tǒng)時,要考慮到全體工作人員在業(yè)務(wù)、科研等方面的需求。所以,在過去需求調(diào)研時,多以當(dāng)面訪談收集來自工作人員的需求。盡管這種面對面溝通方式的確可以獲得不同人對于系統(tǒng)有什么需求,在未來系統(tǒng)開發(fā)時可以將其納入考慮范疇中。可是,實際上卻因為溝通角色、場景等限制,造成真實系統(tǒng)需求在這種溝通方法中難以獲得全面研究,需求內(nèi)容是存在片面性。若要讓企業(yè)建設(shè)信息化平臺獲得良好應(yīng)用效果,就要對用戶實際需求展開系統(tǒng)性分析,讓更多用戶群體參與到信息調(diào)研中[2]。針對這種情況,就要考慮通過信息化技術(shù)提升收集員工需求速度,降低處理問題所需時間,達到高效收集信息,并針對數(shù)據(jù)進行有效處理。把企業(yè)微信當(dāng)成工具,可以快速獲取工作人員對于平臺的需求。利用企業(yè)微信提供的消息提醒,定向?qū)⑿畔閱T工進行推動。而且,以企業(yè)微信開發(fā)相關(guān)微應(yīng)用,也提供雙向溝通這一渠道,無論是信息反饋,還是內(nèi)容迭代,相較于傳統(tǒng)信息收集都有較為明顯進步。
針對信息化建設(shè)的需求,設(shè)定系統(tǒng)設(shè)計目標(biāo),即為工作人員提供有關(guān)業(yè)務(wù)、學(xué)術(shù)研究等信息,而受眾范圍則是企業(yè)全部員工,系統(tǒng)功能則以不同功能模板為準,共同形成系統(tǒng)。對于系統(tǒng)的客戶端,則是企業(yè)微信這種軟件構(gòu)成,而管理端則是通過J2EE后臺系統(tǒng)組成[3]。對于管理員端,是通過企業(yè)微信這一渠道,提供例如采集表單、需求查看、附件管理等多種實用性功能,各類功能無論是基礎(chǔ)的用戶界面,還是底層邏輯的交互設(shè)計,都和企業(yè)微信在API開發(fā)中擁有一致標(biāo)準,最大限度提升平臺使用價值。而服務(wù)器端則是通過授權(quán)管理、需求調(diào)整、需求迭代等模塊構(gòu)成,并通過J2EE微服務(wù)框架完成相應(yīng)功能。在應(yīng)用該管理平臺時,交互端是面向全體員工,負責(zé)收集信息化需求,并將其上傳至平臺上。而管理員端則是從平臺上調(diào)取數(shù)據(jù)后,根據(jù)各類需求,對平臺功能進行調(diào)整。圖1表示系統(tǒng)基本功能。
圖1:系統(tǒng)基本功能
針對本文建設(shè)的平臺,其技術(shù)框架是在企業(yè)微信結(jié)構(gòu)基礎(chǔ)上,完成架構(gòu)設(shè)計的工作。把Spring Boot當(dāng)成微服務(wù)技術(shù)應(yīng)用工具,可以集合企業(yè)微信操作便利優(yōu)勢,以及學(xué)?,F(xiàn)有API接口硬件條件,從而完成項目開發(fā)、信息系統(tǒng)對接、資源部署、系統(tǒng)測試,最后在全校范圍內(nèi)完成試運行,對問題收集并改進,提升系統(tǒng)使用價值。對于后端系統(tǒng),主要是借助Spring Boot完成框架邏輯的開發(fā)工作,并將其部署于虛擬機各個重要節(jié)點上,為全校使用提供專業(yè)化服務(wù)。負責(zé)管理系統(tǒng)信息數(shù)據(jù)的服務(wù)器,則是利用Nginx反向代理原理運營,并配置以權(quán)值為技術(shù)基礎(chǔ)的負載均衡規(guī)劃,以當(dāng)前系統(tǒng)實際需求與可利用的資源,針對計算節(jié)點科學(xué)調(diào)度,借助雙節(jié)點集群完成資源部署工作,穩(wěn)定提升系統(tǒng)在面對多人訪問時的穩(wěn)定性,避免在后續(xù)應(yīng)用,因短時間內(nèi)接受大量訪問請求,造成系統(tǒng)崩潰,影響平臺正常使用[4]。使用Oracle12c當(dāng)成數(shù)據(jù)庫,為系統(tǒng)提供數(shù)據(jù)存儲與應(yīng)用條件。對于系統(tǒng)開發(fā),則要讓企業(yè)微信于Spring Boot在技術(shù)層面進行對接,并通過身份認證作為安全架構(gòu)設(shè)計環(huán)節(jié),重點處理PC端身份登錄與認證相關(guān)工作,一并處理企業(yè)微信的OAuth2認證相關(guān)內(nèi)容。在進行開發(fā)企業(yè)微信的應(yīng)用界面時,則要通過HTML5方案讓移動端UI達到相應(yīng)布局。以開源Amaze UI為基礎(chǔ)的HTML5方案,其是專注于界面開發(fā)干工作。而且,Amaze UI把移動客戶端作為優(yōu)先處理對象,從而完成智能手機與PC設(shè)備適應(yīng)性配置。同時,Amaze UI也可以進行輕量前端渲染,把CSS3進行整合,完成異步交互應(yīng)用需求,提供移動程序在短時間內(nèi)快速加載條件。
系統(tǒng)開發(fā)要以企業(yè)微信固定的API開發(fā)規(guī)則為主,利用HTTP協(xié)議完成封裝工作,通過對客戶端接收的GET請求提交,完成微應(yīng)用的加載步驟,對于應(yīng)用程序,第一步就要正確完成corpID、secret等參數(shù)發(fā)送,并對訪問Token獲取。在接收到有應(yīng)用價值的Token后,則要以現(xiàn)在用戶會話界面再次完成code參數(shù)的獲取工作,并朝企業(yè)微信服務(wù)器發(fā)送獲取HTTP數(shù)據(jù)的系統(tǒng)請求。在請求數(shù)據(jù)包依靠OAuth2協(xié)議順利回調(diào),可以獲得JSON數(shù)據(jù)包,而且其擁有正確格式也為應(yīng)用Java工具對數(shù)據(jù)優(yōu)化處理提供便利條件,對數(shù)據(jù)、權(quán)限等進行加載[5]。在向系統(tǒng)發(fā)起處理流程后,用戶操作諸多功能則會觸發(fā)用戶請求,通過企業(yè)微信為執(zhí)行請求URL二次定向,并在系統(tǒng)后臺對靜默驗證一些操作有效執(zhí)行。在機構(gòu)標(biāo)識corp ID與密鑰secret全部驗證通過,則會跳到正確code值。憑借獲取code,可以借助HTTP302,讓系統(tǒng)會話跳轉(zhuǎn)至信息化需求采集的后臺URL,進行下一步處理。而Java服務(wù)后臺則會通過Servlet處理程序運行,完成API調(diào)用處理,根據(jù)從正確渠道提交對于本次會話處理的code,并對userid之類基礎(chǔ)數(shù)據(jù)返回系統(tǒng)。對于Java服務(wù)后臺,則是在收集機構(gòu)數(shù)據(jù)后,通過執(zhí)行對信息化需求采集工序,選擇符合當(dāng)前需求的處理業(yè)務(wù)方案,對業(yè)務(wù)基礎(chǔ)邏輯進行處理,整理業(yè)務(wù)數(shù)據(jù)與相關(guān)信息。在服務(wù)器后臺將所有數(shù)據(jù)全部處理后,則就繼續(xù)完成視圖渲染工作,讓用戶獲得美觀的頁面信息。并以HTML5移動界面,在用戶的移動終端展示處理結(jié)果,用戶可以根據(jù)處理結(jié)果,再次提交信息,或是選擇進行其他操作[6]。圖2即為系統(tǒng)開發(fā)基本流程。
圖2:系統(tǒng)開發(fā)基本流程
而J2EE服務(wù)器端則是通過Spring Boot實現(xiàn),借助自動配置方案,Spring Boot對J2EE依賴系統(tǒng)的問題成功解決。并利用pom.xml,把Java組件科學(xué)引入系統(tǒng)當(dāng)中。Spring Boot利用類似@Controller的Java內(nèi)容注解方式,建設(shè)Spring MVC控制器,以@RequestMapping內(nèi)容注解,讓控制器完成通過構(gòu)造處理系統(tǒng)運行問題的Request方案。這種方案請求參數(shù)是以企業(yè)微信API規(guī)格向提交,而數(shù)據(jù)交互解決內(nèi)容則是通過HTML5格式提供給系統(tǒng),并利用企業(yè)微信對HTML5頁面處理,通過渲染方式顯示給用戶。保證系統(tǒng)高效應(yīng)用,減少后續(xù)應(yīng)用的系統(tǒng)故障。
對于系統(tǒng)的開發(fā)工作,則是通過IntelliJ IDEA軟件完成,并把已經(jīng)開始應(yīng)用的企業(yè)微信創(chuàng)建屬于高效應(yīng)用的環(huán)境內(nèi),讓工作人員都可以通過軟件應(yīng)用“信息化需求采集”相關(guān)功能。在智能手機安裝企業(yè)微信后,各項功能都可以便利應(yīng)用,并通過企業(yè)微信界面,向系統(tǒng)提交信息化應(yīng)用需求。而在后續(xù)功能開發(fā)完成后,則會通過軟件更新方式,在系統(tǒng)中上線。工作人員則可以利用相應(yīng)界面進行操作,查看已經(jīng)提交到系統(tǒng)的需求、處理狀態(tài),并提供附件上傳功能等。以已經(jīng)投入應(yīng)用中的OAuth2,通過集成方式完成對接,對于用戶不再需要頻繁輸入賬號與密碼,可以通過獲取身份權(quán)限等系統(tǒng),進行系統(tǒng)交互的工作[7]。
而系統(tǒng)后臺則是將JDK8作為技術(shù)基礎(chǔ)進行開發(fā),利用Spring Boot自帶Tomcat容器,對后臺服務(wù)進行處理。系統(tǒng)后臺會借助Nginx擁有反向代理能力,進行端口轉(zhuǎn)發(fā),以負載均衡規(guī)劃,對Tomcat計算節(jié)點科學(xué)調(diào)度。系統(tǒng)會通過HikariCP的JDBC連接池應(yīng)用技術(shù),提高在單位時間內(nèi)多人訪問數(shù)據(jù)庫能力,而HikariCP則會利用Javassist,讓數(shù)據(jù)庫提高動態(tài)代理應(yīng)用能力。以ConcurentBag擁有的并發(fā)集合技術(shù),讓數(shù)據(jù)庫穩(wěn)定提升并發(fā)處理能力,并對數(shù)據(jù)庫在運行時發(fā)生鎖競爭概率大幅度降低。在對系統(tǒng)后臺完成部署工作后,可以借助LoadRunner151工具,完成系統(tǒng)并發(fā)能力測試,并以用戶腳本,對客戶端向系統(tǒng)發(fā)送請求的行為進行模擬,從而完成各類測試。圖3表示并發(fā)用戶數(shù)變化時,系統(tǒng)后臺響應(yīng)時延能力,并以平均、最短、最長三種數(shù)據(jù),給予數(shù)據(jù)最客觀信息。從圖3可以看出,在系統(tǒng)擁有更多并發(fā)用戶時,響應(yīng)時延也會有所提升,可是平均時延都可以被控制在5秒內(nèi),證明后臺處理數(shù)據(jù)能力較強,在以后軟件更新中,可以從系統(tǒng)實際應(yīng)用場景出發(fā),對軟件進行調(diào)整,提升后臺綜合性能,讓系統(tǒng)運行可以得到更有效控制[8]。
圖3:后臺并發(fā)測試情況
雖然當(dāng)前開發(fā)的系統(tǒng)可以滿足企業(yè)內(nèi)部人員對于信息化需求的采集工作,但是企業(yè)微信作為一種開發(fā)平臺,應(yīng)用能力遠不止如此。其擁有例如視頻會議、資源共享等便利條件。同時,將企業(yè)微信定時推送消息這一優(yōu)勢,可以通過為工作人員提供各種信息,對過去重復(fù)推送單一信息的缺點有效改善,完成信息的精準推送。所以,在未來系統(tǒng)更新中,可以選擇對界面進行優(yōu)化設(shè)計,讓員工可以獲得精美專項推文,并合理設(shè)置推送時間,從而讓全體員工獲得合理頻度的信息推送。系統(tǒng)也要增設(shè)員工反饋模塊,針對工作中問題可以及時通過系統(tǒng)向相關(guān)部門及時反饋,有專員對問題進行解決,通過及時處理工作問題,減少員工的不滿情況,讓其可以將更飽滿精神狀態(tài)投入工作中,實現(xiàn)高效工作,通過提升業(yè)務(wù)水平,為企業(yè)未來發(fā)展貢獻力量。
對于企業(yè)微信,其作為一種信息平臺,為相應(yīng)開發(fā)人員提供穩(wěn)定開發(fā)工具,也構(gòu)建良性IT環(huán)境,符合企業(yè)提高信息化建設(shè)水平需求。所以,企業(yè)在建立管理平臺時,需要將企業(yè)微信優(yōu)勢發(fā)揮到最大,在降低軟件開發(fā)投入的同時,也可以讓企業(yè)業(yè)務(wù)實現(xiàn)深度開發(fā),讓企業(yè)繼續(xù)提高信息化質(zhì)量,對以后企業(yè)科研、業(yè)務(wù)都有重要應(yīng)用價值。