王振輝
(西安翻譯學(xué)院 工程技術(shù)學(xué)院,西安 710105)
茶葉曾是古絲綢之路和海上絲綢之路經(jīng)貿(mào)往來的重要商品,也是現(xiàn)代人們必備的健康、綠色飲品。如何在“一帶一路”、“互聯(lián)網(wǎng)+”等國家戰(zhàn)略引領(lǐng)下,加快茶葉生產(chǎn)、加工、銷售環(huán)節(jié)的信息化建設(shè),特別是創(chuàng)新電子商務(wù)營銷模式,復(fù)興中華茶文化,振興茶產(chǎn)業(yè),提高茶行業(yè)人口紅利,是茶行業(yè)急需解決的問題[1]。
微信是擁有龐大用戶群的碎片化聊天工具,具有方便、快捷、功能強大的優(yōu)點,不僅具有社交軟件交流、信息推廣能力,也具備強大的在線商品銷售和支付功能。手機微信應(yīng)用熱度持續(xù)升溫,基于“商城+手機端+微信”的微商城應(yīng)運而生[2-3]。與傳統(tǒng)電商相比,微信固有的四大功能:微信帳號登錄、 微信支付購買、微信互動通知、消費者主動傳播分享功能,迎合了互聯(lián)網(wǎng)+時代各行各業(yè)O2O電商模式的需要,為商家提供了集銷售、支付、宣傳、推廣為一體的良好平臺[4-5]。作為電子商務(wù)移動端的典型應(yīng)用模式,微商城已成為移動電子商務(wù)的一種嶄新的宣傳和交易平臺。
為此,文章提出了基于微信平臺的微茶城系統(tǒng)框架,以MySQL數(shù)據(jù)庫管理茶城業(yè)務(wù)交易數(shù)據(jù),采用JSON作為手機端和數(shù)據(jù)庫后臺的數(shù)據(jù)交換標(biāo)準(zhǔn),使用微服務(wù)框架和MVC設(shè)計模式,提升微茶城應(yīng)用系統(tǒng)的通用性、可靠性和可維護性。
1.1 設(shè)計思想
首先,微茶城體系結(jié)構(gòu)選用面向服務(wù)的架構(gòu)。面向服務(wù)架構(gòu),將軟件系統(tǒng)中的應(yīng)用組件按松散耦合的粗粒度方式進行部署、集成和應(yīng)用。各組件服務(wù)之間通過簡單、精確定義的接口進行相互通訊??梢钥焖?、可靠、使用復(fù)用方式架構(gòu)整個業(yè)務(wù)系統(tǒng),也可以靈活應(yīng)對系統(tǒng)業(yè)務(wù)變化。
其次是在設(shè)計時采用微服務(wù)框架。通過將系統(tǒng)分解為可管理的服務(wù)來解決系統(tǒng)復(fù)雜性問題。每個服務(wù)可由單人或單獨團隊開發(fā),因此單個的服務(wù)可以更快的開發(fā),更簡單的理解和維護及獨立部署。微服務(wù)倡導(dǎo)服務(wù)的細(xì)粒度,重用組合,一個微服務(wù)一般完成某個特定的功能,比如購物車管理、訂單管理等。通過定義服務(wù)和功能組件可以提升應(yīng)用程序的復(fù)用性和通用性。
最后,在微茶城系統(tǒng)中采用JSON作為數(shù)據(jù)交換標(biāo)準(zhǔn)。JSON屬輕量級數(shù)據(jù)交換格式能夠替代XML的工作,其數(shù)據(jù)格式良好,更易于解析和讀寫,數(shù)據(jù)是壓縮的,傳輸速度遠(yuǎn)遠(yuǎn)高于XML。所以,設(shè)計時在微茶城前臺APP和后臺網(wǎng)站之間采用JSON數(shù)據(jù)格式進行數(shù)據(jù)交換。
1.2 微茶城開發(fā)平臺
微商城是使用微信認(rèn)證服務(wù)號的九大接口權(quán)限完成的開發(fā),系統(tǒng)實現(xiàn)時主要通過微信的規(guī)則來調(diào)用微信公開的接口來實現(xiàn),但編程效率低,可擴展性和可靠性差。所以,一般采用免費的微信二次開發(fā)平臺來實現(xiàn)。Jeewx是高效的微信開發(fā)平臺,采用Java語言,支持敏捷開發(fā),使開發(fā)者專注于微信具體業(yè)務(wù)的開發(fā),短時間內(nèi)構(gòu)建企業(yè)應(yīng)用,同時保證了系統(tǒng)的復(fù)用性和二次開發(fā)特性,安全性好,開發(fā)成本低,是本文微茶城系統(tǒng)選用的微信開發(fā)平臺。
1.3 系統(tǒng)體系架構(gòu)
微茶城系統(tǒng)分為管理后臺和手機購物前臺,按照經(jīng)典Web開發(fā)模式分為三層:表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)層。用戶分為客戶、店鋪管理員、茶城管理員三類。表示層主要是指與客戶交互的微茶城前端APP應(yīng)用界面,部署在智能手機端,用于接收用戶輸入的數(shù)據(jù)和顯示處理后用戶需要的數(shù)據(jù)。業(yè)務(wù)邏輯層是表示層和數(shù)據(jù)層之間的橋梁,由茶城管理后臺中的Web應(yīng)用組件負(fù)責(zé),部署在Web服務(wù)器上,實現(xiàn)業(yè)務(wù)邏輯,包括:用戶驗證、安全管理、數(shù)據(jù)操作等業(yè)務(wù)規(guī)則等。業(yè)務(wù)層通過訪問數(shù)據(jù)層,從數(shù)據(jù)層取數(shù)據(jù)、修改數(shù)據(jù)以及刪除數(shù)據(jù),并將結(jié)果返回給表現(xiàn)層。數(shù)據(jù)層是數(shù)據(jù)庫或者數(shù)據(jù)源,在微茶城系統(tǒng)中,用于保存茶城業(yè)務(wù)數(shù)據(jù),一般采用關(guān)系數(shù)據(jù)庫,部署在數(shù)據(jù)庫服務(wù)器上。微茶城系統(tǒng)體系架構(gòu)圖如圖1所示。

