JavaEE 的13個核心規範
規範很容易被忽略,但是很重要。
轉自:https://mp.weixin.qq.com/s/F0v8Kyt56elZ_EvvXx7H7A
JavaEE的13個規範其實就是JavaEE的13個API文件,是一種比較抽象的標準。
1、JDBC(Java Database Connectivity)
JDBC 為訪問不同的資料庫提供了一種統一的方法,類似的API還有微軟的ODBC。JDBC包含眾多介面和類,可以執行SQL語句操作不同的資料庫並處理執行結果。簡單來說,JDBC就是資料庫驅動,一些資料庫廠商提供的用來操作資料庫的jar包(介面)。比如銀行的工作人員,開放軍人和普通人的視窗,執行相應的操作,處理對應的業務。
2、JNDI(Java Name and Directory Interface)
JNDI 是在Java中應用於名稱和目錄服務的API。將名稱和物件關聯,通過名稱訪問物件或資源,從而省去記憶物件和資源實體地址的麻煩。它提供了訪問不同型別目錄的介面,使得目錄的使用和目錄資源本身實現了分離。
3、EJB(Enterprise JavaBean)
EJB是封裝了具體的業務邏輯的元件,提供了開發框架和處理分散式事務的邏輯,簡化了高度複雜的企業級應用開發,而且EJB可以在服務端實現客戶端的程式碼。JavaBean分為會話bean、實體bean和訊息驅動bean。
4、RMI(RemoteMethod Invoke)
其中,remote遙遠的, invoke呼叫,見名知義,呼叫遙遠的方法。
RMI協議就是呼叫遠端物件上的方法,使用序列化方式在客戶端和伺服器端傳遞資料。RMI是被上一個規範EJB使用的更底層的協議,本身比較簡單,是分散式的基礎所在。
5、Java IDL(Interface Define Language)/CORBA(Common Object Request Broker Architecture)
Java介面定義語言和公共物件請求代理結構,後者在前者的支援下,開發人員可以將Java和CORBA結合在一起。他們可以建立Java物件使其可以在CORBA ORB中展開。
6、JSP(Java Server Pages)
Jsp頁面由html程式碼和嵌入其中的Java程式碼構成。客戶端在頁面發出請求,服務端接收請求,然後對Java程式碼進行處理,將處理結果和原來的html程式碼重新生成Jsp頁面返回給客戶端瀏覽器。
JSP是一種動態web資源開發技術。JSP的出現解決了Servlet在響應時不適合向外輸出頁面的問題,Servlet本質上是一段java程式碼, 非常適合處理邏輯, 但是不合適向外輸出頁面。HTML適合開發頁面, 展示資料, 但是HTML開發出來的頁面本質上就是一個文件, 無法展示動態的資料。JSP非常適合編寫HTML程式碼, 適合作為響應頁面向外輸出, 同時JSP裡可以寫java程式碼, 也可以展示動態的資料。所以JSP可以解決既要處理邏輯又要向外輸出頁面的難題。
7、Java Servlet
Servlet是SUN提供的動態web資源的開發技術, 本質上是一段java程式, 這段程式無法獨立執行, 需要放在Servlet容器中, 由容器呼叫才可以執行。它是客戶請求端和服務響應端的中間層。
8、XML(Extensible Markup Language)
XML是一種可以用來定義其他標記語言的可擴充套件標記語言。它是一種資料儲存格式, 本質上就是一段字串。xml中允許使用者自定義標籤, 標籤分為開始標籤和結束標籤。開始標籤和結束標籤之間可以巢狀其他的標籤。正是利用標籤來儲存資料, 利用標籤之間巢狀關係來儲存資料之間的層級關係。xml可以應用與傳輸資料和用作配置檔案因為xml本質上是一段字串, 具有跨平臺的特性, 因此可以在不同系統之間進行資料交換,而且xml可以儲存有結構的資料, 因此xml常被用來用作應用程式的配置檔案。
9、JMS(Java Message Service)
JMS即Java訊息服務,是面向訊息的中介軟體通訊的應用程式介面(API)。它既支援點對點的域,有支援釋出/訂閱型別的域,比如應用程式之間傳送訊息,還有分散式系統間的非同步通訊等。
10、JTA(Java Transaction Architecture)
Java事務結構API。允許應用程式執行分散式事務處理,在兩個及以上的網路計算機資源上進行訪問並且更新資料。JDBC驅動程式的JTA支援極大地增強了資料訪問能力,JDBC就是資料庫驅動,一些資料庫廠商提供的用來操作資料庫的jar包。事務可以理解為是邏輯上的一組操作。要求這一組操作同時完成 要麼同時不完成。從而保證資料的有效性、一致性等。事務的四大特性: ACID。原子性(Atomicity):事務中的一組操作是不可分割的一個整體,要麼一起成功,要麼一起失敗;一致性(Consistency):事務前後,無論事務是否成功,資料庫都保持一個完整性的狀態;隔離性(Isolation):多個併發事務之間應該互相隔離,互不影響;永續性(Durability):一個事務成功,對資料庫產生的影響是永久性的。
11、JTS(Java Transaction Service)
JTS:Java事務服務用於分散式事務管理的一套約定或規範。它規定了事務管理器的實現方式。定義了一套介面,介面定義了相關的程式角色之間需要遵守的約定,JTA中約定了幾種主要的程式角色,分別是事務管理器、事務客戶、應用伺服器、資源管理器。
12、JavaMail
JavaMail是用於存取郵件服務的API,它提供了一套郵件伺服器的抽象類。支援SMTP伺服器、IMAP伺服器等。JavaMail利用下一個標準JAF來處理MIME編碼的郵件附件。
13、JAF(JavaBeans Activation Framework)
JAF是一個數據處理框架,它用於封裝資料,負責處理MIME編碼,併為應用程式提供訪問和操作資料的介面。 從而讓Java程式檢視資料來源中的資料型別,進行的操作,以及列印資料來源。