許多 Java 開發者初次接觸 EJB(Enterprise JavaBeans)時,都會被晦澀的理論搞得一頭霧水。其實,EJB 的本質非常簡單:將原本跑在客戶端的業務邏輯類(Java 類),打包部署到應用伺服器上,讓客戶端透過網路協議(RMI/IIOP)遠程調用這些類的方法。
早期的 C/S 架構下,業務邏輯與 UI 混雜在客戶端(胖客戶端),導致維護困難、部署成本高、安全性差。EJB 的出現,正是為了將業務邏輯剝離到伺服器端(瘦客戶端),由容器統一管理事務、安全、並發、資源池等企業級服務,開發者只需專注於業務代碼。

圖中展示了 EJB 容器位於應用伺服器內部,為上層應用提供標準化的組件模型與系統級服務。客戶端(Web 層、Swing、Applet 等)透過 JNDI 查找 EJB 參考,再進行業務調用。
EJB 早期版本(1.x/2.x)因過度設計、配置繁瑣、性能差備受詬病。自 EJB 3.0 起,引入註解、POJO 程式模型、JPA 整合,大幅降低複雜度。現代 Java EE(Jakarta EE)中,EJB 依然是企業級應用的核心組件之一,但輕量級框架(如 Spring)也提供了類似甚至更靈活的替代方案。
理解 EJB,關鍵在於把握「分散式組件」與「容器托管服務」這兩大核心。不必陷入繁雜規範,抓住本質,才能在技術選型時游刃有餘。