共用事件基礎架構讓事件的處理更為容易。
執行這項作業的原因和時機
共用事件基礎架構 會提供產生、傳送、持續保存和消費事件的機能,但不定義實際的事件。當您規劃如何在系統設計中使用事件基礎架構時,您必須瞭解相關的商業概念,並將它們對映至適當的系統設計元件。您應該在事件來源和事件使用端架構的環境定義中,定義事件類型和事件群組,藉此提供事件管理的語意。
這項作業的步驟
- 識別每一個事件來源。 事件來源是指建立該事件的應用程式。事件來源會把事件物件傳遞到事件基礎架構。
事件基礎架構也會把事件物件存放在資料庫中,等待稍後擷取。
事件基礎架構的角色,是把事件物件傳遞給任何在收到它之後表示有興趣的應用程式。
- 識別每一個事件使用端。 事件使用端是指可以使用事件物件所含資訊的應用程式。事件使用端通常是從一些事件來源選擇事件加以處理。
- 識別事件相互關係領域的階層,以及這些領域的 ID。 事件使用端可以利用事件相互關係領域來建立事件的相互關係。
ECSEmitter 類別會將事件相互關係領域的現行 ID 和母項 ID 儲存在每個事件中,以支援相互關係領域的階層。
註: ECSEmitter 和相互關係領域功能是經由「事件服務」來提供,而非經由共用事件基礎架構本身。
比方說,商業程序執行語言 (BPEL) 活動會開啟現行活動的相互關係領域,以活動實例 ID 來識別活動。
母項相互關係領域是指代表執行活動之程序實例的相互關係領域。
母項相互關係領域是由程序實例 ID 所識別。
- 識別每一個事件群組。 事件群組會定義某一類使用端有興趣之所有事件所能包含的性質(內容值)。它會指派原則(例如,存取控制和分送規則)給事件群組,來自訂每一個使用者群組的事件基礎架構行為。
範例
WebSphere 會提供預設的事件群組,這個群組被定義要包含所有的事件。這個事件群組稱為事件群組清單,
其 Java 命名和目錄介面 (JNDI) 名稱是 com/ibm/events/configuration/event-groups/Default。
下圖將示範這些物件之間的關係:
圖 1. 事件來源(負責建立事件)、事件使用端(負責使用事件資料)以及事件群組(負責定義每一類事件的性質和相關原則)的架構。