首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

J2EE 入門核心觀念:中間件、容器、標準服務與部署架構

     編輯:Java 相關知識

J2EE 產生背景

企業應用面臨重複造輪子問題:資料庫連線、交易管理、安全驗證、訊息佇列、郵件服務等通用需求。各大廠商推出專屬中間件,但介面不互通。Sun 制定 **J2EE 規範**,定義標準 API 與契約,實現 **Write Once, Run Anywhere (應用伺服器層面)**。

核心名詞解析

術語定義實作範例
中間件介於作業系統與應用程式之間,屏蔽底層異構性,提供通用服務WebLogic, WebSphere, JBoss, Tomcat (Web 容器)
Web 容器管理 Servlet/JSP 生命週期、提供 HTTP 請求處理、Session 管理Tomcat, Jetty, Undertow, Resin
EJB 容器管理 Enterprise Bean:交易、安全、並發、持久化、遠端存取、生命週期WildFly, WebLogic, WebSphere, OpenEJB
RMI-IIOPJava 遠端方法調用 + CORBA 協議,支援跨語言/跨平台遠端呼叫EJB 遠端介面、分散式服務
JNDI命名/目錄服務,統一查找 DataSource、EJB、環境變數、郵件 SessionLDAP, DNS, 檔案系統, 應用伺服器內建
JMS訊息導向中介軟體 (MOM) API,支援 Queue (P2P) 與 Topic (Pub/Sub)ActiveMQ, IBM MQ, RabbitMQ (via JMS client)
JTA高層交易 API,UserTransaction、TransactionManager,協調多資源管理器 (XA)Atomikos, Narayana, 應用伺服器內建
JAAS/JACC認證與授權框架,Principal、Subject、Policy、Permission登入模組、角色基礎存取控制 (RBAC)

J2EE 四大優勢

  1. 平台無關性:Java 特性 + 規範標準化,應用可在認證過的應用伺服器間移植。
  2. 開放標準:多廠商實作 (IBM, Oracle, Red Hat, 社群),避免 Vendor Lock-in。
  3. 企業級服務現成:交易、安全、連線池、叢集、負載平衡、管理監控開箱即用。
  4. 分層架構最佳實踐:表現/業務/持久/整合層分離,利於團隊協作與維護。

主流應用伺服器對比 (歷史與現狀)

伺服器類型授權特色現狀
WebLogic全功能 J2EE商業效能強、管理主控台完善、生產級首選Oracle 持續更新 (14c+)
WebSphere全功能 J2EE商業企業級整合強、支援 z/OS、安全合規完善IBM 持續更新 (9.0/Traditional)
JBoss / WildFly全功能 J2EE開源 (LGPL)創新快、社群活躍、Red Hat 支援版 (EAP)WildFly 27+ (Jakarta EE 10)
TomcatWeb 容器 (Servlet/JSP)開源 (ASL 2.0)輕量、啟動快、生產廣泛用於 Spring Boot10.1.x (Servlet 6.0)
JettyWeb 容器開源 (EPL/ASL)嵌入式優先、模組化、Spring Boot 內建選項11/12 (Servlet 5/6)
GlassFish / Payara全功能 J2EE開源 (CDDL/GPL)Jakarta EE 相容性參考實作Payara 社群/企業版持續維護

新手常見誤區

  • 「J2EE = EJB」:J2EE 包含 Web 容器、JMS、JTA、JCA、JavaMail 等多項規範,EJB 僅是其中一種元件模型。
  • 「必須用完整 Profile」:Web Profile (Servlet, JPA, CDI, Bean Validation, EJB Lite) 足夠 80% Web 應用,輕量許多。
  • 「Tomcat 不支援 JTA/JNDI」:Tomcat 內建 DataSource (JNDI) 與 UserTransaction (JTA),若需完整 XA 可整合 Atomikos/Narayana。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved