• 沒有找到結果。

資料整合代理人類別

在文檔中 中 華 大 學 (頁 74-81)

第五章 物件導向式資料整合系統設計

5.1 資料整合系統設計

5.1.1 資料整合代理人類別

在第三章的資料整合架構中,有提到各個代理人所負責的工作與特性,為了 達到這個構想,我們將所有整合代理人每一個當成單一的一個物件(Object),類別 圖就記錄著和自身相關的整合資訊。在整合架構中,只會有一個訊息仲介代理人 負責接收與傳送整合相關之訊息,而每個資料庫各由資料庫駐守代理人負責監 控,資料庫端監控分成兩種,一為交易記錄檔,別一為資料庫定義,所以設計由 資料處理代理人和定義偵測代理人分別負責監控與偵測,再透過物件導向的特性 將各個不同整合代理人與仲介代理人串連起來了,就成了一個自動化整合代理人 的架構了,如圖5.2 所示。因代理人類別為本研究之重要部分,故接下來我們只 用表列方式列出有關Agent 類別部分之屬性(Attribute)和方法(Method)之說明,而 其他部分則不會列表說明。

Agent Ref _MessageQueue CheckDeliv ery Time

transf ormMessage() getRef _MessageQueue()

DB Updater

updateDB()

decodeSy nchroizationMessage()

DB Monitor

monitoringDB()

encodeSy nchronizationMessage() DB Transaction Agent

DBConnectionName DBConnectionUser DBConnectionPassword Ref _DBSA

Ref _DBMonitor Ref _DBUpdater

getRef _DBUpdater() getRef _DBMonitor() setDBconnectionName() setDBconnectionUser() setDBconnectionPassword()

*

1 *

1

DBDef inition Processor

createDBDef inition() maintainDBDef inition() deleteDBDef inition()

Schema Detector

detectDBSchema() encodeSchemaMessager() f indFieldDef inition() DB Schema Agent

Ref _DBTA Ref _DBDef inition Ref _SchemaDetector Ref _DBDef initionProcessor

getRef _DBDef initionProcessor() getRef _Schemadetector() getRef _DBDf inition() 1

1 1 1

1 *

* 1

DB Monitering Agent MonitorFrequency MonitorPath DBTy pe Ref _MBA

adjustFrequency () getRef _MBA()

AutoSchemaAnaly st

matchSchema() decodeSchemaMessage() generationFieldRelationship()

AutoSy nchronizer

encodeSy nchronizationMessage() decodeSy nchronizationMessage() processSy nchronizationMessage() Message Brokering Agent

Ref _AutoSchemaAnaly st Ref _AutoSy nchronizer Ref _AllFieldDef inition

SetInitial()

getRef AutoSchemaAnaly st() getRef AutoSy nchroizer() getRef _AllFieldDef inition() setRef _AllFieldDef inition() addDB()

deleteDB()

* 11

*

*

1

1 * 1

*

1 *

1 *

1

* 1

1 *

*

圖5.2 整合代理人類別圖

在整合代理人類別圖中,可以看出類別DBMA 和 MBA 繼承了他們的父類別 (super class)Agent,而 DBTA 和 DBSA 也同樣繼承了父類別 DBMA,繼承提供分 享其Agent 和 DBMA 屬性和方法;而 MBA、DBTA 和 DBSA 各分別包含了 Auto Schema Analyst、Auto Synchronizer、DB Updater、DB Monitor、DBDefinition Processor 和 Schema Detector。接下來分別介紹各個類別功能(參見表 5.1)並且詳細 說明屬性及方法的用法。

表5.1 整合代理人類別功能說明表

類別名稱 功能說明

Agent 為各個不同功能之整合代理人做為一個基礎型之類別,

依其工作內容來分類 Message-Brokering

Agent(MBA) 傳遞同步化整合資訊和自動化分析異動對映資訊 AutoSchemaAnalyst 負責分析資料庫定義、訊息物件解譯和建立各欄位間關

AutoSynchronizer 負責訊息物件的包裝、解譯和分析同步化對象 DB Monitering

Agent(DBMA)

負責資料庫端資料異動監控和資料庫定義偵測,為資料 處理和定義偵測代理人做一個基礎型之類別,未來加進 不同類型之資料庫,可以設計出不同之資料處理和定義 偵測代理人

DB Transaction

Agent(DBTA) 負責新新資料庫資料和監控與分析資料庫之異動 DB Updater 負責解譯同步訊息物件和更新資料庫之資料 DB Monitor 負責監控資料庫異動和同步訊息物件的包裝 DB Schema

Agent(DBSA) 負責偵測資料庫定義並分析維護資料庫定義之異動 DBDefinition

Processor 負責產生並維護資料庫定義物件

Schema Detector 負責偵測分析資料庫定義、產生定義訊息物件和查詢欄 位物件相關資訊

● Agent

主要為各個不同的功能之整合代理人做為一個基礎的Agent,主要是依代理人 所負責的工作劃分出來,設定為以後可擴充不同任務類型之整合代理人,其 屬性及方法的功能詳見表5.2。

表5.2 Agent 功能說明

Agent 名稱 功能

Ref_MessageQueue 記錄Message Queue 類別 Attribute

CheckDeliveryTime 記錄用來判斷傳送訊息時間 transformMessage( ) 傳送訊息物件

Method

getRef_MessageQueue( ) 取得鏈結到 Message Queue 類別

● MBA

繼承Agent 類別,是和 DBMA 傳遞整合資訊和分析異動對映資訊的主要部分,

