標籤:style blog java http ext color
J2EE是基於JAVA技術的一種標準。為什麼會有這樣的標準呢?
主要是在企業級應用開發當中有一些需求,例如資料庫連接,郵件服務、事件處理等,都是一些通用模組。而這些模組如果由開發人員來開發,勢必增加開發週期和代碼量。於是許多公司開發了自己中介軟體。但是不同的公司開發的中介軟體不同,達不到通用的效果。所以,為了通用必須提出規範,制定出一套的標準。
就跟什麼樣的螺絲帽適合什麼樣的螺絲釘一樣,J2EE其實是基於Java技術的一種標準,一種規範。遵循此規範開發的應用可以編寫一次,隨處運行,實現跨平台效果。
J2EE剛接觸,並沒有多少的共鳴,唯一有共鳴的也就是J2EE的體繫結構。前面學習過三層,J2EE只不過是在三層的基礎上又多加了一個客戶層而已。下面簡單介紹一下J2EE的體系架構,並且通過這個架構,對J2EE先有一個宏觀的把控。
J2EE的應用程式是由組件構成的,組件是對資料和方法的封裝。J2EE組件是一個封裝了功能的單元,能夠與相關的類和一些檔案組合成J2EE應用程式。 J2EE的體繫結構包括以下四層:
- 用戶端——客戶層組件
- J2EE伺服器——Web層、商務邏輯層組件
- EIS伺服器——公司資訊系統層
1.客戶層:包括Web瀏覽器,Applet(小型應用程式)和應用用戶端。
J2EE用戶端可以是一個Web組件或者是一個應用程式用戶端。
2.展示層(Web容器):
Web層組件是基於JSP和Servlet技術開發的。Web層組件動態給客戶提供需求,根絕客戶的不同請求作出不同的反應。同時Web層還可以包含一些JavaBean對象來處理使用者輸入,並把web層可能包含某些 JavaBean 對象來處理使用者輸入,並把輸入發送給業務層上的EJB來進行處理。
3.商務邏輯層(EJB容器)
商務邏輯層實現後端業務處理的邏輯,由運行在業務層的EJB來進行處理。EJB是J2EE技術的核心,在以後的學習中,需要進非同步理解。下面先是對其進行一個初步認識:
EJB(Enterprise JavaBean)主要是企業的分布式方案,就是說當應用程式不分布在同一個電腦上時,就可能從一個伺服器調用另一個伺服器的資源和方法,這個時候使用傳統的JAVABean無法完成,需要用到EJB技術來完成。(JavaBean和EJB的區別到後期進一步研究)
會話Bean(SessionBean)表示用戶端程式的臨時互動,當用戶端程式執行完畢,會話Bean和相關資料隨之消失。
實體Bean(Entity Bean)表示資料庫表中一行永久的記錄,可以進行儲存。
訊息驅動Bean(MessageDriven Bean)結合會話Bean和JMS監聽器的特性,用於在業務層組件非同步接受JMS訊息。
由於EBJ組件是在容器裡執行的,所以需要先啟動容器才能裝載EJB。
在EJB容器中,還涉及到很多的協議,例如SOAP協議,JMS協議等等。
4.公司資訊系統層,即提供項目資訊的來源,如底層資料庫資源,以及一些檔案,例如訊息,目錄服務等。
J2EE採用多層的模型,主要還是遵循了軟體開發過程中高內聚,低耦合的設計準則。將原來臃腫的用戶端精簡,分為多層,每個層可以為每一種服務設定獨立的一層,降低了層與層之間的耦合性。