圖1 茶城體系結(jié)構(gòu)圖
1.4 系統(tǒng)邏輯結(jié)構(gòu)
微茶城系統(tǒng)前端和后臺管理程序均采用MVC模式進行開發(fā),以使產(chǎn)品的結(jié)構(gòu)清晰,產(chǎn)品的應(yīng)用通過模型可以得到更好地體現(xiàn)。其中后臺管理系統(tǒng)使用Spring MVC框架實現(xiàn)客戶管理、茶品管理等功能。相對SSH框架,Spring MVC通過Servlet實現(xiàn)控制流程功能,是更輕量級的Web框架,將MVC架構(gòu)進行了職責(zé)解耦使用請求、響應(yīng)模型,簡化了開發(fā)過程。
前端APP軟件對MVC模式進行優(yōu)化,增加數(shù)據(jù)接口層,采用四層架構(gòu)模式,進一步降低各層之間的耦合依賴關(guān)系,增強系統(tǒng)復(fù)用性,利于系統(tǒng)的二次開發(fā)和升級。下面詳細(xì)介紹微茶城前端App軟件邏輯結(jié)構(gòu)。
(1)數(shù)據(jù)接口層
數(shù)據(jù)接口層介于數(shù)據(jù)資源和業(yè)務(wù)邏輯之間。將對后臺系統(tǒng)中的數(shù)據(jù)訪問和高層的業(yè)務(wù)邏輯清晰的分離。主要完成連接數(shù)據(jù)庫、數(shù)據(jù)增、刪改和第三方API數(shù)據(jù)訪問等細(xì)節(jié)。將底層數(shù)據(jù)訪問操作和業(yè)務(wù)邏輯分離開,對業(yè)務(wù)層提供面向?qū)ο蟮臄?shù)據(jù)訪問接口。
(2)業(yè)務(wù)層
業(yè)務(wù)層主要是業(yè)務(wù)邏輯操作,按照每個模塊運行策略、事務(wù)處理邏輯進行組織。業(yè)務(wù)層調(diào)用數(shù)據(jù)接口層實現(xiàn)各種業(yè)務(wù)方法,如驗證用戶是否存在。同時,業(yè)務(wù)層為控制層提供必要的業(yè)務(wù)邏輯和校驗。
(3)控制層
控制層對應(yīng)Android應(yīng)用中的Activity,通過程序邏輯負(fù)責(zé)接受用戶的輸入并調(diào)用業(yè)務(wù)層的業(yè)務(wù)處理方法和表示層的組件去完成用戶的請求,并通過用戶請求實現(xiàn)Activity的跳轉(zhuǎn)。
(4)表示層
表示層對應(yīng)Android應(yīng)用中的Layout,通過XML文件定義具體手機應(yīng)用每個屏幕的樣式和控件。在Activity中的生命周期方法onCreate()加載。微茶城系統(tǒng)前端邏輯結(jié)構(gòu)圖,如圖2所示。

