資源描述:
《基于微信公眾平臺和openapi的微校城平臺構(gòu)建與實(shí)現(xiàn)》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、基于微信公眾平臺和OpenAPI的微校城平臺構(gòu)建與實(shí)現(xiàn)賀建英,李茹鈺,譚琳,楊肖滿,喬運(yùn)迅(四川文理學(xué)院計(jì)算機(jī)學(xué)院,四川達(dá)州635000)摘要:使用SpringMVC作為基礎(chǔ)開發(fā)框架,針對大型數(shù)據(jù)模型的服務(wù)平臺,利用Java反射機(jī)制開發(fā)泛型數(shù)據(jù)持久層和服務(wù)層,大批量簡化這兩層重復(fù)性代碼的編寫,縮短開發(fā)周期,降低BUG出現(xiàn)的概率,提高系統(tǒng)在后期的可維護(hù)性。結(jié)合擁有龐大用戶的微信平臺,利用開放接口服務(wù)(OpenAPI)進(jìn)行二次開發(fā),搭建出為各個(gè)高校服務(wù)的便捷服務(wù)平臺。.jyqkeResolution處理請求并且轉(zhuǎn)到對應(yīng)的視圖。SpringMVC請求處理流程如圖1所示。圖
2、1中SpringMVC的整體流程是用戶向服務(wù)器發(fā)出請求,被Spring前端控制ServeltDispatcherServlet所捕獲;DispatcherServlet對請求的URL地址進(jìn)行解析,得到相應(yīng)的URI地址,再調(diào)用HandlerMapping獲得Handler配置所有相關(guān)的對象(包括Handler對象及該對象所對應(yīng)的攔截器),最后以HandlerExecutionChain對象的形式返回;DispatcherServlet根據(jù)獲得的Handler,選擇一個(gè)合適的HandlerAdapter;提取Request中的模型數(shù)據(jù),填充Handler入?yún)?,開始執(zhí)行H
3、andler(Controller);Handler執(zhí)行完成后,向DispatcherServlet返回一個(gè)ModelAnd?Vieplate服務(wù)注入該基類中。開發(fā)時(shí),只須簡單的幾行代碼即可將具體數(shù)據(jù)模型的CRUD操作全部注入,無需再重新編寫這部分代碼。根據(jù)圖2所示,所有數(shù)據(jù)模型都可以按照A.java類的方式類進(jìn)行開發(fā),從而大幅度提高了四個(gè)基類的重復(fù)利用率,減少了數(shù)據(jù)持久層中的所有CRUD操作代碼和服務(wù)層中的所有基本CRUD操作方法。利用以上泛型開發(fā)方式,在本微校城便捷服務(wù)平臺中減少了至少70%的代碼量的編寫,提高了開發(fā)效率,同時(shí)也降低了系統(tǒng)后期的維護(hù)難度,使開發(fā)人
4、員的開發(fā)重點(diǎn)轉(zhuǎn)移至了業(yè)務(wù)的處理上。3開放接口服務(wù)(OpenAPI)OpenAPI是當(dāng)前比較流行和能有效提高開發(fā)效率的一種典型應(yīng)用。網(wǎng)站服務(wù)提供商將各自的網(wǎng)站服務(wù)封裝成一系列的API接口開放出去,供第三方開發(fā)者免費(fèi)或者付費(fèi)使用,把他們所開放的API稱作OpenAPI(開放API),一方面由于信息聯(lián)合的需要;另一方面是來自利益驅(qū)動使得OpenAPI自然而然的出現(xiàn)了。OpenAPI提供的基本架構(gòu)如圖3所示。利用OpenAPI提供商提供的接口服務(wù),實(shí)現(xiàn)互聯(lián)網(wǎng)中自定義的個(gè)性化服務(wù),吸引更多的用戶,提高用戶在平臺的滯留時(shí)間和互動程度,同時(shí)利用OpenAPI開發(fā)服務(wù),大幅度降低了
5、開發(fā)成本,縮短了開發(fā)周期,開發(fā)者只需按照給出的開發(fā)規(guī)則,快速而高效地完成復(fù)雜的業(yè)務(wù)處理和開發(fā),這便是OpenAPI發(fā)展最大的引擎動力。對于一個(gè)設(shè)計(jì)比較好的軟件數(shù)據(jù)或服務(wù)平臺,基本都會存在自己的OpenAPI,這些OpenAPI中有價(jià)值的部分接口被官方開放出來,供第三方開發(fā)者對其進(jìn)行再次開放,從而提高了數(shù)據(jù)和服務(wù)的價(jià)值和重用性。當(dāng)然也有部分OpenAPI卻未被開放出來,但因系統(tǒng)平臺的原因,這部分接口依然是存在的,當(dāng)需要這部分接口時(shí),即可通過其他方式捕獲這部分?jǐn)?shù)據(jù)接口進(jìn)行更深層次的開發(fā)?;ヂ?lián)網(wǎng)中常見的OpenAPI有:天氣預(yù)報(bào)開放接口、火車余票查詢接口、快遞查詢接口、車
6、輛違章查詢和基站查詢等。4微校城服務(wù)平臺的設(shè)計(jì)與實(shí)現(xiàn)在現(xiàn)今的微信時(shí)代,要想成為市場上一個(gè)較實(shí)用的系統(tǒng),就必須要有其可取之處。高校便捷模塊作為高校便捷服務(wù)平臺微校城的核心模塊,主要采用當(dāng)前最為流行的微信公眾平臺技術(shù)進(jìn)行開發(fā),高校便捷功能模塊淋漓盡致的將其便捷之處表現(xiàn)在微信平臺的使用上,其主要功能為四六級查詢、火車票查詢、快遞查詢等。每一項(xiàng)都是高校學(xué)生生活中不可缺少的一部分。從另一個(gè)方面來看,在這個(gè)互聯(lián)網(wǎng)時(shí)代,大學(xué)生科技生活也必不可少,然而目前大部分高校并未把移動互聯(lián)網(wǎng)技術(shù)使用在學(xué)生的生活中。而在高校便捷服務(wù)的各個(gè)功能,只需要簡單的幾步便可解決學(xué)生貼切的生活問題,當(dāng)然平
7、臺只是單一的便捷肯定是不具有說服力的,高效便捷服務(wù)最為吸引人的地方便是用最少的流量來完成反復(fù)的功能查詢等,它主要是通過網(wǎng)絡(luò)發(fā)送語音短信、視頻、圖片和文字命令,本系統(tǒng)二次開發(fā)的微信公眾平臺將根據(jù)命令發(fā)送相應(yīng)的結(jié)果,這樣就避免了傳統(tǒng)的網(wǎng)頁瀏覽,反復(fù)刷新這一過程,大大的節(jié)省了流量。高校便捷模塊作為高校便捷服務(wù)平臺的核心模塊,也必須具有服務(wù)平臺的特性,如基于SpringMVC框架靈活性強(qiáng)、良好的可擴(kuò)展性等。可擴(kuò)展性體現(xiàn)在具有操作權(quán)限的用戶可以直接在微信公眾平臺自定義菜單進(jìn)行模塊式開發(fā),如本平臺后期開發(fā)的使用實(shí)現(xiàn)命令查詢成績功能,減輕學(xué)校服務(wù)器因龐大的訪問量出現(xiàn)的網(wǎng)絡(luò)堵塞