簡述
企業(yè)級項目,一開始就沒有想過怎樣的龐大框架竿裂,因為開始的壓力也不會很大玉吁。所以可擴展性,成為了核心需求腻异。
傳統(tǒng)的三層架構(gòu)进副。應(yīng)用層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層影斑。鑒于需要分隔服務(wù)器以減輕服務(wù)器壓力给赞,分割成Web服務(wù)器、業(yè)務(wù)服務(wù)器矫户、數(shù)據(jù)庫服務(wù)器片迅;而這三者之間尤其是前后端的數(shù)據(jù)邏輯調(diào)用的合理、順暢皆辽,是我需要記錄的重點柑蛇。
圖1.jpg
- Web
前端應(yīng)用服務(wù),請求api接口驱闷,獲取數(shù)據(jù)渲染頁面耻台。
1.搭建MVC框架,引入公共Model和接口調(diào)用類庫空另。
2.使用bootstrap框架搭建移動端優(yōu)先的前端頁面框架盆耽。
3.根據(jù)業(yè)務(wù)需要,調(diào)用后端接口扼菠,并渲染頁面摄杂。 - Web Api(邏輯服務(wù))
搭建提供基于Http的無狀態(tài)接口,處理web端的交互請求娇豫。有以下幾方面關(guān)鍵:
1.在接口無狀態(tài)的前提下匙姜,判斷請求的權(quán)限等級及對應(yīng)合法性。(重寫Http請求冯痢,加上請求的合法性判斷氮昧,類AOP切面判斷)
2.提供或依據(jù)統(tǒng)一的數(shù)據(jù)模型,供前后端平滑交互浦楣。(Entity的請求和返回模型袖肥,構(gòu)建依賴倒轉(zhuǎn)關(guān)系。簡化統(tǒng)一化請求代碼)
3.訪問數(shù)據(jù)庫振劳,進(jìn)行邏輯化處理椎组,持久化數(shù)據(jù)到數(shù)據(jù)庫。 - SqlServer數(shù)據(jù)庫
使用ibatis作為orm框架历恐,在數(shù)據(jù)庫交互效率和代碼編寫簡潔的前提下寸癌,提高自由性和擴展性。