為衡量 ORB 通過對象適配器 (OA) 對 CORBA 對象生命週期的支持能力,定義五大核心評估維度:
_marker() API 變通支持字符串標識,非標準。load() 激活對象,屬廠商私有協議。POA 針對 BOA 痛點提供標準化解決方案:
| 維度 | BOA | POA |
|---|---|---|
| 規範清晰度 | 模糊、含糊 | 精確、完整、可移植 |
| 對象標識 | ORB 控制、難以自定義 | 支持 ObjectId、ServantManager、自定義標識映射 |
| 激活策略 | 隱式早期綁定 | 顯式策略:RETAIN/USE_SERVANT_MANAGER、SYSTEM_ID/USER_ID、UNIQUE_ID/IMPLICIT_ACTIVATION |
| 服務對象模型 | 強制 1:1 | 支持 N:1 (ServantManager)、按需激活、狀態外部化 |
| 持久化支持 | 依賴私有 Loader | 標準化 Persistent Object 支持、POA 生命週期獨立於進程 |
USE_SERVANT_MANAGER + UNIQUE_ID + IMPLICIT_ACTIVATION,單實例服務海量對象。RETAIN + USER_ID + USE_SERVANT_MANAGER,應用控制標識與激活/去活邏輯。RETAIN + SYSTEM_ID + UNIQUE_ID,POA 自動分配標識,生命週期綁定會話。BOA 因規範缺陷導致可移植性差、功能受限,已被 POA 徹底取代。POA 通過豐富的策略組合、標準化的 ServantManager 機制、靈活的對象標識與激活模型,全面支持從輕量級無狀態服務到重量級持久化實體的各類生命週期需求,是構建高性能、可移植 CORBA 系統的基石。