前言
企業級應用要求快速開發、低成本、高可靠性。J2EE 平台提供基於組件的多層分布式架構、統一安全模型、靈活交易控制,並實現平台獨立、廠商中立的部署。
多層分布式應用模型
- 客戶端層:應用程式客戶端、Applet、瀏覽器(HTML/WML)。
- Web 層:Servlet、JSP,運行於 J2EE 伺服器的 Web 容器。
- 業務邏輯層:Enterprise JavaBeans (EJB):Session Bean、Entity Bean、Message-Driven Bean。
- 企業資訊系統層 (EIS):資料庫、ERP、大型主機、傳統系統。
標準三層架構:客戶端、J2EE 伺服器(Web+EJB 容器)、資料庫/EIS 伺服器。
J2EE 組件類型
| 層次 | 組件 | 技術 |
| 客戶端 | 應用客戶端、Applet | Swing/AWT、Java Plug-in |
| Web | Servlet、JSP | Java Servlet 2.3、JSP 1.2 |
| 業務 | EJB | EJB 2.0 (Session/Entity/Message-Driven) |
容器與服務
組件部署於對應容器,容器提供:
- 安全服務:宣告式授權/認證(JAAS)。
- 交易服務:JTA 宣告式交易邊界(JTA 1.0)。
- 命名服務:JNDI 統一存取 LDAP、DNS、RMI Registry 等。
- 遠端連線:RMI-IIOP 透明呼叫 EJB。
- 生命週期/資源池/持久化:容器管理,可選 Bean-Managed Persistence (BMP)。
封裝與部署
- 模組:EJB JAR、Web WAR、Client JAR,各含
XML 部署描述檔。
- 應用:EAR (Enterprise Archive) 打包多模組,
.ear 副檔名。
- 部署工具:GUI/命令列,支援驗證、安裝、配置資源適配器、安全域、JDBC 資料源。
開發角色分工
- J2EE 產品提供商(伺服器廠商)
- 工具提供商
- 應用組件開發商(EJB、Servlet、JSP、Client)
- 應用組裝商(組合 EAR)
- 應用部署商/系統管理員(安裝、配置、監控)
核心 API 概覽
- EJB 2.0、JDBC 2.0、Servlet 2.3、JSP 1.2、JMS 1.0、JTA 1.0、JavaMail 1.2、JAF 1.0、JAXP 1.1、J2EE Connector 1.0、JAAS 1.0
參考實作 (J2EE SDK)
Sun 提供非商業用途的完整參考實作:應用伺服器、Web 伺服器、關聯式資料庫、J2EE API、部署工具 (packager/verifier/deploytool) 及管理腳本 (j2ee, cloudscape, realmtool 等)。