J2EE的13个规范总结
轉載自:http://blog.csdn.net/zhuanzhe117/article/details/38763483
什么是J2EE?
在企業級應用中,都有一些通用企業需求模塊,如數據庫連接,郵件服務,事務處理等.既然很多企業級應用都需要這些模塊,一些大公司便開發了自己的通用模塊服務,即中間件.這樣一來,就避免了重復開發,開發周期長和代碼可靠性差等問題.但是,各公司的中間件不兼容的問題就出現了,用戶無法將它們組裝在一起為自己服務.于是,"標準"就應運而生了.
J2EE就是基于Java技術的一系列標準.
J2EE是Java2平臺企業版(Java 2Platform Enterprise Edition),核心是一組技術規范與指南,其中所包含的各類組件,服務架構和技術層次,都有共同的標準及規格,讓各種依云J2EE架構的不同平臺之間,存在良好的兼容性.
?
J2EE的13種規范是什么?
1.JDBC(JavaDatabase Connectivity)
JDBC是以統一方式訪問數據庫的API.
它提供了獨立于平臺的數據庫訪問,也就是說,有了JDBC API,我們就不必為訪問Oracle數據庫專門寫一個程序,為訪問Sybase數據庫又專門寫一個程序等等,只需要用JDBC API寫一個程序就夠了,它可以向相應數據庫發送SQL調用.JDBC是Java應用程序與各種不同數據庫之間進行對話的方法的機制.簡單地說,它做了三件事:與數據庫建立連接--發送操作數據庫的語句--處理結果.
?
2.JNDI(JavaName and Directory Interface)
JNDI是一組在Java應用中訪問命名和目錄服務的API.
(命名服務將名稱和對象聯系起來,我們即可用名稱訪問對象.JNDI允許把名稱同Java對象或資源關聯起來,建立邏輯關聯,而不必知道對象或資源的物理ID.)JNDI為開發人員提供了查找和訪問各種命名和目錄服務的通用,統一的接口,可訪問的目錄及服務如下表:
利用JNDI的命名與服務功能可滿足企業級API對命名與服務的訪問,諸如EJB,JMS,JDBC 2.0以及IIOP上的RMI通過JNDI來使用CORBA的命名服務.
JNDI和JDBC類似,都是構建在抽象層上.因為:
它提供了標準的獨立于命名系統的API,這些API構建在命名系統之上.這一層有助于將應用與實際數據源分離,因此不管是訪問的LDAP,RMI還是DNS.也就是說,JNDI獨立于目錄服務的具體實現,只要有目錄的服務提供接口或驅動,就可以使用目錄.
?
3.EJB(EnterpriseJavaBean)
J2EE將業務邏輯從客戶端軟件中抽取出來,封裝在一個組件中。這個組件運行在一個獨立的服務器上,客戶端軟件通過網絡調用組件提供的服務以實現業務邏輯,而客戶端軟件的功能只是負責發送調用請求和顯示處理結果。
在J2EE中,這個運行在一個獨立的服務器上,并封裝了業務邏輯的組件就是EJB組件。其實就是把原來放到客戶端實現的代碼放到服務器端,并依靠RMI進行通信。
?
4.RMI(Remote MethodInvoke)
是一組用戶開發分布式應用程序的API.
這一協議調用遠程對象上的方法使用了序列化的方式在客戶端和服務器之間傳遞數據,使得原先的程序在同一操作系統的方法調用,變成了不同操作系統之間程序的方法調用,即RMI機制實現了程序組件在不同操作系統之間的通信.它是一種被EJB使用的更底層的協議.
RMI/JNI: RMI可利用標準Java本機方法接口與現有的和原有的系統相連接
RMI/JDBC: RMI利用標準JDBC包與現有的關系數據庫連接
這就實現了與非Java語言的現有服務器進行通信.
?
5.JavaIDL/CORBA(Common Object Request BrokerArchitecture)
Java接口定義語言/公用對象請求代理程序體系結構
在JavaIDL的支持下,開發人員可以將Java和CORBA集成在一起。他們可以創建Java對象并使之可在CORBA ORB中展開,或者他們還可以創建Java類并作為和其它ORB一起展開的CORBA對象的客戶。后一種方法提供了另外一種途徑,通過它Java可以被用于將新的應用和舊的系統相集成。
CORBA是面向對象標準的第一步,有了這個標準,軟件的實現與工作環境對用戶和開發者不再重要,可以把精力更多地放在本地系統的實現與優化上。
?
6.JSP(Java Server Pages)
JSP頁面=HTML+Java,其根本是一個簡化的Servlet設計.
服務器在頁面被客戶端請求后,對這些Java代碼進行處理,然后將執行結果連同原HTML代碼生成的新HTML頁面返回給客戶端瀏覽器.
?
7.Java Servlet
Servlet是一種小型的Java程序,擴展了Web服務器的功能,作為一種服務器的應用,當被請求時開始執行.Servlet提供的功能大多和JSP類似,不過,JSP通常是大多數的HTML代碼中嵌入少量的Java代碼,而Servlet全部由Java寫成并生成HTML.
?
8.XML
XML是一個用來定義其它標記語言的語言,可用作數據共享。XML的發展和Java是相互獨立的。不過,它和Java具有的相同目標就是跨平臺。通過將Java與XML結合,我們可以得到一個完全與平臺無關的解決方案。
?
9.JMS(JavaMessage Service)
它是一種與廠商無關的API,用來訪問消息收發系統消息.它類似于JDBC.JDBC是可以用來訪問不同關系數據庫的API,而JMS則提供同樣與廠商無關的訪問消息收發服務的方法,這樣就可以通過消息收發服務實現從一個JMS客戶機向另一個JMS客戶機發送消息,所需要的是廠商支持JMS.換句話說,JMS是Java平臺上有關面向消息中間件的技術規范.
?
10.JTA(JavaTransaction API)
定義了一種標準API,應用程序由此可以訪問各種事務監控.它允許應用程序執行分布式事務處理--在兩個或多個網絡計算機資源上訪問并且更新數據.JTA和JTS為J2EE 平臺提供了分布式事務服務.
JTA事務比JDBC事務更強大,一個JTA事務可以有多個參與者,而一個JDBC事務則被限定在一個單一的數據庫連接.
?
11.JTS(JavaTransaction Service)
JTS是CORBA OTS事務監控器的一個基本實現。JTS指定了一個事務管理器的實現(Transaction Manager),這個管理器在一個高級別上支持JTA規范,并且在一個低級別上實現了OMGOTS規范的Java映射。一個JTS事務管理器為應用服務器、資源管理器、standalone應用和通信資源管理器提供事務服務。
?
12.JavaMail
用于訪問郵件服務器的API,提供了一套郵件服務器的抽象類.
?
13.JAF(JavaBeansActivation Framework)
JAF是一個專用的數據處理框架,它用于封裝數據,并為應用程序提供訪問和操作數據的接口.也就是說,JAF讓Java程序知道怎么對一個數據源進行查看,編輯,打印等.
JavaMail利用JAF來處理MIME編碼的郵件附件.
?
它們之間有什么關系?
以上介紹各個規范的同時也盡可能思考了各個規范之間的聯系.最后用一張簡單的圖來表示各個規范之間的調用關系,純屬自己分析所得,還望高人指點…
總結
以上是生活随笔為你收集整理的J2EE的13个规范总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MongoDB 杭州用户会全记录(千寻位
- 下一篇: 十分钟成为 TiDB Contribut