一、思考
開(kāi)發(fā)了幾個(gè)微信項(xiàng)目,一直在思考:
如何將微信相關(guān)的處理與業(yè)務(wù)系統(tǒng)聯(lián)系在一起?
如何做到彼此分離,且易于擴(kuò)展?
能否開(kāi)發(fā)一套獨(dú)立的微信服務(wù)框架,支持各種業(yè)務(wù)應(yīng)用?
二、現(xiàn)有常用的服務(wù)框架
支持多種業(yè)務(wù)應(yīng)用,我們通過(guò)分層的方式來(lái)實(shí)現(xiàn)。將復(fù)雜的系統(tǒng)進(jìn)行分層,將一些功能或者特有的邏輯進(jìn)行封裝,封裝為不同的基礎(chǔ)服務(wù)或中間件。業(yè)務(wù)層無(wú)需關(guān)心底層具體實(shí)現(xiàn),只需進(jìn)行簡(jiǎn)單調(diào)用、組裝,即可支撐強(qiáng)大的業(yè)務(wù)應(yīng)用。這樣保證了層級(jí)獨(dú)立,也使得系統(tǒng)易于維護(hù)和擴(kuò)展。在一個(gè)平臺(tái)基礎(chǔ)上,可以構(gòu)建多種業(yè)務(wù)應(yīng)用。就像建樓房,地基打好了,樓房樣式可以多種多樣。也好比做菜,各種食材準(zhǔn)備好了,可以進(jìn)行不同搭配組合,就能做出不同的美味。常用的框架結(jié)構(gòu):MVC、MVVM等。以下就是通常的MVC架構(gòu)。
?
三、微信服務(wù)框架
但是微信公眾平臺(tái)與以往的項(xiàng)目有所不同。其實(shí)現(xiàn)不再基于計(jì)算機(jī)底層實(shí)現(xiàn)。從應(yīng)用層面講,需要對(duì)業(yè)務(wù)的上層,即顯示層和前端邏輯層、通信層,進(jìn)行封裝,下面才是真正的業(yè)務(wù)系統(tǒng)。從整體考慮,系統(tǒng)通過(guò)設(shè)計(jì)通用微信服務(wù)框架,支持所有業(yè)務(wù)。微信服務(wù)框架的改動(dòng),只與微信接口的調(diào)整做相關(guān)。多個(gè)業(yè)務(wù)系統(tǒng),公用一套微信服務(wù)框架。這里介紹一種實(shí)現(xiàn)架構(gòu),如有欠缺,歡迎批評(píng)指正。
1、由微信服務(wù)框架,負(fù)責(zé)與微信服務(wù)器進(jìn)行交互,包括驗(yàn)證簽名、消息處理、消息分發(fā)、安全策略、日志處理等。
2、通過(guò)服務(wù)接口,將微信服務(wù)框架與業(yè)務(wù)邏輯進(jìn)行分離,通過(guò)服務(wù)注冊(cè),將業(yè)務(wù)服務(wù)注冊(cè)到微信服務(wù)框架。
3、通過(guò)微信服務(wù)框架的服務(wù)分發(fā)器,調(diào)用具體的業(yè)務(wù)應(yīng)用。
4、業(yè)務(wù)應(yīng)用,可以全新開(kāi)發(fā),也可以在已有的業(yè)務(wù)邏輯基礎(chǔ)上,封裝相關(guān)服務(wù),并提供對(duì)應(yīng)Provider,對(duì)微信接口予以支持。
?具體框架圖如下所示:
?
?四、未來(lái)信息系統(tǒng)實(shí)現(xiàn)的一些愚見(jiàn)
僅僅是個(gè)人的一些看法。
從一個(gè)業(yè)務(wù)系統(tǒng)長(zhǎng)遠(yuǎn)發(fā)展來(lái)看,一套業(yè)務(wù)系統(tǒng),UI端會(huì)很多。特別是移動(dòng)互聯(lián)網(wǎng)的發(fā)展,許多功能需要移動(dòng)化,之前的PC端、Web端,已經(jīng)有一點(diǎn)的局限。
還有云計(jì)算的發(fā)展和深入,我們的業(yè)務(wù)服務(wù)也可以部署在云端。這些都對(duì)傳統(tǒng)的信息系統(tǒng)提出了挑戰(zhàn)。
如何將業(yè)務(wù)系統(tǒng)與前端展現(xiàn)相分離?
如何支持多終端?
能否實(shí)現(xiàn)一套業(yè)務(wù)邏輯,多端展現(xiàn)?
無(wú)論是開(kāi)發(fā)新系統(tǒng)新應(yīng)用,還是在已有的系統(tǒng)上擴(kuò)展,這些問(wèn)題必須認(rèn)真考慮。業(yè)務(wù)邏輯需要更加細(xì)化、更加獨(dú)立,業(yè)務(wù)邏輯需要從前端抽取出來(lái),為了適應(yīng)各種終端應(yīng)用,可能需要加入一些適配層、代理層。盡管難度很大,但是在這個(gè)信息化高速發(fā)展的時(shí)期,如果不順應(yīng)潮流,勢(shì)必被時(shí)代所淘汰。所以,變革不可避免。未來(lái)信息系統(tǒng)開(kāi)發(fā)框架可能會(huì)變?yōu)橄聢D所示。這里只是一個(gè)簡(jiǎn)單提綱,以后會(huì)就這一點(diǎn)進(jìn)行專題介紹。
?更多微信公眾平臺(tái)開(kāi)發(fā)微信公眾平臺(tái)通用開(kāi)發(fā)框架相關(guān)文章請(qǐng)關(guān)注PHP中文網(wǎng)!

熱AI工具

Undress AI Tool
免費(fèi)脫衣服圖片

Undresser.AI Undress
人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover
用于從照片中去除衣服的在線人工智能工具。

Clothoff.io
AI脫衣機(jī)

Video Face Swap
使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱門(mén)文章

熱工具

記事本++7.3.1
好用且免費(fèi)的代碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
功能強(qiáng)大的PHP集成開(kāi)發(fā)環(huán)境

Dreamweaver CS6
視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版
神級(jí)代碼編輯軟件(SublimeText3)