摘要:只要滿足規范的放入該容器,馬上就會被容器進行高效率的管理。根據康威定律,設計系統的組織時,最終產生的設計等價于組織的溝通結構,通俗來講,團隊的交流機制應該與架構分層交互機制相對應。
本博客 貓叔的博客,轉載請申明出處
先來看看官網對它的定義。
Java平臺企業版(Java EE)是社區驅動的企業軟件的標準。Java EE是使用Java Community Process開發的,其中包括來自行業專家,商業和開源組織,Java用戶組以及無數個人的貢獻。每個版本都集成了符合行業需求的新功能,提高了應用程序的可移植性并提高了開發人員的工作效率
如今,Java EE的提供了豐富的企業軟件平臺,并與超過 20個兼容的Java EE實現可供選擇。
Java EE 8,你值得了解,起碼官網還提示了你它還在更新新的功能。
說到JEE,做web項目的朋友其實都有所了解,它將企業級軟件架構分為三個層級,web層、業務邏輯層和數據存儲層。
先看看圖,舊時代的輝煌!
先介紹一下:
WEB容器:給處于其中的應用程序組件(JSP,SERVLET)提供一個環境,使JSP,SERVLET直接跟容器中的環境變量接口交互,不必關注其它系統問題。主要由WEB服務器來實現。例如:TOMCAT,WEBLOGIC,WEBSPHERE等。該容器提供的接口嚴格遵守J2EE規范中的WEB APPLICATION 標準。我們把遵守以上標準的WEB服務器就叫做J2EE中的WEB容器。同時,JEE 平臺將不同的模塊化組件聚合后運行在通用的應用服務器上,例WebLogi,WebSphere , JBoss 等,這也包含 Tomcat Tomcat 僅僅是實現了 JEE Web 規范的 Web 容器。
EJB容器:Enterprise java bean 容器。更具有行業領域特色。他提供給運行在其中的組件EJB各種管理功能。只要滿足J2EE規范的EJB放入該容器,馬上就會被容器進行高效率的管理。并且可以通過現成的接口來獲得系統級別的服務。例如郵件服務、事務管理。WEB容器和EJB容器在原理上是大體相同的,更多的區別是被隔離的外界環境。WEB容器更多的是跟基于HTTP的請求打交道。而EJB容器不是。它是更多的跟數據庫、其它服務打交道。但他們都是把與外界的交互實現從而減輕應用程序的負擔。例如SERVLET不用關心HTTP的細節,直接引用環境變量session,request,response就行、EJB不用關心數據庫連接速度、各種事務控制,直接由容器來完成。
可以看到每個層次的職責如下:
Web層:負責與用戶交互或者對外提供接口
業務邏輯層:為了實現業務邏輯而設計的流程處理和計算處理模塊
數據存取層:將業務邏輯層處理的結果持久化以待后續查詢,并維護領域模型中對象的生命周期。
值得一提的是,JEE平臺是典型的二八原則的應用場景,它將 80%通用的與業務無關的邏輯和流程封裝在應用服務器的模塊化組件里,通過配置的模式提供給應用程序訪問,應用程序實現 20%專用邏輯,并通過配置的形式來訪問應用服務器提供的模塊化組件。事實上,應用服務器提供的對象關系映射服務、數據持久服務、事務服務、安全服務、消息服務等通過簡單的配置即可在應用程序中使用。
JEE 時代的架構已經對企業級應用的整體架構進行了邏輯分層,包括上面提到的 Web 層、業務邏 和數據存取層,分別對應上圖中的 Web 容器、 JB 容器和數據存取 ORM 組件與數據持久層 (數據庫) 不同的層級有自己的職責,并從功能類型上劃分層級,每個層級的職責單一。
在分層架構下需要對項目管理過程中的團隊進行職責劃分,井建立團隊交流機制。根據康威定律,設計系統的組織時,最終產生的設計等價于組織的溝通結構 ,通俗來講,團隊的交流機制應該與架構分層交互機制相對應。由于在架構上把整體的單體系統分成具有不同職責的層級,對應的項目管理傾向于把大的團隊分成不同的職能團隊,主要包括:用戶 交互 UI 團隊、后臺業務邏輯處理團隊、 數據存取 ORM 團隊與 DBA 團隊等,每個團隊只對自己的職責負責,并對使用方提供組件服務質量保證。
讓我們在看看另一個經典,職能團隊劃分。
JEE通過對單體架構的分層,結合職能劃分,開始通過架構在一定程度上進行邏輯拆分,讓各個專業的人能更加高效的做他們應該做的事情。
但是,每個層次的多個業務邏輯的實現會被放在同一應用項目中,并且運行在同一個服務器上。盡管大多數公司會使用規范來約束不同業務邏輯的隔離性來解禍,但是久而久之,隨著復雜業務邏輯的選代增加及開發人員的不斷流動,新的程序員為了節省時間和趕進度,非法使用了其他組件的服務,業務組件之間、 組件之間、數據存取之間的稿合性必然增加,最后導致組件與組件之間難以劃清界限,完全禍合在一起,將來的新功能迭代、增加和維護將難上加難。(反正你如果是入職接手一個老項目,那你一般都會很頭疼)
就當時而言,盡管 JEE 支持 Web容器和 EJB 容器的分離部署,大多數項目仍然部署在同 個應用服務器上井跑在一JVM 進程中。
說說你和JEE的那些事吧!
公眾號:Java貓說學習交流群:728698035
現架構設計(碼農)兼創業技術顧問,不羈平庸,熱愛開源,雜談程序人生與不定期干貨。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/74182.html
摘要:只要滿足規范的放入該容器,馬上就會被容器進行高效率的管理。根據康威定律,設計系統的組織時,最終產生的設計等價于組織的溝通結構,通俗來講,團隊的交流機制應該與架構分層交互機制相對應。 本博客 貓叔的博客,轉載請申明出處 先來看看官網對它的定義。 Java平臺企業版(Java EE)是社區驅動的企業軟件的標準。Java EE是使用Java Community Process開發的,其中包括...
摘要:有人反駁人家工作兩年,你談個球的標準。,,,,的概念不能更廣啊。附錄一個項目用來演示各種新特性的示例,有超過個示例程序。 這篇博客什么技術內容都沒有,純粹是介紹JAVAEE這個寬廣的概念。 本文內容的基于的環境是JavaEE7 起因: 起因是因為看了這個java EE兩年,目前北京在職,年后可以上班,下面有個人問: hantsy:Java EE 工程師?請問用過哪...
摘要:楊永林,人稱教主,八年前端開發經驗,原新浪微博前端技術專家,現任鏈家網前端總架構師。年年底,教主加入鏈家網,負責前端的整體架構工作。 楊永林,人稱教主,八年前端開發經驗,原新浪微博前端技術專家,現任鏈家網前端總架構師。長期研究Web訪問性能優化和前端框架搭建。作為初始團隊成員,教主參與了新浪微博所有PC版本的開發,其中4~6版以架構師的身份設計了微博PC版的前端架構。在新浪微博任職期間...
摘要:的方法在安卓底下會崩潰,結果竟然是要在里面設置正確的,因為我是用官網的腳手架搭起來的項目,不知道大家會不會遇到,改一下就可以解決問題了。 目錄 Weex系列(序) —— 總要知道原生的一點東東(iOS) Weex系列(序) —— 總要知道原生的一點東東(Android) Weex系列(1) —— Hello World項目 Weex系列(2) —— 頁面跳轉和通信 Weex系列(3)...
摘要:的方法在安卓底下會崩潰,結果竟然是要在里面設置正確的,因為我是用官網的腳手架搭起來的項目,不知道大家會不會遇到,改一下就可以解決問題了。 目錄 Weex系列(序) —— 總要知道原生的一點東東(iOS) Weex系列(序) —— 總要知道原生的一點東東(Android) Weex系列(1) —— Hello World項目 Weex系列(2) —— 頁面跳轉和通信 Weex系列(3)...
閱讀 3561·2023-04-26 02:10
閱讀 1298·2021-11-22 15:25
閱讀 1668·2021-09-22 10:02
閱讀 907·2021-09-06 15:02
閱讀 3469·2019-08-30 15:55
閱讀 600·2019-08-30 13:58
閱讀 2775·2019-08-30 12:53
閱讀 3042·2019-08-29 12:38