這幾天沒有複習軟考,抽空把美河的J2EE視頻看了一遍。視頻中的概念大多沒接觸過,不過內容卻是都不陌生,因為這個貌似是把一些東西集合起來了。
按照常理應該從為什麼,是什麼,幹什麼這三個問題來入手調查J2EE的老底。因此要這麼做:
一、為什麼
為什麼會有J2EE?
J2EE即Java平台企業版。首先說任何一種技術的由來都是因為有需求,而需求一般都是因為遇到問題了才提出來的。那麼J2EE的需求從其名稱上來看就是來自於企業。既然是企業,那麼肯定不是小打小鬧的什麼架構,什麼設計了。
那麼需求是什嗎?那就得說企業中面臨的什麼問題了。
問題: 分布式,可移植,舊系統整合支援,面向web,可裝配,滿足企業計算要求(一致性、事務性、安全性),要有好的特性(可伸縮、可擴充、以維護)
當企業面臨這些問題的時候就有一部分人提出來瞭解決方案,參考這裡:http://zhuyuanxiang.javaeye.com/blog/124165,這就意味著J2EE已經具有了這些解決方案。
為啥需要J2EE?因為J2EE對開發人員和使用者來說意味著更短的開發時間(可重用構件、jsp、EJB),更簡化的串連(XML、JDBC、RMI-IIOP)。
二、J2EE是什嗎?
定義:開放的、基於標準的平台,用以開發、部署和管理N層結構、面向Web的,以伺服器為中心的企業級應用。
既然是企業級的開發平台,那麼必然是有很多東西組成的。有JDBC,EJB,JTA,JMS等等。
組件有了,還有J2EE中的核心技術有哪些呢?
一共有十三種:EJB、 CORBA、 RMI、JSP、Java Servlet、JavaBean、JDBC、XML、JMS……
在看視頻時裡面一直涉及到容器和組件這兩個概念:
裡面涉及到的內容還是很多的,說實話咂看一下還真有點暈。
視頻中還有一大部分都是在講EJB,不過網上查資料說EJB是重量級架構,一般公司用的很少,不過看視頻中的內容也不是很難。
三、幹什嗎?
其實在第一個問題的時候就已經有了答案了,即:
J2EE提供了一套完整的解決所有這些問題的架構方案:
·提供了分布式、可移植構件的架構
·為構件與應用伺服器提供標準API
·簡化了伺服器端中介層構件的設計
好了,以上內容比較官方,大都參考資料,下面就視頻內容總結下:
視頻中的內容看起來還是比較枯燥的,一來是因為沒有實踐過(實踐了也就不看了,呵呵),二來呢是因為感覺這個視頻就像是有聲的文檔。不過怎麼說吧,還是接觸了一些新的概念。
JDBC,這個就比較熟悉了,應該是類似於ODBC的東西,就是用來訪問資料庫的。
JNDI,Java Naming and Directory Interface,術語解釋為:一組協助做多個命名和目錄服務介面的API,不過看其代碼好像是在.NET下用過的反射,通過字串讀取檔案。
JTA ,Java事務API(JTA;Java Transaction API),考慮一下資料庫中的交易處理,這裡就是把資料庫中的業務拿過來放到程式中了,或者是做成了介面。
JMS,即JavaMessage Service(Java Message Service)應用程式介面是一個Java平台中關於面向訊息中介軟體(MOM)的API,用於在兩個應用程式之間,或分布式系統中發送訊息,進行非同步通訊。以前看到過用JMS發送郵件的內容,都屬於訊息方面的應用。
EJB,EJB是sun的伺服器端組件模型,最大的用處是部署分布式應用程式當然,還有許多方式可以實現分布式應用,類似微軟的.net技術。 貌似內容很多,不過印象比較深刻的就是EJB-QL,用來操縱對象的語言,就像SQL是用來操作資料庫的。
JMX,這個沒印象。
RMI,遠程方法調用,用戶端調用伺服器,通過值傳遞資料,就像是線上考試系統中Ajax與背景webservices互動一樣。(maybe?)
體繫結構圖:
看完視頻之後覺得掉河裡了。