如易雲揭祕1-框架

       如易雲是什麼 如易雲的框架是業務系統開發和技術中間件之前的橋樑,是對業務領域深入理解後的精巧封裝,可以大大提升開發效率。


全景圖

我對每塊,做下簡單說明。

        se-context,業務上下文(主要是用戶信息),大家都懂的。因爲集成了springsecurity,基本上是對SecurityContext的包裝,通過上下文可以方便的拿到用戶信息,不過這裏會支持 web入口(http請求)和 遠程方法調用入口(dubbo)。對於具體的業務系統,肯定上下文信息會有所擴展,例如 如易雲,會增加用戶所屬公司,創建的應用及應用的相關信息等。

        se-domain-common,模型的基礎包。 主要分爲域模型(BaseDomain、CreateBaseDomain)BaseDomain 只有一個id屬性;CreateBaseDomain
包括創建人、創建時間、修改人、修改時間、狀態(可用、不可用、邏輯刪除)。持久化,主要是 條件查詢,排序等。view(展示),主要是分頁展示,查詢部分的模型抽象;wrapper(包裝),主要是移動開發中便於ios處理,返回的一切皆對象(“{}”),對基本類型,數組做了包裝。

        se-biz-common,是對業務邏輯層的封裝。關於數據庫層細節,請看:創易-數據層設計 基於這樣的理論基礎,我們基於此對DAO,Service(包含業務異常、分頁、數據權限)層做了通用實現。

         se-protocol-common,是協議的封裝。這是建立在我們多年web開發、移動開發的基礎上的,不可否認人和人的溝通是低效的。我們希望這種協議約定深深的植入腦子深入,成爲一種標準。結合wrapper、converter、ExceptionHandler我們的返回格式將是完全統一的(不管是web系統還是移動應用),如下:


{

"rtnCode":"返回的響應碼 爲空,說明是正常返回",

"msg":"錯誤信息",

"developMsg":"錯誤堆棧信息",

"uri":"錯誤說明url",

"ts":"服務端響應時的時間",

"style":"plain/gzip/encrypt",

"bizData":"返回的業務數據"

}


         se-web-common 是api層的封裝,基於protocol,依賴springmvc的機制,實現。它依賴了springboot web相關的jar包。

          se-admin-ser-common 是運營管理系統業務邏輯層的實現,包括模型、DAO、service。關於 admin的 模型,後面會有專門文章介紹。

          se-admin-common是運營管理系統web層,主要是基於freemarker模型引擎渲染,列表/編輯頁面 有賴jqgrid強大功能和很好的抽象能力。我們對其抽象做了數據庫映射,保證運行期可動態變更。另外就是其他它可實現面向列的數據權限。


最後,如易雲 代碼生成工具 無縫集成了這套框架!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章