J2EE體系結構簡單介紹
一、J2EE提出的背景
1、 企業級應用框架的需求
在許多企業級應用中,例如數據庫連接、郵件服務、事務處理等都是一些通用企業需求模組,這些模組如果每次再開發中都由開發人員來完成的話,將會造成開發週期長和代碼可靠性差等問題。於是許多大公司開發了自己的通用模組服務。這些服務性的軟體系列同陳為中間件。
2、 為了通用必須要提出規範,不然無法達到通用
在上面的需求基礎之上,許多公司都開發了自己的中間件,但其與用戶的溝通都各有不同,從而導致用戶無法將各個公司不同的中間件組裝在一塊為自己服務。從而產生瓶頸。於是提出標準的概念。其實J2EE就是基於JAVA技術的一系列標準。
注:中間件的解釋 中間件處在作業系統和更高一級應用程式之間。他充當的功能是:將應用程式運行環境與作業系統隔離,從而實現應用程式開發者不必為更多系統問題憂慮,而直接關注該應用程式在解決問題上的能力 。我們後面說到的容器的概念就是中間件的一種。
二、相關名詞解釋
容器:充當中間件的角色
WEB容器:給處於其中的應用程式組件(JSP,SERVLET)提供一個環境,使JSP,SERVLET直接更容器中的環境變數介面交互,不必關注其他系統問題。主要有WEB伺服器來實現。例如:TOMCAT,WEBLOGIC,WEBSPHERE等。該容器提供的介面嚴格遵守J2EE規範中的WEB APPLICATION 標準。我們把遵守以上標準的WEB伺服器就叫做J2EE中的WEB容器。
EJB容器:Enterprise java bean 容器。更具有行業領域特色。他提供給運行在其中的組件EJB各種管理功能。只要滿足J2EE規範的EJB放入該容器,馬上就會被容器進行高效率的管理。並且可以通過現成的介面來獲得系統級別的服務。例如郵件服務、事務管理。
WEB容器和EJB容器在原理上是大體相同的,更多的區別是被隔離的外界環境。WEB容器更多的是跟基於HTTP的請求打交道。而EJB容器不是。它是更多的跟數據庫、其他服務打交道。但他們都是把與外界的交互實現從而減輕應用程式的負擔。例如SERVLET不用關心HTTP的細節,直接引用環境變數session,request,response就行、EJB不用關心數據庫連接速度、各種事務控制,直接由容器來完成。
RMI/IIOP:遠程方法調用/internet對象請求仲介協議,他們主要用於通過遠程調用服務。例如,遠程有一台電腦上運行一個程式,它提供股票分析服務,我們可以在本地電腦上實現對其直接調用。當然這是要通過一定的規範才能在異構的系統之間進行通信。RMI是JAVA特有的。
JNDI:JAVA命名目錄服務。主要提供的功能是:提供一個目錄系統,讓其他各地的應用程式在其上面留下自己的索引,從而滿足快速搜尋和定位分佈式應用程式的功能。
JMS:JAVA消息服務。主要實現各個應用程式之間的通訊。包括點對點和廣播。
JAVAMAIL:JAVA郵件服務。提供郵件的存儲、傳輸功能。他是JAVA編程中實現郵件功能的核心。相當MS中的EXCHANGE開發包。
JTA:JAVA事務服務。提供各種分佈式事務服務。應用程式只需調用其提供的介面即可。
JAF:JAVA安全認證框架。提供一些安全控制方面的框架。讓開發者通過各種部署和自定義實現自己的個性安全控制策略。
EAI:企業應用集成。是一種概念,從而牽涉到好多技術。J2EE技術是一種很好的集成實現。
三、J2EE的優越性
1、 基於JAVA 技術,平臺無關性表現突出
2、 開放的標準,許多大型公司已經實現了對該規範支援的應用伺服器。如BEA ,IBM,ORACLE等。
3、 提供相當專業的通用軟體服務。
4、 提供了一個優秀的企業級應用程式框架,對快速高品質開發打下基礎
四、現狀
J2EE是由SUN 公司開發的一套企業級應用規範。現在最高版本是1.4。支援J2EE的應用伺服器有IBM WEBSPHERE APPLICATION SERVER,BEA WEBLOGIC SERVER,JBOSS,ORACLE APPLICATION SERVER,SUN ONE APPLICATION SERVER 等。
http://big5.ccidnet.com:89/gate/ ... 0429/1436095_1.html