EJB 技術曾被視為企業級 Java 開發的銀彈,但經歷從追捧到質疑的劇烈轉折。本文跳出 J2EE 框架爭論,回歸 EJB 獨立設計目標,理性分析其價值與適用邊界。
EJB 最初是獨立規範,目標是「強健的商業組件製造、跨平台可裝配性與移植性」,並非單純為 J2EE 服務。將 J2EE 的弱點直接投射到 EJB 上,忽視了組件技術本身的工程價值。
| 問題 | 理性視角 |
|---|---|
| 軟件工程是否超越組件時代? | 組件化仍是大規模復用核心,微服務本質上是分散式組件 |
| 重用只需調用而非裝配? | 裝配與配置分離是組件價值所在,支援多環境部署 |
| 商業邏輯仍需封裝與強健服務? | 是,事務、安全、併發控制是企業級核心需求 |
| 互聯特性能取代組件強健性? | 不能,可靠性、事務邊界、生命週期管理無法靠通訊協議解決 |
| 是否有更廉價組件形式超越 EJB? | Spring/POJO 模式降低門檻,但犧牲了標準化與容器級服務 |
| .NET 組件標準與 EJB 可比性? | .NET 元件模型緊綁 Windows,EJB 強調跨平台,應用場景不同 |
正如人生,放在擅長領域的技術才是最優美的。