在資料整合的管理介面中,可以新增或是刪除欲整合之資料庫;並且還包含 了AutoSchemaAnalyst 和 AutoSynchronizer 的類別,分別負責了同步資料整合 和自動化的資料庫定義分析。AutoSchemaAnalyst 務任有分析資料庫定義、定 義訊息物件解譯和建立各個欄位間之關係,而AutoSynchronizer 主要工作為同 步訊息物件的包裝、解譯和分析同步化對象。其屬性及方法的功能詳見表5.3、

表5.4 和表 5.5。

表5.3 Message Brokering Agent 功能說明

MBA 名稱 功能

Ref_AutoSchemaAnalyst 記錄AutoSchemaAnalyst 類別 Ref_AutoSynchronizer 記錄AutoSynchronizer 類別 Attribute

Ref_AllFieldDefinition 記錄所有FieldDefinition 類別 SetInitial( ) 設定整合系統初始資訊

addDB( ) 新增整合資料庫

deleteDB( ) 刪除整合資料庫

setRef_AllFieldDefinition( ) 設定 FieldDefinition 類別

getRef_AutoSchemaAnalyst( ) 取得鏈結到 AutoSchemaAnalyst 類別 getRef_AutoSynchroizer( ) 取得鏈結到AutoSynchroizer 類別 Method

getRef_AllFieldDefinition( ) 取得鏈結到 FieldDefinition 類別

表5.4 AutoSchemaAnalyst 功能說明 AutoSchema

Analyst 名稱 功能

matchSchema( ) 分析資料庫定義

decodeSchemaMessage( ) 解譯Schema Message 類別 Method

generationFieldrelationship( ) 建立 FieldDefinition 間之關係

表5.5 AutoSynchronizer 功能說明 Auto

Synchronizer 名稱 功能

encodeSynchronization( ) 產生 Synchronization Message 物件 decodeSynchronization( ) 解譯 Synchronization Message 類別 Method

processSynchronization( ) 分析出同步化對象

● DBMA

繼承Agent 類別,主要在處理資料庫端負責監控資料異動和資料庫定義的自動 化偵測,並且會根據異動記錄適性調整監控頻率。目前只針對關聯式資料庫,

未來可對每一種資料庫類型做一種,所以加入異質資料庫時,可以針對新的 資料庫再寫別一種監控的方式。其屬性及方法的功能詳見表5.6。

表5.6 DB Monitering Agent 功能說明 DB Monitering

Agent 名稱 功能

MonitorFrequency 記錄偵測頻率時間 MonitorPath 記錄監控之檔案路徑 Attribute

Ref_MBA 記錄Message Brokering Agent 類別 adjustFrequency( ) 設定調整偵測頻率

Method

getRef_MBA( ) 取得鏈結到Message Brokering Agent 類別

● DBTA

繼承DB Monitering Agent 類別,此類別包含了 DB Updater 和 DB Monitor 類 別,分別負責了更新資料庫資料和監控分析資料庫資料之異動,其屬性及方 法的功能詳見表5.7、表 5.8 和表 5.9。

表5.7 DB Transaction Agent 功能說明

DBTA 名稱 功能

DBConnectionName 記錄連結資料庫本身的名稱 DBConnectionUser 記錄連線所用的使用者名稱 DBconnectionPassword 記錄連線的密碼

Ref_DBSA 記錄DB Schema Agent 類別 Ref_DBMonitor 記錄DB Monitor 類別 Attribute

Ref_DBUpdater 記錄DB Updater 類別 setDBConnectionName( ) 設定資料庫連線名稱 setDBConnectionUser( ) 設定連線使用者名稱 setDBconnectionPassword ( ) 設定連線密碼

getRef_DBUpdater( ) 取得鏈結到DB Updater 類別 Method

getRef_DBMonitor( ) 取得鏈結到DB Monitor 類別

表5.8 DB Updater 功能說明

DB Updater 名稱 功能

updateDB( ) 更新資料庫資料 Method

decodeSynchroizationMessage( ) 解譯 Synchronization Message

表5.9 DB Monitor 功能說明

DB Monitor 名稱 功能

monitoringDB( ) 監控資料庫異動

Method encodeSynchronizationMessage( ) 產生 Synchronization Message 物件

● DBSA

繼承DB Monitering Agent 類別,此類別包含了 DBDefinition Processor 和 DBDefinition Detector 類別,分別負責了資料庫定義之偵測分析和維護,其屬 性及方法的功能詳見表5.10、表 5.11 和表 5.12。

表5.10 DB Schema Agent 功能說明

DBSA 名稱 功能

Ref_DBTA 記錄DB Transaction Agent 類別 Ref_DBDefinition 記錄DBDefinition 類別

Ref_SchemaDetector 記錄Schema Detector 類別 Attribute

Ref_DBDefinitionProcessor 記錄DBDefinition Processor 類別 getRef_DBTA( ) 取得鏈結到DB Transaction Agent

類別

getRef_DBDefinition( ) 取得鏈結到DBDefinition 類別 getRef_SchemaDetetor( ) 取得鏈結到Schema Detector 類別 Method

getRef_DBDefinitionProcessor( ) 取得鏈結到 DBDefinition Processor 類別

表5.11 DBDefinitionProcessor 功能說明 DBDefinition

Processor 名稱 功能

createDBDefinition( ) 產生DBDefinition 物件 maintainDBDefinition( ) 維護資料庫定義物件 Method

deleteDBDefinition( ) 刪除DBDefinition 物件

表5.12 SchemaDetector 功能說明 Schema

Detector 名稱 功能

detectDBSchema( ) 偵測分析資料庫定義 encodeSchemaMessage( ) 產生Schema Message 物件 Method

findFieldDefinition( ) 查詢FieldDefinition 物件

在文檔中 中 華 大 學 (頁 74-81)