一、思考
開(kāi)發(fā)了幾個(gè)微信項(xiàng)目,一直在思考:
如何將微信相關(guān)的處理與業(yè)務(wù)系統(tǒng)連結(jié)在一起?
如何做到彼此分離,且易於擴(kuò)展?
能否開(kāi)發(fā)一套獨(dú)立的微信服務(wù)框架,支援各種業(yè)務(wù)應(yīng)用?
二、現(xiàn)有常用的服務(wù)架構(gòu)
支援多種業(yè)務(wù)應(yīng)用,我們透過(guò)分層的方式來(lái)實(shí)現(xiàn)。將複雜的系統(tǒng)進(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ù)架構(gòu)
但是微信大眾平臺(tái)與以往的專(zhuān)案有所不同。其實(shí)作不再基於電腦底層實(shí)作。從應(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í)作架構(gòu),如有欠缺,歡迎批評(píng)指正。
1、由微信服務(wù)框架,負(fù)責(zé)與微信伺服器進(jìn)行交互,包括驗(yàn)證簽章、訊息處理、訊息分發(fā)、安全策略、日誌處理等。
2、透過(guò)服務(wù)接口,將微信服務(wù)框架與業(yè)務(wù)邏輯分離,透過(guò)服務(wù)註冊(cè),將業(yè)務(wù)服務(wù)註冊(cè)到微信服務(wù)框架。
3、透過(guò)微信服務(wù)框架的服務(wù)分發(fā)器,呼叫具體的業(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)的限制。
還有雲(yún)端運(yùn)算的發(fā)展與深入,我們的業(yè)務(wù)服務(wù)也可以部署在雲(yún)端。這些都對(duì)傳統(tǒng)的資訊系統(tǒng)提出了挑戰(zhàn)。
如何將業(yè)務(wù)系統(tǒng)與前端展現(xiàn)分開(kāi)?
如何支援多終端?
能否實(shí)現(xiàn)一套業(yè)務(wù)邏輯,多端展現(xiàn)?
無(wú)論是開(kāi)發(fā)新系統(tǒng)新應(yīng)用,或是在現(xiàn)有的系統(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ì)變成下圖所示。這裡只是一個(gè)簡(jiǎn)單提綱,以後會(huì)就這一點(diǎn)進(jìn)行專(zhuā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
用於從照片中去除衣服的線(xiàn)上人工智慧工具。

Clothoff.io
AI脫衣器

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)