您好,登錄后才能下訂單哦!
本篇文章為大家展示了JavaEE完整體系架構是怎樣的,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
JavaEE是一套使用Java進行企業級Web應用開發的大家一致遵循的工業標準。 JavaEE平臺提供了一個基于組件的方法來加快設計、開發、裝配及部署企業應用程序。 相較于Microsoft的.NET,Sun公司的Java*E和一系列標準、技術及協議更接近或更滿足互聯網在智能化Web服務方面對開放性、分布性和平臺無關性的要求。
1、JDBC(Java Database)數據庫連接
JDBC是一組用于執行SQL的Java API ,為訪問不同的數據庫提供了一種統一的途徑,幾乎所有的關系型數據庫廠商(DBMS)都提供了JDBC的服務或驅動。JDBC對數據庫的訪問也具有平臺無關性。
2、JNDI(Java Naming and Directory Interfaces)Java 的命名和目錄接口
JNDI是命名目錄服務的抽象接口集合,為企業級應用提供了統一的標準化連接,使Java能夠無縫地獲取任何可目錄化的企業信息。在JavaEE體系中,JNDI用來定位各種對象,包括EJB、數據庫驅動、JDBC數據源及消息連接等。由于JNDI是獨立于目錄協議的,因此還可以用JNDI訪問各種特定的目錄服務,如LDAP(輕量目錄訪問協議)、NDS(服務器目錄訪問服務)。
3、EJB(Enterprise JavaBean)
EJB組件:JavaBean是在編程環境(IDE)中能夠被可視化處理的可重用組件,是實現分布式業務邏輯的 Java 組件。我們在開發的時候可以利用這些組件,像搭積木一樣建立面向對象的分布式應用。 EJB容器:是EJB組件的運行環境,為部署EJB組件提供服務,包括事務、安全、遠程客戶端的網絡發布、資源管理等。 EJB服務器:管理EJB容器的高端進程或應用程序,并提供對系統服務的訪問。 調用EJB組件的應該稱為EJB客戶端,客戶端可以運行在Web容器中。
4、RMI(Remote Method Invoke)遠程方法調用
RMI協議能夠讓在某個Java虛擬機上的對象,像調用本地對象一樣調用另一個Java虛擬機中的對象上的方法。它使用了序列化方式在客戶端和服務器端傳送數據。RMI是一種被EJB使用的更底層的協議。(stub/skeleton層提供了客戶程序和服務程序彼此交互的接口)
5、Java IDL(Interface Description Language)/CORBA(Common Object Broker Architecture)Java 接口定義語言/公用對象請求代理程序體系結構
IDL是用來描述軟件組件接口的一種計算機語言。IDL通過一種中立的方式來描述接口,使得在不同平臺上運行的對象和用不同語言編寫的程序可以相互通信交流。
6、JSP(Java Server Pages)
JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務器在頁面被客戶端所請求以后對這些Java代碼進行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。 JSP可以使用Servlet提供的API,一般和JavaBean結合使用,從而將界面表現和業務邏輯分離。
7、Servlet
Servlet是一種小型的Java程序,它擴展了Web服務器的功能。作為一種服務器端的應用,當被請求時開始執行。Servlet提供的功能大多與JSP類似,不過實現的方式不同。JSP通常是大多數HTML代碼中嵌入少量的Java代碼,而servlets全部由Java寫成并且生成HTML。
8、XML(Extensible Markup Language)可擴展白標記語言
XML是一種用于標記電子文件使其具有結構性的標記語言。它被用來在不同的商務過程中共享數據。XML的發展和Java是相互獨立的,但是它和Java有著相同的目標,即平臺獨立性。通過Java和XML的組合,可以得到一個完美的具有平臺獨立性的解決方案。
9、JMS(Java Message Service)Java 消息服務
JMS是Java的消息服務,JMS的客戶端之間可以通過JMS服務進行異步的消息傳輸。JMS用于和面向消息的中間件相互通信的應用程序接口(API)。它既支持點對點的域,有支持發布/訂閱(publish/subscribe)類型的域,并且提供對下列類型的支持:經認可的消息傳遞,事務型消息的傳遞,一致性消息和具有持久性的訂閱者支持。 JMS消息系統帶來的好處:1、提供消息靈活性;2、松散耦合;3、異步性。
10、JTA(Java Transaction API)Java 事務 API
在JavaEE應用中,事務是一個不可或缺的組件模型,它保證了用戶操作ACID(即原子、一致、隔離、持久)屬性。對于那些跨數據源(例如多個數據庫,或者數據庫與JMS)的大型應用,則必須使用全局事務JTA。應用系統可以由JTA定義的標準API訪問各種事務監控,JTA為JavaEE平臺提供了分布式事務服務,它隔離了事務與底層的資源,實現了透明的事務管理方式。11、JTS(Java Transaction Service)Java 事務服務
JTS是一個組件事務監視器。JTS是CORBA OTS事務監控的基本實現。JTS規定了事務管理器的實現方式。JTS事務管理器為應用服務器、資源管理器、獨立的應用以及通信資源管理器提供了事務服務。
12、JavaMail
JavaMail是用于存取郵件服務器的API,它提供了一套郵件服務器的抽象類。不僅支持SMTP服務器,也支持IMAP服務器和POP服務器。
13、JAF(JavaBean Activation Framework)
JavaMail利用JAF來處理MIME編碼的郵件附件。MIME的字節流可以被轉換成Java對象,或者轉換自Java對象。大多數應用都可以不需要直接使用JAF。
兩層架構
傳統的客戶服務器系統僅只簡單地基于兩層體系來構建,即客戶端(前臺)和企業信息系統(后臺),沒有任何中間件,業務邏輯層與表示層或數據層混在一起。這種兩層架構無論從開發、部署、擴展、維護來說,綜其只有一個特點——成本高。
三層架構
三層架構自上而下將系統分為表示層、邏輯層、持久層。 表示層由處理用戶交互的客戶端組件及其容器所組成; 業務邏輯層由解決業務問題的組件組成; 數據層由一個或多個數據庫組成,并可包含存儲過程。 這種三層架構,在處理客戶端的請求時,使客戶端不用進行復雜的數據庫處理;透明地為客戶端執行許多工作,如查詢數據庫、執行業務規則和連接現有的應用程序;并且能夠幫助開發人員創建適用于企業的大型分布式應用程序。
MVC
在MVC模式中,應用程序被劃分為模型層(Model)、視圖層(View)、控制層(Controller)三部分。MVC模型就是把一個應用程序的開發按照業務邏輯、數據、視圖進行分離分層并組織代碼。MVC要求把應用的模型按一定的層次規則抽取出來,將業務邏輯聚集到一個部件里面,在改進和個性化定制界面及用戶交互的同時,不需要重新編寫業務邏輯。模型層負責封裝應用的狀態,并實現功能,視圖層負責將內容呈現給用戶,控制層負責控制視圖層發送的請求以及程序的流程。 Servlet
+JSP
+JavaBean
(MVC)這種模式比較適合開發復雜的web應用,在這種模式下,Servlet負責處理用戶請求,JSP負責數據顯示,JavaBean負責封裝數據。
基于JavaEE架構模式下的MVC在這種架構模式下,模型層(Model)定義了數據模型和業務邏輯。為了將數據訪問與業務邏輯分離,降低代碼之間的耦合,提高業務精度,模型層又具體劃分為了DAO層和業務層,DAO即Data Access Object,其主要職能是將訪問數據庫的代碼封裝起來,讓這些代碼不會在其它層出現或者暴露出來給其它層;業務層是整個系統最核心也是最具有價值的一層,該層封裝應用程序的業務邏輯,處理數據,關注客戶需求,在業務處理過程中會訪問原始數據或產生新數據,DAO層提供的DAO類能很好地幫助業務層完成數據處理,業務層本身側重于對客戶需求的理解和業務規則的適應,總體說來,DAO層不處理業務邏輯,只為業務層提供輔助,完成獲取原始數據或持久層數據等操作。
JSP:JSP被用來產生Web的動態內容。這層把應用數據以網頁的形式呈現給瀏覽器,然后數據按照在JSP中開發的預定的方式表示出來,這層也可以稱之為布局層。
Servlet:JSP建立在Servlet之上,Servlet是J2EE的重要組成部分。Servlet負責處理用戶請求,Java Web項目的所有配置都寫在了web.xml
配置文件里,當項目運行的時候,web.xml
會將http請求映射給對應的Servlet類。
JavaBean:由一些具有私有屬性的Java類組成,對外提供get和set方法。JavaBean負責數據,負責處理視圖層和業務邏輯之間的通信。
Service:業務處理類,對數據進行一些預處理。
DAO:數據訪問層,JDBC調用存儲過程,從數據庫(DataBase)那里獲取到數據,再封裝到Model實體類中去。
上述內容就是JavaEE完整體系架構是怎樣的,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。