緊急醫療場景需整合處方、輸血、放射、保險、捐贈者通知等多方系統。HSB 作為企業服務總線 (ESB) 的醫療領域實例,核心能力:
架構遵循 SOA:一切皆服務。提供者(放射科、血庫、保險門戶)與消費者(處方系統)鬆耦合連接總線。
Java Business Integration (JBI) 規範定義標準整合環境,提供完整 ESB 特性。採用 Apache ServiceMix 開源實現。JBI 三大核心組件:
以處方系統調用捐贈者服務為例:
解耦價值: 消費者/提供者零直接依賴,新增協議只需實現對應 BC 一次,所有服務復用。
內部服務(如放射科)部署為 SE。流程差別僅在第 5 步:NMR 路由至 SE,SE 內部反規範化並直接調用業務邏輯(POJO)。SE = BC 功能 + 業務邏輯。第二部分將演示如何分離關注點(BC + POJO)。
兩 JBI 環境透過各自 BC 互連。消費者請求經 NMR → 本地 BC → 遠端 BC → 遠端 NMR → 目標 SE。關鍵:JBI 視遠端環境為外部服務,配置模式完全一致,實現跨機構無感知調用。
核心 <component> 標籤定義 BC/SE:
type:binding-component 或 service-engine。<identification>:名稱與描述。<component-class-name> + <component-class-path>:實現類與依賴 JAR。<bootstrap-class-name> + <bootstrap-class-path>:啟動引導類(如 DefaultBootstrap)。ServiceMix 預置 CXF BC/SE,無需手寫 <component>,第二部分將展示高層服務組裝配置。
HSB 需同時支援兩者。JBI 擴展機制允許新增 HL7 BC,第二部分將詳細演示。