【J2EE】:Java EE應用的分層模型__Java

來源:互聯網
上載者:User

        時至今日,我們所談論的JavaEE應用,往往已經超出了Sun所提出的經典JavaEE應用規範,而是一種更廣泛的開發規範。

        經典JavaEE應用往往以EJB(企業級Java Bean)為核心,以應用伺服器為運行環境,所以通常開發和啟動並執行成本都比較高。

        而現在市場上比較流行的輕量級Java EE應用具備了JavaEE規範的種種特徵,例如物件導向建模的思想、優秀的應用分層及良好的可擴充性、可維護性。輕量級JavaEE應用保留了經典Java應用的架構,但是開發和運行成本大大降低了。


        無論是經典的JavaEE架構,還是輕量級JavaEE架構,其本質的思想都是一樣的,那就是我們都聽說過的分層思想,兩種架構模式大致上都可以分為如下幾層。


        DomainObject層:


        此層是由一系列的POJO(Plain OldJava Object,即普通的、傳統的Java對象)組成,這些對象是該系統的Domain Object,往往包含了各自所需實現的商務邏輯方法。


        DAO(Data AccessObject,Data Access Objects)層:


        此層由一系列的DAO組件組成,這些DAO實現了對資料庫的建立、查詢、更新和刪除(CRUD)等原子操作。


        在經典JavaEE應用中,DAO層也被改稱為EAO層,EAO層組件的作用與DAO層組件的作用基本相似。只是EAO層主要完成對實體(Entity)的CRUD操作,因此簡稱為EAO層。


        商務邏輯層:


        此層由一系列的商務邏輯對象組成,這些商務邏輯對象實現了系統所需要的商務邏輯方法。這些商務邏輯方法可能僅僅用於暴露Domain Object對象所實現的商務邏輯方法,也可能是依賴DAO組件實現的商務邏輯方法。


        控制器層:


        此層是由一系列控制器組成,這些控制器用於攔截使用者的請求,並且調用商務邏輯組件的商務邏輯方法,處理使用者請求,並且根據處理結果轉寄到不同的表現層組件。


        表現層:


        此層由一系列的JSP頁面、Velocity頁面、PDF文檔視圖組件組成,負責收集使用者請求,並顯示處理結果。


        大致上,輕量級JavaEE應用的架構如下圖所示:


        各層的JavaEE組件之間以松耦合的方式耦合在一起,各組件並不以硬式編碼方式耦合,這種方式是為了應對以後的擴充需求。從上向下,上面組件的實現依賴於下面組件的功能;自下而上,下面組件支援上面組件的實現。


        至於以EJB/JPA為核心的經典JavaEE應用的結構,和上圖中的結構大致上是相似的,只是它的DAO層組件和商務邏輯組件兩者都是由EJB組件來充當。其架構圖大致如下:


        小結一下

        電腦編程的初期階段,我們的程式並沒有分層這一說,都是混沌不堪的,這樣的系統維護起來相當的費勁,而且代碼閱讀起來也是極其不爽的。技術發展到了今天,無論是多大規模的系統,分層的思想已經深入人心,因為我們的軟體系統在使用過程中,不會一成不變,總會有新的需求或者改動,如此一來,當初在設計系統架構的時候,採用分層模型去構建自己的系統就是一個不二之選了。那麼應用分層之後,每個層級採用什麼技術或者組件來支撐呢。請聽下回分解。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.