J2EE中容器充當中介軟體的角色。主要的容器包括:
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:JAVAMessage Service。主要實現各個應用程式之間的通訊。包括點對點和廣播。
JAVAMAIL:JAVA郵件服務。提供郵件的儲存、傳輸功能。他是JAVA編程中實現郵件功能的核心。相當MS中的EXCHANGE開發包。
JTA:JAVA事務服務。提供各種分散式交易服務。應用程式只需調用其提供的介面即可。
JAF:JAVA安全認證架構。提供一些安全控制方面的架構。讓開發人員通過各種部署和自訂實現自己的個性安全控制策略。
EAI:公司專屬應用程式整合。是一種概念,從而牽涉到好多技術。J2EE技術是一種很好的整合實現。