天天看點

企業服務總線需求說明

??

企業服務總線需求說明

Enterprzise Service Bus

1     ESB的主要作用

ESB主要解決多終端多系統的互相調用問題,降低系統間的耦合,增加可維護性。

企業服務總線需求說明

 2     ESB的核心需求

ESB的核心需求主要包括:服務調用與資料适配、服務管理、服務安全、服務監控。

2.1   服務調用與資料适配

支援系統間進行互相的服務調用,系統間資料協定互相獨立,通過資料适配能夠自動實作系統資料與ESB資料的傳輸轉換。

企業服務總線需求說明
企業服務總線需求說明

支援單個服務調用,多個服務調用(組合服務)。

2.2   服務管理

服務管理功能主要包括服務的注冊、釋出、版本控制以及服務資訊維護功能。

企業服務總線需求說明

2.2.1      服務的屬性

業務系統需要與其它業務系統之間進行通信,是由ESB平台提供資料接口的服務進行,業務系統在使用服務前必需先進行注冊,并在服務有效的期間内。

2.2.2      服務的注冊

服務必須先進行注冊,記錄詳細的服務描述資訊。

服務由管理者來統一行進管理,服務的功能包括:增加(注冊)、修改(變更)、删除、查詢。

2.2.3      服務的釋出

服務釋出後,才能提供外部通路。

服務通過修改狀态來控制是否向外釋出,也可以通過時間段來控制服務的有效期(這個主要是針對平台向第三方公司提供的時效性服務)。

2.2.4      服務的版本控制

支撐同一服務多個版本的控制。

由于業務系統的開發進度等其它原因,引起資料接口版本的資料結構或資料源不同。服務的版本由管理者來控制,版本名稱由管理者填寫。服務版本的功能包括:增加、修改、删除、查詢。

2.2.5      服務規則緩存

為了提高效率,系統初始化時,從資料庫的路由關系表中讀取路由關系,通過定義緩存接口,将其路由關系表資訊寫入緩存。

當路由關系表資訊發生變更時,手動發送路由關系修改通知到修改緩存,重新讀取服務路由關系表,重新整理服務路由緩存。

2.2.6      服務資訊管理

服務資訊的增删改查功能,以及資訊的分類管理。

服務資訊分類可以是多級分類結構的樹結構

2.3   協定轉換

不同業務系統之間的資料交換

不同的業務系統可能會使用不同的協定傳遞消息,ESB平台提供不同的接口類型以适應不同的入口協定或者出口,協定的轉換在ESB平台的内部封裝完成,不需要在接入系統做相關修改。該平台支援的協定包括WEBSERVICE和HTTP等。

2.4   服務安全

建立良好的安全通路機制,保證安全性。

以服務資料作為基礎,構成業務系統需要的資料流轉的路由,每個請求都需要判斷所發起的請求是否合法,否則應反應相應的代碼說明“不允許該請求”。請求接入時要進行的驗證。

2.4.1      驗證流程

企業服務總線需求說明

通路授權驗證

對URL參數_lic值的有效性進行驗證,_lic和_valid一般是服務處理方提供,相當于使用者/密碼的概念。

參數簽名驗證

對URL參數_sign值的有效性進行驗證,用于防止資料傳輸過程中被攔截篡改,_sign的生成校驗規則請看下文。

業務資料驗證

具體業務級别的驗證,根據服務路由規則的配置,讀取服務路由關系驗證。

2.5   服務監控   

監控每個服務的調用,寫入監控日志,為日後的服務調用分析、調優提供資料支撐。

服務監控,記錄每個服務排程的過程相關的屬性,以便以後系統的更新改造等提供可靠性的資料分析。

2.6   非功能性需求

2.6.1      高性能

支撐高通路量的服務調用請求,建立良好的緩存、隊列等機制。

組建一個高性能的資料排程的隊列。定義作業排程的隊列(List<WorkItem>),利用新線程進行配置設定資源,避免堵死。可視化設定隊列的等待的數量或等待數量自動适應(Auto)。

針對不同服務的業務要求,設定是否需要開啟緩存,并統一設定緩存的生命周期。根據服務的排程的條件,把需要緩存的資料記錄到一個緩存組(以Hastable)類型存儲,有利于提高索引的效率。

2.6.2      擴充性

具有良好的擴充性,為日後的功能控制提供支撐。

2.6.3      可維護性

提供可視化、靈活的配置管理。

建立ESB控制台,用來控制整個ESB平台的功能。

3     通用功能元件

ESB的為服務的統一接入提供良好的支撐,在ESB上進一步接入封裝更多的通用功能元件能夠較少各個系統重複功能的開發。

3.1   系統日志

3.1.1      業務日志

支援多系統、多業務,根據資料量自動進行資料分表(按月或按日)。

3.1.2      維護日志

支援多系統、多業務,根據資料量自動進行資料分表(按月)。

3.1.3      錯誤日志

支援多系統錯誤日志記錄,根據資料量自動進行資料分表(按年)。

3.2   計劃任務

支援由周期時間或指定時間驅動的任務排程,觸發執行指定的服務。

支援計劃任務的可視化配置管理。

例如:

每月1号調用報表服務生成月營運報表。

3.3   事件管理

能夠監控制定的業務類型,當發生業務時自動産生對應的事件,觸發指定的服務。

支援事件的可視化配置管理。

當新稽核通過一個學生檔案的新增時,自動調用服務,為該學生開通會員賬号。

收集各業務系統的業務需求,确定需要制訂的事件,後續再進行事件開發。事件以元件方面作為功能擴充實作,并增加事件觸發時所産生的過程記錄,友善以後統計管理及問題排查。

繼續閱讀