畢文韜 曹雪韜
摘 要:微信售糧通用平臺將微信應(yīng)用于售糧業(yè)務(wù),協(xié)助農(nóng)戶與糧庫順利高效完成售糧。通用平臺最突出特點(diǎn)是“通用性”,即能適應(yīng)多家糧庫對微信售糧的不同需求。如何滿足各糧庫按需定制是通用平臺構(gòu)建中亟待解決的問題?,F(xiàn)針對通用平臺中數(shù)據(jù)處理問題提出來SaaS解決思路和“雙重加工設(shè)計(jì)模式”的編程方式。
關(guān)鍵詞:微信;售糧業(yè)務(wù);SaaS;簡單工廠設(shè)計(jì)模式
DOI:10.16640/j.cnki.37-1222/t.2018.18.096
0 引言
隨著微信的快速發(fā)展及普及,微信已成為生活中溝通、獲取服務(wù)的常用方式。諸多行業(yè)靠運(yùn)用微信獲得了進(jìn)一步的發(fā)展,微信服務(wù)號也成為企業(yè)或組織提供服務(wù)及資訊的流行方式。
目前,糧庫售糧業(yè)務(wù)中存在糧庫與農(nóng)戶溝通不暢、售糧高峰期通宵排隊(duì)售糧的情況。將微信服務(wù)號應(yīng)用于售糧業(yè)務(wù),一方面可在農(nóng)戶與糧庫之間搭建一座有效溝通的橋梁,另一方面可協(xié)助農(nóng)戶快速完成售糧。雖國內(nèi)糧庫眾多,每家糧庫對服務(wù)號的需求各不相同,但售糧業(yè)務(wù)存在共性。
微信售糧通用平臺的目的就是構(gòu)建一個(gè)靈活的服務(wù)平臺,能夠協(xié)助糧庫在短時(shí)間內(nèi)實(shí)現(xiàn)微信服務(wù)號上線應(yīng)用,微信服務(wù)號中提供售糧預(yù)約、庫內(nèi)導(dǎo)航、售糧過程數(shù)據(jù)實(shí)時(shí)推送、歷史數(shù)據(jù)查看、收糧通知等實(shí)用功能。
1 搭建通用微信售糧平臺
微信售糧通用平臺可提供售糧業(yè)務(wù)中所需功能合集,糧庫申請服務(wù)號后登錄通用平臺進(jìn)行功能定制。農(nóng)戶可關(guān)注一個(gè)或多個(gè)糧庫服務(wù)號,這些服務(wù)號有同一個(gè)后臺,即微信售糧通用平臺。微信售糧通用平臺具有獨(dú)立的IP和數(shù)據(jù)庫,糧庫可通過通用平臺獲取用戶售糧相關(guān)信息,同時(shí)通用平臺也提供了與糧庫系統(tǒng)整合的接口。
若通用平臺缺少糧庫所需功能,糧庫工作人員可提交新功能的需求說明,平臺開發(fā)人員根據(jù)需求分析決定是否向平臺功能列表中添加此新功能。在通用平臺向糧庫提供服務(wù)的過程中,通用平臺的功能也日趨完善,同時(shí)避免了為每個(gè)糧庫服務(wù)號單獨(dú)編程帶來的代碼冗余、維護(hù)困難等問題。
2 數(shù)據(jù)處理
微信售糧通用平臺的突出特點(diǎn)在于“通用性”?!巴ㄓ眯浴奔雌脚_能夠滿足多家糧庫對微信售糧的需求,實(shí)現(xiàn)糧庫服務(wù)號功能的按需定制。保證各功能正常運(yùn)行是微信售糧通用平臺首要解決的問題,針對此問題,通用平臺的構(gòu)建采用SaaS思想和簡單工廠設(shè)計(jì)模式。
2.1 SaaS模式
SaaS(軟件即服務(wù),software-as-a-service)即通用平臺為糧庫提供服務(wù)號所需的硬件、軟件、網(wǎng)絡(luò),承擔(dān)前期部署和后期維護(hù),糧庫無需購買服務(wù)器、網(wǎng)絡(luò)等資源,只需在通用平臺上定制所需服務(wù)。
通用平臺整體分為兩大模塊:平臺模塊和功能模塊。其中平臺模塊用于糧庫管理,包括糧庫基本信息管理、服務(wù)號功能定制及費(fèi)用管理、新需求管理;功能模塊即服務(wù)號功能的實(shí)現(xiàn),包括售糧預(yù)約、售糧歷史、庫內(nèi)導(dǎo)航、售糧過程數(shù)據(jù)實(shí)時(shí)推送、收糧通知單等。功能模塊是與平臺模塊低耦合且易擴(kuò)展的,通用平臺的功能結(jié)構(gòu)圖如圖2所示:
售糧預(yù)約中糧庫工作人員設(shè)置每天可預(yù)約售糧額度,即糧庫單日可接待售糧人數(shù)/車輛上限,農(nóng)戶在售糧前可在售糧預(yù)約模塊提前預(yù)約,售糧預(yù)約可有效避免高峰排隊(duì)情況,庫內(nèi)導(dǎo)航幫助農(nóng)戶快速熟悉庫內(nèi)環(huán)境,售糧通知單幫助糧庫快速補(bǔ)充所需糧食品種。類似售糧功能會隨通用平臺的推廣應(yīng)用逐步增加,形成一個(gè)完善的功能集合,滿足糧庫的各類需求。
SaaS模式實(shí)現(xiàn)微信售糧通用平臺存在傳統(tǒng)開發(fā)模式無法比擬的優(yōu)勢。SaaS“可重復(fù)使用”的特點(diǎn)通過利用現(xiàn)有的資源代替重新開發(fā),能夠在短時(shí)間內(nèi)迅速實(shí)現(xiàn)糧庫服務(wù)號投入使用。價(jià)格方面,SaaS模式提供靈活的定價(jià)模式,糧庫可根據(jù)自身需要選擇功能,所需支付費(fèi)用與選擇功能、用戶人數(shù)、使用時(shí)長關(guān)聯(lián),可按月、按年繳費(fèi),也可隨時(shí)變更功能及客戶人數(shù)。SaaS模式能更好的減少資源浪費(fèi),使用SaaS模式不需為每個(gè)糧庫單獨(dú)布置服務(wù)器,而是由通用平臺統(tǒng)一提供服務(wù),無需單獨(dú)維護(hù)多個(gè)服務(wù)器,節(jié)省維護(hù)費(fèi)用。另外,SaaS模式實(shí)現(xiàn)通用平臺可促進(jìn)糧庫業(yè)務(wù)規(guī)范化。
2.2 雙重加工設(shè)計(jì)模式
具體到通用平臺的構(gòu)建,在面向?qū)ο缶幊痰倪^程中,將每個(gè)糧庫的微信服務(wù)號視為類,每個(gè)服務(wù)號對象不僅基本信息不同,其功能也根據(jù)糧庫設(shè)置各不相同。通用平臺在簡單工廠設(shè)計(jì)模式的基礎(chǔ)上,提出了雙重加工設(shè)計(jì)模式,即每個(gè)服務(wù)號對象需要經(jīng)過兩次加工。
WechatServiceFather是所有糧庫微信服務(wù)號的父類,具有appId、appSecret和糧庫編號等基本屬性。當(dāng)用戶點(diǎn)擊服務(wù)號中按鈕或超鏈接時(shí),WechatServiceFirstFactory根據(jù)傳入的糧庫編號生成服務(wù)號實(shí)體,其中基本屬性值已獲取,這是第一次加工。
服務(wù)號可調(diào)用的功能取決于糧庫工作人員設(shè)置和服務(wù)是否到期,所以WechatService還需要第二次加工,即獲取當(dāng)前是否有效和設(shè)置功能列表。
功能模塊功能實(shí)現(xiàn)時(shí)都需傳入服務(wù)號實(shí)例,根據(jù)服務(wù)號屬性進(jìn)行判斷是否有執(zhí)行權(quán)限及下一步操作。
3 結(jié)論
SaaS模式和雙重加工設(shè)計(jì)模式使編程人員將每個(gè)糧庫的服務(wù)號視為一個(gè)實(shí)例,靈活的構(gòu)建微信售糧通用平臺,對平臺的可擴(kuò)展性和完整性提供了保障。糧庫僅需申請服務(wù)號后,登陸通用平臺按需設(shè)置就可將微信應(yīng)用于售糧業(yè)務(wù)中。本文認(rèn)為SaaS思想和雙重加工設(shè)計(jì)模式不僅適用于微信售糧,對于業(yè)務(wù)流程共性大的其它業(yè)務(wù)都有參考價(jià)值,值得更深一步研究。
參考文獻(xiàn) :
[1]程杰.大話設(shè)計(jì)模式[M].北京:清華大學(xué)出版社,2009.
[2]徐衛(wèi)星.設(shè)計(jì)模式之工廠模式在招生系統(tǒng)中的應(yīng)用[J].微型機(jī)與應(yīng)用,2007(11).
[3]Erich Gamma,Richard Helm,Ralph Johnson,John Vlissides.Design Paaerns:Elements of Reusable Object-Oriented software[M].北京:機(jī)械工業(yè)出版社,2005.
[4]Morris J. Air force completes restructuring of SBSS pathfinder program[R].Aerospace Daily & Defense Report, 2006(10).
[5]閻宏.Java與模式[M].北京:電子工業(yè)出版社,2002.