簡(jiǎn)述
企業(yè)級(jí)項(xiàng)目,一開始就沒有想過怎樣的龐大框架,因?yàn)殚_始的壓力也不會(huì)很大。所以可擴(kuò)展性,成為了核心需求。
傳統(tǒng)的三層架構(gòu)。應(yīng)用層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層。鑒于需要分隔服務(wù)器以減輕服務(wù)器壓力,分割成Web服務(wù)器、業(yè)務(wù)服務(wù)器、數(shù)據(jù)庫服務(wù)器;而這三者之間尤其是前后端的數(shù)據(jù)邏輯調(diào)用的合理、順暢,是我需要記錄的重點(diǎn)。

圖1.jpg
- Web
前端應(yīng)用服務(wù),請(qǐng)求api接口,獲取數(shù)據(jù)渲染頁面。
1.搭建MVC框架,引入公共Model和接口調(diào)用類庫。
2.使用bootstrap框架搭建移動(dòng)端優(yōu)先的前端頁面框架。
3.根據(jù)業(yè)務(wù)需要,調(diào)用后端接口,并渲染頁面。 - Web Api(邏輯服務(wù))
搭建提供基于Http的無狀態(tài)接口,處理web端的交互請(qǐng)求。有以下幾方面關(guān)鍵:
1.在接口無狀態(tài)的前提下,判斷請(qǐng)求的權(quán)限等級(jí)及對(duì)應(yīng)合法性。(重寫Http請(qǐng)求,加上請(qǐng)求的合法性判斷,類AOP切面判斷)
2.提供或依據(jù)統(tǒng)一的數(shù)據(jù)模型,供前后端平滑交互。(Entity的請(qǐng)求和返回模型,構(gòu)建依賴倒轉(zhuǎn)關(guān)系。簡(jiǎn)化統(tǒng)一化請(qǐng)求代碼)
3.訪問數(shù)據(jù)庫,進(jìn)行邏輯化處理,持久化數(shù)據(jù)到數(shù)據(jù)庫。 - SqlServer數(shù)據(jù)庫
使用ibatis作為orm框架,在數(shù)據(jù)庫交互效率和代碼編寫簡(jiǎn)潔的前提下,提高自由性和擴(kuò)展性。