開發了幾個微信項目,一直在思考:
如何將微信相關的處理與業務系統連結在一起?
如何做到彼此分離,且易於擴展?
能否開發一套獨立的微信服務框架,支援各種業務應用?
支援多種業務應用,我們透過分層的方式來實現。將複雜的系統進行分層,將一些功能或特有的邏輯封裝,封裝為不同的基礎服務或中介軟體。業務層無需關心底層具體實現,只需進行簡單調用、組裝,即可支撐強大的業務應用。這樣保證了層級獨立,也使得系統易於維護和擴展。在一個平台基礎上,可以建構多種業務應用。就像蓋樓房,地基打好了,樓房樣式可以多樣。也好比做菜,各種食材都準備好了,可以進行不同搭配組合,就能做出不同的美味。常用的框架結構:MVC、MVVM等。以下就是通常的MVC架構。
但是微信大眾平台與以往的專案有所不同。其實作不再基於電腦底層實作。從應用層面講,需要對業務的上層,也就是顯示層和前端邏輯層、通訊層,進行封裝,以下才是真正的業務系統。從整體考慮,系統透過設計通用微信服務框架,支援所有業務。微信服務框架的改動,只與微信介面的調整做相關。多個業務系統,公用一套微信服務框架。這裡介紹一種實作架構,如有欠缺,歡迎批評指正。
1、由微信服務框架,負責與微信伺服器進行交互,包括驗證簽章、訊息處理、訊息分發、安全策略、日誌處理等。
2、透過服務接口,將微信服務框架與業務邏輯分離,透過服務註冊,將業務服務註冊到微信服務框架。
3、透過微信服務框架的服務分發器,呼叫具體的業務應用。
4、業務應用,可以全新開發,也可以在已有的業務邏輯基礎上,封裝相關服務,並提供對應Provider,對微信介面予以支援。
具體框架圖如下:
只是個人的一些看法。
從一個業務系統長遠發展來看,一套業務系統,UI端會很多。特別是行動互聯網的發展,許多功能需要行動化,之前的PC端、Web端,已經有一點的限制。
還有雲端運算的發展與深入,我們的業務服務也可以部署在雲端。這些都對傳統的資訊系統提出了挑戰。
如何將業務系統與前端展現分開?
如何支援多終端?
能否實現一套業務邏輯,多端展現?
無論是開發新系統新應用,或是在現有的系統上擴展,這些問題都必須認真考慮。業務邏輯需要更細化、更獨立,業務邏輯需要從前端抽取出來,為了適應各種終端應用,可能需要加入一些適配層、代理層。儘管難度很高,但是在這個資訊化高速發展的時期,如果不順應潮流,勢必被時代所淘汰。所以,改變不可避免。未來資訊系統開發框架可能會變成下圖所示。這裡只是一個簡單提綱,以後會就這一點進行專題介紹。
# 更多微信大眾平台開發微信公眾平台通用開發框架相關文章請關注PHP中文網!