將 Enterprise Service Bus 用於醫學保健
這篇由兩部分組成的文章將示範各種醫學保健相關的服務通過一個服務匯流排進行彙總,我稱 之為(可能不夠準確)Healthcare Service Bus (HSB)。在第 1 部分中,我將介紹一個用例場 景,其中為病人服務的各種應用程式需要串連到 HSB,我將解釋 HSB 應當提供的特性。接下來 ,我將介紹 Java Business Integration (JBI) 架構,它用於構建 HSB。按照以下順序瞭解發 生在 JBI 伺服器內部的事件,您將瞭解到 JBI 如何在內部用於業務整合,以及其組件如何與 外部應用程式協同。第 1 部分的最後一章將提供配置執行個體,它將示範如何控制 JBI 組件行為 ,以使其用於醫學保健。在第 2 部分中,您將學習如何使用開源 JBI 實現 (Apache ServiceMix)現有的功能以及通過實現 ServiceMix 新功能整合醫學保健服務。
醫學保健服務匯流排
HSB 整合了大量醫學保健相關的服務。想象一下需要救命的緊急病人的需求,包括輸血、緊 急處方和放射檢查。
當病人到達醫學機構,主治醫生使用服務匯流排通過病人手機上啟動並執行應用程式查看過敏史。 醫生還可將對病人最初情況的觀察輸入到串連到匯流排的醫學處方應用程式中。醫生的觀察通過 服務匯流排傳送到託管病人所在保險公司入口網站網站的 Web 服務器。
醫生然後在相同的處方應用程式中開具輸血處方。然後處方自動通過服務匯流排不僅傳送到血 庫,還傳送到捐贈組織應用程式中,它將向那些血液樣本預先與病人配型成功的捐贈者發送短 信。對捐贈組織應用程式的需求也通過服務匯流排傳送。
醫生還會開具緊急藥物和放射檢查處方,這些也輸入同樣的處方應用程式。處方應用程式通 過匯流排發送處方到醫學機構內部的藥房和放射科。
服務彙總
您可以看到在該用例中,HSB 允許各種應用程式相互連通,相互操作,從而彙總服務。應用 程式的兩種主要類型 — 服務使用者和服務提供者 — 串連到 HSB。向 HSB 發送輸血需求的處 方應用程式作為服務使用者(請求或使用服務的應用程式)。向潛在血液捐贈者傳送簡訊的捐 贈組織應用程式作為服務提供者(提供所請求服務的應用程式)。相互連通 和 相互操作 是不 同的需求,它們共同提供了服務彙總。相互連通 意思是服務提供者和服務使用者有一種通用方 式可以串連(到達)對方,從而可以 相互操作 對方(互動資訊和訊息)。HSB 使用通用的 XML 格式相互交換訊息。
HSB 作為 SOA
像 HSB 這樣嚴重依賴 “服務” 的架構稱作 Service Oriented Architecture (SOA)。SOA 就是說一切皆服務。傳送簡訊的捐贈組織應用程式是服務。放射科也是一個服務,它根據需要 進行放射檢查。在 SOA 中,任何公開服務的應用程式都是服務提供者,要求、請求或使用服務 的應用程式都是服務使用者。
圖 1 顯示服務提供者和服務使用者串連到 HSB:
圖 1. 服務提供者和服務使用者串連到 HSB
請注意 圖 1 顯示三個服務提供者串連到 HSB:Insurance Company Portal、Donor Group 和 Radiology Department 應用程式。HSB 應當能將服務使用者串連到內部和外部的服務提供 者,以便它們能相互操作。在 圖 1 中,Radiology Department 應用程式在醫學機構內部; Donor Group 和 Insurance Company Portal 應用程式在醫學機構外部。