圖2 微茶城系統(tǒng)前端邏輯結(jié)構(gòu)圖
2.1 微茶城系統(tǒng)主要功能
本系統(tǒng)在對西安西北國際茶城、西部京閩茶城茶商調(diào)查的基礎(chǔ)上、結(jié)合眾多顧客的意見,做了詳細(xì)的需求分析。微茶城系統(tǒng)的主要使用者包括茶城管理員、茶商和顧客。其中,茶城管理員負(fù)責(zé)會員管理、店鋪管理等功能。茶商可以在系統(tǒng)中建立店鋪信息、發(fā)布產(chǎn)品和促銷信息,進行訂單在線處理。顧客注冊后進入茶城瀏覽茶品、管理購物車,可以下單購買和查看訂單狀態(tài)。系統(tǒng)主要功能圖用UML中的用例圖描述如圖3所示。

圖3 微茶城系統(tǒng)用例圖
2.2 數(shù)據(jù)結(jié)構(gòu)設(shè)計
MySQL是多用戶、多線程的開源數(shù)據(jù)庫系統(tǒng),具有優(yōu)良訪問性能,是微茶城系統(tǒng)網(wǎng)站首選的數(shù)據(jù)庫存儲解決方案。
對應(yīng)系統(tǒng)功能模塊和內(nèi)部業(yè)務(wù)邏輯,微茶城系統(tǒng)主要設(shè)計了以下基于MySQL數(shù)據(jù)庫的數(shù)據(jù)結(jié)構(gòu):
(1) 會員表: (會員編號,昵稱,姓名,手機號碼,密碼,性別,年齡,頭像編號,電子郵件)。
(2) 店鋪信息表: (店鋪編號,店鋪名稱,店鋪簡介,頭像編號,聯(lián)系電話,聯(lián)系人姓名, 店鋪地址,經(jīng)度信息,緯度信息)。
(3) 商品表: (商品編號,店鋪編號,商品名稱,商品原價,商品現(xiàn)價,商品總數(shù),評分, 添加時間)。
(4) 訂單表: (訂單編號,產(chǎn)品編號,會員編號,店鋪編號,價格,完成狀態(tài),下單時間)。
(5) 圖片表: (圖片編號,新聞編號,商品編號,商品評價編號,圖片地址)。
(6) 頭像表: (頭像編號,頭像狀態(tài),頭像地址)。
(7) 商品評價表: (商品評論編號,會員編號,評論文字,評分,評論時間)。
(8) 茶文化交流表: (編號,會員編號,文字信息,發(fā)布時間,點贊次數(shù),經(jīng)度,信息, 緯度信息,發(fā)布時所在地址信息)。
(9) 用戶登錄行為記錄表(編號,會員編號,登錄時間,手機號碼,經(jīng)度,緯度,登錄時所在地址信息,登錄狀態(tài))。
3.1 在線客服
為增加用戶體驗,提高在線營銷能力,微茶城系統(tǒng)中為每個店鋪增加365webcall在線咨詢的功能。365webcall客服系統(tǒng)和微信實現(xiàn)對接的方法有兩種。一是在APP菜單中嵌入在線客服鏈接,通過Web頁面和OMS(訂單管理系統(tǒng))客服對話。二是用戶在直接微信里輸入消息和OMS后臺客戶溝通,由于微茶城為服務(wù)號且通過微信認(rèn)證,啟用了開發(fā)模式,所以,采用第二種方法,用戶操作上方便,易用性更好。應(yīng)用效果圖,如圖4所示。

圖4 365webcall在線客服初始界面
3.2 JSON數(shù)據(jù)讀寫
JSON相對XML具有解析速度更快,占用空間更少的特點,故系統(tǒng)中數(shù)據(jù)流采用了JSON數(shù)據(jù)標(biāo)準(zhǔn)。系統(tǒng)中的服務(wù)端和客戶端數(shù)據(jù)交換大量應(yīng)用了JSON讀寫技術(shù),其處理效率,也將直接影響手機端用戶體驗。所以,文中采用性能優(yōu)異的阿里巴巴FastJson開源處理工具包,來實現(xiàn)JSON數(shù)據(jù)的讀寫。具體操作步驟如下:
(1)服務(wù)器端將數(shù)據(jù)轉(zhuǎn)換成JSON字符串
(2)客戶端將JSON字符串通過泛型技術(shù)轉(zhuǎn)換為相應(yīng)的JavaBean。
上面是“序列化”操作,對應(yīng)JSON寫操作,其逆過程 “反序列化”對應(yīng)了JSON讀操作。
3.3 地圖定位
系統(tǒng)的店鋪定位和茶文化發(fā)帖的定位及用戶登錄地記錄,均需要對地址進行定位和反地址編碼,在微信開發(fā)時獲取當(dāng)前地理位置可以采用三大地圖API:百度地圖API、Google地圖API、騰訊地圖API。鑒于百度地圖控件更適應(yīng)國內(nèi)城市地理信息,且資料更新最快,微茶城系統(tǒng)中采用百度地圖API實現(xiàn)LBS 定位和反編碼等功能,實現(xiàn)步驟如下:
(1)注冊百度開發(fā)者
(2)獲取API key
(3)下載百度地圖SDK開發(fā)包
(4)在Android項目中引用百度SDK
(5)在清單文件中添加開發(fā)者密鑰和所需權(quán)限
(6)布局文件中添加地圖控件
(7)程序文件中添加地圖事件處理邏輯
3.4 登錄安全性設(shè)計
手機易遺失,且容易根植后門程序,特別是微信的自動登錄特性,容易給微茶城系統(tǒng)帶來安全隱患。目前手機登錄程序存在兩個缺陷,首先是Android手機中采用基于首選項的參數(shù)設(shè)置[6]來記憶賬號和密碼,以XML文件存儲,雖然易讀性好,但明文存放,賬號安全毫無保障。其次,只采用密碼方式,容易受到冒名登錄或窮舉軟件攻擊。解決的手段是采用MD5技術(shù)對首選項中的隱私數(shù)據(jù)進行加密處理,同時創(chuàng)新性的在登錄時采用密碼、手機驗證碼、用戶位置(百度地圖API編程)、登錄次數(shù)限制等多因子進行驗證,從而可以進行用戶真實身份認(rèn)證和登錄行為取證。微茶城系統(tǒng)手機端用戶登錄驗證模型如圖5所示。

圖5 手機端用戶登錄驗證模型
針對移動互聯(lián)網(wǎng)時代對傳統(tǒng)網(wǎng)店茶營銷模式的變革和基于微信開展微茶城的O2O電子商務(wù)模式研究,使用Jeewx微信二次開發(fā)平臺和微服務(wù)框架設(shè)計了微茶城系統(tǒng)。該系統(tǒng)分為5層,分別為表示層(手機App操作界面),數(shù)據(jù)接口層(茶城數(shù)據(jù)庫訪問接口、第三方API接口)、業(yè)務(wù)邏輯層(實現(xiàn)用戶管理、店鋪管理、茶類管理、訂單管理等操作)、控制層(實現(xiàn)用戶請求數(shù)據(jù)、系統(tǒng)響應(yīng)數(shù)據(jù)的接收和轉(zhuǎn)發(fā))和數(shù)據(jù)層(MySQL數(shù)據(jù)庫),切實保證了系統(tǒng)的復(fù)用性和易用性。同時使用百度地圖實現(xiàn)了店鋪定位功能和用戶登錄控制功能,使得系統(tǒng)具有技術(shù)新、功能可靠、操作簡便等特點,可以滿足茶城移動電子商務(wù)的需求,對企業(yè)級和區(qū)域級農(nóng)產(chǎn)品的移動電子商務(wù)平臺建設(shè)具有很好的借鑒意義。下一步研究的工作放在基于大數(shù)據(jù)分析技術(shù)的茶城商業(yè)數(shù)據(jù)挖掘?qū)用妫ㄟ^對用戶屬性和行為、關(guān)注度等內(nèi)容分析,更精準(zhǔn)化的進行用戶營銷和社會化影響策略的制定,實現(xiàn)精準(zhǔn)化茶產(chǎn)品生產(chǎn)設(shè)計和市場決策。
[1] 汪輝進,鄭小平.網(wǎng)絡(luò)信息服務(wù)系統(tǒng)在茶產(chǎn)業(yè)的應(yīng)用研究[J]. 食品工業(yè),2013(5):171-173.
[2] 陳宏. 微信電商——一種新型的電商模式[J]. 職業(yè)技術(shù),2014(5):104.
[3] 姜欣欣. 基于微信的電子商務(wù)模式研究[D].北京:北京郵電大學(xué),2015.
[4] 倪懿,郭敘林,陳桂珍. 基于ISMAS模式的特色農(nóng)產(chǎn)品微信營銷系統(tǒng)研發(fā)——以蘇州鄉(xiāng)韻太湖鵝有限公司為例[J]. 江蘇農(nóng)業(yè)科學(xué),2014(11):461-463.
[5] 王磊. 農(nóng)產(chǎn)品價格采集、預(yù)測及微信發(fā)布系統(tǒng)的設(shè)計與實現(xiàn)[J]. 湘潭大學(xué)自然科學(xué)學(xué)報,2015(2):121-126.
[6] 胡銳,賴萬昌,曾國強,等. 基于Android系統(tǒng)的X射線熒光光譜測量軟件開發(fā)[J]. 核電子學(xué)與探測技術(shù),2014(2):243-248.