• 沒有找到結果。

中 華 大 學

N/A
N/A
Protected

Academic year: 2022

Share "中 華 大 學"

Copied!
110
0
0

加載中.... (立即查看全文)

全文

(1)

中 華 大 學 碩 士 論 文

題目:運用代理人於訊息仲介之企業資料整合機制 An Agent-Based Message-Brokering Architecture for

Enterprise Data Integration

系 所 別:資訊管理學系碩士班 學號姓名:M09110016 陳 威 臣 指導教授:王 素 華 博 士

中華民國 九十四 年 七 月

(2)
(3)
(4)
(5)
(6)

摘要

掌握企業內多變資訊是電子商務重要環節,也是提昇企業競爭力關鍵成功因 素之一。一般企業以資訊科技支援工作流程已有相當歷史,企業中各部門開發應 用程式多獨立設計以符合需求,造成相同資料可能存在不同資料庫而衍生出資料 不一致問題。企業應用整合即是將企業內部應用系統整合,提供不同應用程式彼 此溝通並分享資訊之技術,而資料整合是導入企業應用整合的一個重點。本研究 提出企業資料一致性自動整合機制,運用物件導向設計,並結合企業應用整合概 念和智慧型代理人技術,主要目的在於及時、自動、正確地將企業內資料同步化,

提供正確且及時的資訊給決策者,改善因資訊傳遞錯誤與延遲所帶來的損失,以 供決策者面對快速變遷的市場做即時且正確的策略。

此研究架構以代理人為運作基礎包含集中式訊息仲介代理人和分散在各資 料庫端之資料處理代理人和定義偵測代理人。資料庫訊息仲介代理人在系統初始 時由定義偵測代理人取得所有資料庫定義,並適性化調整偵測週期偵測資料庫定 義是否異動,分析出異動對映資訊。分散各資料庫之資料處理代理人也適性化調 整偵測週期以監控資料庫異動並發出異動訊息至訊息仲介代理人,訊息仲介代理 人運用訊息佇列管理來自各地異動訊息,並參照異動對映資訊向需要更新之資料 庫所屬資料處理代理人提出更新要求。

為驗證本研究架構之可行性,我們以模擬實驗的方式進行評估,而在實作與 實驗結果顯示,以適性化調整監控頻率之代理人導入資料整合系統,確實可以更 及時與完整偵測出資料庫異動的發生,並且也確實的同步更新資料庫資料。藉此 運作模式,使企業能快速且及時的達成資料自動整合之目的,讓企業管理者在龐 雜且變化無常之資訊中,仍能輕鬆掌握最新訊息與趨勢,並做出適當之因應決策。

關鍵字:企業應用整合、資料一致性、中介軟體、智慧型代理人、物件導向

(7)

Abstract

As electronic commerce shows a new direction for businesses, the ability to rapidly adapt to change has become a competitive requirement for most businesses.

Many businesses face the growing problem of data chaos, which is usually a result of the accumulation of disparate data through the years. This could lead to the problem of data inconsistency. Enterprise Application Integration (EAI) is a new business solution by combining the existing applications and the new code, so that information can be shared. Data integration is often the entry point of enterprise integration.

This research proposes to construct a framework that integrates the enterprise data of various sources through a message brokering mechanism. Intelligent agents are utilized as the major components for brokering messages among different applications.

The object-oriented definition is then used for the later implementation of agents.

Unlike the traditional messaging systems, message brokers increase the scalability and provide a better mechanism for dealing with failures.

The basic components of this architecture are Message-Brokering Agents, DB Schema Agents, and DB Transaction Agents. Message-brokering agents handle the messages between different DB agents. The DB schema agents monitor schema changes and notify the message-brokering agent. DB transaction agents detect database changes based on adaptive frequency and update database based on messages from the message-brokering agent. With this messaging architecture, the enterprise can integrate business information efficiently and effectively.

Keyword:Enterprise Application Integration, Data Consistency, Middleware,

Intelligent Agent, Object-oriented

(8)

目錄

摘要...I Abstract... II 目錄... III 圖目錄...VII 表目錄...IX

第一章 緒論 ... 1

1.1 研究背景...1

1.2 研究動機與問題定義...2

1.3 研究目的...3

1.4 研究範圍與限制...4

1.5 研究流程...5

1.6 章節導讀...6

第二章 文獻與技術探討 ... 7

2.1 企業應用整合...7

2.1.1 企業應用整合起源...7

2.1.2 企業應用整合定義...9

2.1.3 中介軟體和企業應用整合...10

2.1.4 企業應用整合類型...11

2.1.4.1 介面層級EAI ...11

2.1.4.2 資料層級EAI ...12

2.1.4.3 流程層級EAI ...12

2.1.5 企業導入企應用整合之優點...13

2.2 整合相關技術...14

(9)

2.3 訊息導向技術介紹...15

2.3.1 MOM...15

2.3.2 Publish/subscribe messaging...16

2.4 智慧型代理人...18

2.4.1 代理人定義...18

2.4.2 代理人特性...19

2.4.3 代理人應用類型...20

2.5 物件導向軟體設計...21

2.5.1 物件導向設計特性...21

2.6 企業資料整合相關研究...22

第三章 自動化資料整合系統架構 ... 24

3.1 企業資料整合概念說明與問題分析...24

3.2 運用智慧型代理人之企業資料一致性整合架構...25

3.2.1 整合代理人類別...26

3.2.2 資料整合系統功能架構...28

3.2.2.1 資料處理代理人模組...29

3.2.2.2 定義偵測代理人模組...31

3.2.2.3 訊息仲介代理人模組...31

3.3 整合代理人互動模式...33

3.3.1 集中式分析資料庫定義...33

3.3.2 協調式同步化資料...34

3.3.3 合作式維護異動對映資訊...36

第四章 自動化企業資料一致性整合機制 ... 43

4.1 分層處理整合機制...43

4.2 資料同步化流程...44

4.2.1 傳輸層...45

(10)

4.2.2 轉換層...46

4.2.3 對映層...48

4.2.4 更新層...48

4.3 資料庫偵測與監控...49

4.3.1 分析交易記錄檔...49

4.3.2 資料庫異動週期更新...52

4.4 異動對映資訊分析與維護...54

4.4.1 異動對映資訊之分析...54

4.4.2 異動對映資訊之維護...56

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

5.1 資料整合系統設計...58

5.1.1 資料整合代理人類別...59

5.1.2 訊息類別...66

5.1.3 對映資訊類別...67

5.2 自動化資料整合系統設計流程說明...70

5.2.1 自動化異動對映分析...71

5.2.2 資料同步化...73

第六章 系統建置、模擬與評估 ... 76

6.1 實作平台...76

6.1.1 資料庫MySQL...76

6.1.2 程式語言JAVA...77

6.1.3 整合環境設定...77

6.1.4 系統展示...79

6.2 實驗與評估...80

6.2.1 模擬資訊...81

6.2.2 實驗評比對象和流程...83

(11)

6.2.3 實驗評估維度...84

6.2.4 模擬執行環境...85

6.2.5 資料定義...85

6.2.6 實驗結果分析與結論...86

第七章 未來展望與結論 ... 88

7.1 結論...88

7.2 未來研究方向...89

參考文獻... 91

中文文獻...91

英文文獻...92

(12)

圖目錄

圖1.1 研究流程圖...5

圖2.1 傳統點對點與EAI整合概念...10

圖2.2PUBLISH/SUBSCRIBE運作機制示意圖...16

圖3.1 企業資料整合概念圖...24

圖3.2 智慧型代理人之企業資料一致性整合概念圖...26

圖3.3 整合系統功能架構圖...29

圖3.4 資料庫定義分析說明流程圖...34

圖3.5 資料同步化說明流程圖...35

圖3.6 新增資料庫流程圖...37

圖3.7 刪除資料庫流程圖...38

圖3.8 資料更新異常流程圖...39

圖3.9 資料比對異常流程圖...40

圖3.10 定義更新通知流程圖...41

圖4.1 整合分層概念圖...44

圖4.2MYSQL資料庫之TRANSACTION LOG範例圖...50

圖4.3 分析交易記錄檔流程圖...51

圖4.4 監控頻率週期公式...52

圖4.5 更新週期範圍圖...53

圖4.6 資料庫定義格式說明與分析流程圖...55

圖4.7 異動對映資訊分析流程圖...56

圖5.1 自動化資料一致性整合系統類別圖...59

圖5.2 整合代理人類別圖...60

圖5.3 整合訊息類別圖...66

(13)

圖5.4 異動對映資訊類別圖...68

圖5.5 異動對映資訊分析示意圖...69

圖5.6 異動對映資訊分析流程循序圖...71

圖5.7 資料同步化流程循序圖...73

圖6.1 模擬資料庫之DATABASE SCHEMA...78

圖6.2 整合系統設定相關資訊...79

圖6.3 整合系統執行資料整合作業...80

圖6.4 指數分配算式...81

圖6.5 模擬更新時機...82

圖6.6 模擬資料頻率分佈圖...83

圖6.7 模擬流程圖...83

圖6.8 異動及時度比較圖...86

(14)

表目錄

表2.1 代理人相關應用類型...20

表2.2 資料整合相關研究...23

表3.1 整合代理人工作與特色說明...28

表3.2 整合代理人互動模式說明表...33

表3.3 異動對映維護分析表...36

表4.1 同步作業流程各層說明...45

表4.2 訊息傳遞方法...46

表4.3 定義訊息格式說明...47

表4.4 同步訊息格式說明...47

表4.5 資料運算指令意義說明...50

表4.6 運算指令語法說明...51

表4.7 異動對映資訊異動類型說明...57

表4.8 動類型作法說明...57

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

表5.2AGENT功能說明...62

表5.3MESSAGE BROKERING AGENT功能說明...62

表5.4AUTOSCHEMAANALYST功能說明...63

表5.5AUTOSYNCHRONIZER功能說明...63

表5.6DBMONITERING AGENT功能說明...63

表5.7DBTRANSACTION AGENT功能說明...64

表5.8DBUPDATER功能說明...64

表5.9DBMONITOR功能說明...64

表5.10DBSCHEMA AGENT功能說明...65

(15)

表5.11DBDEFINITIONPROCESSOR功能說明...65

表5.12SCHEMADETECTOR功能說明...65

表5.13 資料整合流程說明...70

表6.1 評估維度定義表...84

表6.2 代理人行為記錄表...85

表6.3 模擬測試資料表...86

表6.4 綜合比較表...87

(16)

第一章 緒論

應用系統整合對企業來說並不是新的需求,然而整合的複雜度與困難度卻隨 著整體商業經營環境的善變日益加深。現今企業普遍面臨的問題是有價值的商業 資訊被儲存在不同時空背景下所購置的不同應用系統中,也由於傳統之整合方法 無法以最有效率的形式將資訊充分地整合,往往使企業錯失許多商機。本研究旨 在提出一種自動化企業資料一致性整合方式,能夠使企業建置一個快速且及時的 達成資料自動整合架構。本章將從研究的背景與動機談起,探討本研究的目標與 方法,最後簡單說明本論文各章節的內容架構。

1.1 研究背景

資訊科技導入與應用以及網際網路興起,使得企業在面對快速變遷、高度競 爭、講求客戶價值之競爭環境,迅速適應變化之能力正成為大多數企業所具有競 爭力的要求[Gold04 ]。而一般企業以資訊科技支援工作流程已有相當歷史,企業 中各部門開發應用程式多獨立設計以符合需求[Ruh01],造成相同資料可能存在不 同資料庫而衍生出資料不一致問題,例如在存放某個客戶的資本資料和訂貨資料 裡記錄著是同樣的客戶編號但確記錄著不同的客戶名稱。企業管理者做決策時,

如果可以取得整個企業裡面的資訊來參考,每一個接洽客戶的管道都可以得到正 確、完整且統一客戶資料,完整的產品資訊,包含數量、地點、供應商等,方便 採購工作和貨源分析,使得企業可以建立一個順暢供應鏈,使企業置身於電子商 務時代,便可以無往不利。

因此企業企圖透過整合性應用系統的建置,來提升企業面對競爭時的效率,

並且支援整個企業流程。而整合新和舊、客製和套裝、內部和外部之應用系統對 大多數的企業來說是越來越重要。儘管整合不是一個新的問題,要如何有效整合

(17)

資訊系統,並沒有一種最快速的整合技術。現存技術的差異和獨立應用系統造成 另外複雜的問題。從前到現在,有許多各式各樣不同的整合技術和架構被提出 來,整合的議題不斷被討論著,傳統點對點整合方法,只考量應用程式間特殊介 面設計,導致企業整合成本過高與整體效率過低的現象,企業既置身於電子商務 時代,應跳脫以往所採用傳統的點對點整合方法,以整體的觀點使用集中式的整 合平台,企業應用整合即在此概念下產生,提供讓不同應用程式彼此溝通並分享 資訊的技術,使企業裡的資源得以整合。

1.2 研究動機與問題定義

在企業的資訊技術應用中,多種樣式的應用系統都擁有各自的資料庫,且形 成資料的分隔[Lubl01]。而這些獨立應用系統各自被獨立的用不同的技術開發出 來,所以獨立應用系統的資料來源經常是被隔離,並且有著某種程度的重複性。

由於很多獨立應用系統在各部門內存在著一些問題,所以大多數的企業認為,組 織內的資訊系統第一個關鍵步驟應該是資料整合。而資料整合機制主要的目標就 是為了將在不同資料來源中資料分享出來,以供商業資訊相關的應用系統使用。

資料整合之目的是為使企業的狀態公諸於其他成員,使成員能夠洞悉其中資 訊並有所交流,如此提供了最為即時可靠的資訊,當企業制定決策之際,得以充 份地藉由資料整合所得之資訊為基礎,作出最為正確的決策,以獲企業競爭力。

基於上述,可以知道資料整合之機制能夠幫助企業將具有商業價值資訊分享 出來,但我們要瞭解資料整合本身之意義,才能設計出一個好的資料整合機制。

而資料整合意即收集、彙整和分享的一連串的程序,面對分散、異質的資料來源 時,即時性的資料整合將會更為困難。而根據幾個學者研究顯示,一般進行資料 整合時,其資料庫定義之分析以往都是用人工之方式產生出來的,其資料庫異動 監控也是一個探討的重點,還有運用何種方式讓分散之接收到資料同步。為了設

(18)

計出能夠幫助企業進行資料整合一個完善之架構,所以發掘出下列問題。

z 如何自動化取得並分析分散資料庫之資料庫定義?

z 如何得知分散資料庫是否有資料異動與處理資料同步問題?

因此如果能找出解決方法或技術,能夠自動化分析資料庫定義與處理資料異 動和同化化問題,就可以設計一個幫助企業進行自動化資料整合架構。

1.3 研究目的

本研究期能在資料重複分散情況下,順利地完成資料一致性整合任務,協助 企業管理者對於掌握最新、正確資訊的需求。所以根據前節所述之問題與動機為 考量,提出一套自動化企業資料一致性整合之架構,我們運用企業應用整合概念 和訊息傳遞方法,並以多代理人角度切入,其主要目的有下列三個。

一、自動化分析資料庫定義

利用代理人做自動化比對分析資料庫定義,期望產生一個自動化整合機 制,自動建立資料對映,降低人工參與程度,以期大幅提升資料庫加入時平 台作業的效率。

二、適性化監控資料庫異動

利用多代理人之間自主性和合作監控的方式,且能彼此協調以及時地、

不斷地、完整地監控異動資訊,並進行後續的追蹤分析異動頻率,進而影響 代理人監控頻率,避免過度偵測,造成系統資源浪費。

三、及時地處理資料同步化

利用代理人分析異動訊息,並參考自動建立之資料對映,運用

publish/subscribe 訊息運作模式,多代理人透過訊息傳送方式,以完成資料一

(19)

致性要求。

所以我們提出自動化企業資料一致性整合架構,以期讓企業能快速且及時的 達成資料自動整合之目標,讓企業管理者在龐雜且變化無常之資訊中,仍能輕鬆 掌握最新訊息與趨勢,並做出適當之因應決策。

1.4 研究範圍與限制

本研究範圍以資料整合機制為主,並探討與整合相關技術,如企業應用整合 概念與智慧型代理人技術,且透過本論文所設計之代理人整合機制,進而達到自 動化資料整合之功能,所以本研究限制共有二個,其說明如下。

一、整合資料庫類型為關聯式資料庫

本研究所整合之資料庫類型以關聯式資料庫為主。在資料庫方面有分成 關聯性資料庫(Relational Database)、文件式資料庫(Document-Base Database) 和物件導向式資料庫(Object-Oriented Database )等,而關聯式資料庫的發展由 來已久,且企業裡大多採用關聯式資料庫,所以目前在本研究中用關聯式資 料庫來進行資料整合研究。

二、資料庫定義分析不考量語意分析

考量到分析資料庫定義時,所牽涉範圍過大,所以只考量相同語意分 析,因為其中又牽涉到不同的資料庫類型,導致會出現異質資料 (data heterogeneity)和異質語義(semantic heterogeneity) [Haki01]。異質資料就是不 同資料庫裡的資料定義(data definitions),如資料型態(type)、格式(format)等;

而異質語義不同的資料庫定義(database schema)有不同名稱或是相近的意 思,而有人提出語義(semantic)分析來決解這樣的問題。例如:Cruz and Rajendran 提出階層對映模型(hierarchical mapping model)上的整合理論

(20)

[Cruz03]。所以為了簡化分析之過程,故在本研究整合環境中假設只存在相 同的資料定義。

1.5 研究流程

本研究在瞭解目前現況並確定研究方向後,開始蒐集國內外資料整合相關文 獻,包括企業應用整合、中介軟體、訊息傳遞類型和智慧型代理人等資料為理論 基礎,再進行整合與分類,思考其間的缺失改善方法及其中與資料整合相關的技 術應用。根據上述提出一個資料一致性整合機制與資料整合架構,再利用物件導 向設計模式來進行系統分析與設計,最後完成資料整合平台實作並驗證其可行 性。圖1.1 為本研究的研究流程圖。

企業應用 整合探討 訊息傳遞

種類探討

智慧型代 理人探討 現況探討

中介軟體 概念討探 物件導向設

計模式探討

研究問題界定

物件導向 設計分析 資料整合功 能需求分析

自動化資料整 合架構設計 自動化資料整

合機制設計

資料整合平 台機制實作 機制功能測 試與驗證 圖1.1 研究流程圖

(21)

1.6 章節導讀

本論文撰寫之架構大綱首先在下一章節中探討一些與本研究相關的文獻,包 括企業應用整合概念、訊息傳遞模式、智慧型代理人概念並於最後介紹物件導向 設計模式。在第三章將會說明本論文所提出以智慧型代理人導入之自動化企業資 料一致性整合架構,首先說明各個不同代理人如何切入資料一致性整合架構及其 扮演角色,之後詳細說明各個不同類型代理人之模組功能及其細部流程,最後解 說各個不同代理人在資料一致性整合架構中如何互動協調完成資料一致性整合 之任務。

接著會在第四章中對所設計出自動化企業資料一致性整合機制作描述,此機 制主要是為了確保整合架構之即時性與完整性,重點在於說明此整合機制運作方 式為何。整個整合機制共分為三個部分,於此章節中分別將這三個子機制流程作 詳細的描述。在第五章,重點在於說明這個架構內部物件導向設計方式。首先我 們詳細說明研究裡所提出整合代理人分類架構與其它相關之類別,再利用循序圖 來將各個代理人相關整合任務表示出來,以此架構要做到自動化企業一致性整合 的目的。

在第六章裡,則對於實際模擬之架構作驗証。我們在此章中設計了模擬異動 之資料,建構一資料整合系統該有之考量,定義了三個評估維度,亦和一般現在 的批次作業整合方式作其比較,以驗證本系統之可行性。最後在第七章,也是研 究結論的部分。本章提出研究具體成果,並且也提出未來可行的研究方向,以我 們的整合架構出發,結合資料整合的種種相關技術與概念,在我們研究設計上預 留了擴展的空間,未來可以繼續加入其他的功能,以其能有更完善的整合方式。

別外,也再一次強調本研究特性,並對這個整合環境所提供的結果作一個彙總及 結論。

(22)

第二章 文獻與技術探討

系統的整合並不是新的議題,然而整合的策略與技術卻可以隨著資訊科技的 日新月異不斷地推陳出新。在探討企業資料一致性整合架構之前,文獻與技術探 討部分,先介紹企業應用整合(Enterprise Application Integration, EAI)基本概念,

說明EAI 整合類型與優點,接著介紹一些整合技術並探討 publish/subscribe 訊息 傳遞運作模式特色,並介紹智慧型代理人技術與說明其特性,整理相關應用類 型,再來談到物件導向設計特性,最後對目前資料整合相關研究說明不足之處。

2.1 企業應用整合

EAI 主要整合的類型分別是資料、訊息和程序流程,能夠將企業內部甚至於 將外部各自獨立的系統整合起來,主要的功能在解讀並轉換來自異質系統間不同 應用程式的資料。可以清楚的知道的是,整合企業程序發展雖然做起來複雜且花 費很多但是卻能給企業提供一個很大的利益及回饋的報酬。本節中我們將會對 EAI 做一個介紹並將三種層級之 EAI 、EAI 和中介軟體(middleware)做一個比較 並且介紹目前現在的資料整合機制。

2.1.1 企業應用整合起源

近幾年來,EAI 的方向在於產生一個好用又有效率的應用系統整合,能夠整 合各種在異質環境下的硬體或軟體去執行且發展一個適用於所有不同平台之應 用程式、企業自行開發之應用程式或是商用套裝軟體系統。在企業的資訊技術應 用中,多種樣式的應用程式都擁有各自的資料庫,且形成資料的分隔(islands of data),這樣的情形會造成三個主要的結果[Lubl01]。

1. 每一個資料庫都有它自己本身擁有的企業營運目標。

(23)

2. 每一個資料庫都會有資料重複儲存的問題。

3. 沒有一個資料庫擁有整體的企業營運目標,必然要去整合多個資料庫資 料而得到整體企業營運目標。

這三方面的影響,造成資料的分隔,每個應用系統皆各自為政而無法真正達 到有效率地整合運用,造成每一個資料庫應用程式的產生只為了特定的營運目標 而設置。

在營運規則(business rule)中也會因為應用程式的部分應用功能而無法全盤地 提供公司營運的規則功能,而造成有三個主要的結果[Lubl01]。

1. 企業的每個部門只會自動的執行部分營運目標。

2. 在不同的部門區域中,同時執行了企業營運規則,造成了營運作業的重 複執行。

3. 沒有一個部門區域擁有整個公司完整的企業營運規則,而變成要為多個 部門建立共同的的營運流程。

一些企業目前已經利用人工的方式將營運流程作業重新分析再呈現出最佳 的使用營運作業流程,但是這些營運作業流程必須要能自動化運作並且也要合乎 規範。以上企業在資料儲存重複和營運作業流程重複這兩方面問題導致了以下的 問題[Lubl01]。

1. 資訊精確度(information fidelity):資料庫之間重複之企業資料會形成錯誤 的狀態,即使有定期的同步化還是會發生。

2. 企業程序(business processes):每一個應用程式都有它該負責的企業作業 流程,且它們也不知道其他應用程式的屬性和應用的方向。這樣就必須 將不同類型的應用程式整合連結起來,以提供充足的處理能力。

(24)

以上的兩個問題造成了企業對於整合應用系統的需求,解決方式就是建立多 個應用程式之間企業程序流程的整合和確保資料庫裡資料一致性,以提供企業管 理者一個正確有用的資訊去做適當合理的決策。

2.1.2 企業應用整合定義

David S. Linthicum 認為 EAI 的定義是『企業體中任兩個以上的連接應用程 式和資料庫無限制地共享彼此的資料和營運流程』。企業的基本需求是希望能夠 共享資料而不改變應用程式和資料儲存的結構[Lint99]。Boris Lublinsky 對 EAI 下 的定義是『EAI 是一種策略、技巧或是作用過程針對整合分隔的資訊和建立企業 營運流程』[Lubl01]。

Naveen Erasala 等人將 EAI 定義為藉由企業應用系統的整合促使資訊的分享 及企業流程的運作,以增加企業營運效率及提供顧客更好的服務[Eras03]。其中 EAI 所使用的整合方法乃以標準化的中介軟體架構與分散式物件技術將不同應 用程式作安全且有效率的整合[林玉凡,2000]。EAI 的核心為資訊的整合分享與管 理, Green 認為 EAI 需具備以下五種特性[Gree00]。

1. 系統整合的出發點為以企業為考量,因此包含了所有企業流程及資料的 整合。

2. 企業流程及資料的重複使用及充分散佈。

3. EAI 著重於使用者端介面而非詳細系統設計資訊。因此,EAI 所使用的 方法並不需瞭解特定系統的函式內容即可達成系統間之整合。

4. EAI 所使用的技術並不需利用到應用系統的原始程式碼或是程式管理的 權限。

5. 一般而言,EAI 所使用的技術不會對企業既有資訊硬體基礎架構造成任

(25)

何的更動。

2.1.3 中介軟體和企業應用整合

中介軟體(middleware)是一種介於應用程式邏輯及底層系統間的分散式系統 服務及應用程式開發環境[Char99]。中介軟體之興起主要是因為分散式運算架構 的發展,企業需要整合不同軟硬體平台的應用系統及資訊。中介軟體技術(如 CORBA、COM、J2EE、MOM 等)的發展,正好為企業資訊整合提供良好的解決 方案[Vino02]。

中介軟體建立出一個應用程式和底層網路溝通的標準界面,可有效降低系統 整合的複雜度,主要能夠達到更快速與可靠之整合[Medv02],如下圖 2.1 所示,

介於用戶端和伺服器之間。可讓不同種類的電腦系統互相溝通合作,不論何種通 訊協定、系統架構、作業系統及資料庫,其在於挑戰成功建立整合分散式系統。

目的則是將一個混亂的分散式網路環境,轉換成由應用層看起來是一個單純的集 中式系統,並在不改變既有的網路架構下,簡化應用層的設計。中介軟體是程序 (process)和程序間的溝通界面,所以當一方進行版本更新時,另一方並不需要隨 之重寫,因為大家都依照中介軟體的界面來制定開發標準。而值得一提的是一個 中介軟體可以架構在另一個中介軟體之上[Medv02,Yen00]。

App X

App Z

DB GUI

App Y

Point-to-point integration EAI solution App X

App Z

DB GUI

App Y

Middleware

圖2.1 傳統點對點與 EAI 整合概念

(26)

企業為何要使用EAI 來進行整合,因為傳統點對點之整合方法,會和每一個 應用程式溝通間產生一個新的API(Application Programming Interface)介面,當應 用程式增多時,要建構的API 介面程式也增多,因此往往無法滿足企業的需求並 導致整合成本過高與整體效率過低的現象。

EAI 的整合方法乃以標準化的中介軟體架構,以整體的觀點使用集中式的整 合平台,將過去不一致的應用程式間整合的方式汰換,避免使用傳統整合方法所 導致之基礎資訊軟體資源與資料大量重複的情況,以提昇企業內、外部應用系統 整合的整體效率。

2.1.4 企業應用整合類型

EAI 有三種類型,分別是介面(presentation)、資料(data)和流程(functional)三 種不同層級的整合類型,每一種層級的整合類型都有其各自考量之重點,基本 上,整合出發點不同,因此方法也不同。以下我們將針對這三個類型做簡單的說 明,並且介紹其優、缺點及適用的情況。

2.1.4.1 介面層級 EAI

介面層級EAI 處理的工作是在多個應用程式之間作介面的轉換,主要為了產 生新的統一介面來傳達要進行之工作,以使用者為導向來考量,並且要知道其介 面對映之規則。但這類之整合耦合力極高,而且沒有辦法一次完成很大的整合,

當進行此類整合需要了解應用程式內部運作邏輯、介面之分類,並且要考慮如何 進行對映的方法及實作時如何把整合資訊擷取出來。

這類之整合其優點為比較容易達成,並且有現成的技術與整合工具,需考慮 的是整合架構。其缺點為非全面性的,只針對互動模式進行整合,再者因為以新 介面和舊介面溝通,再做對映,因此效能較低,而現存的資料和邏輯可能會造成

(27)

存取時的困難,所以為所有整合類型中,後續發展空最小者。其適用情況為這類 的需求是比較表面化,而通常為使用者要求,最適合的整合就是透過介面來整合。

2.1.4.2 資料層級 EAI

資料層級的EAI 處理在多個資料庫或資料儲存系統中異動之資料。很多企業 了解到資料階層整合是企業要進入EAI 整合的一個重點。其整合過程是透過直接 存取資料來達成,在不同的資料儲存系統搬移資料過程就是進行整合動作,資料 整合之重點在建立資料的關聯性。在所有整合類型中,資料整合工具是最齊全 的,執行這一階段的EAI 整合,就像我們實際去進入資料庫讀取資料而不用去改 變應用程式的邏輯。

這類型之整合其優點為,可以提供較大之整合彈性,而在存取資料儲存系統 較容易,所以提供快迅之整合,並且有某種程度的資料重複使用性(reusability)。

其缺點為,當商業邏輯改變時,可能會發生問題,而在不同的資料庫有不同的資 料模型,進行維護時,成本很高,因為整合過程中,會有許多資料模型改變。其 適用情況,當需要分析並且做決策時,資料是來自於許多異質的資料庫時,或是 要提供多個應用程式一個共同的資訊時,或是企業要進行資料一致性維護工作。

2.1.4.3 流程層級 EAI

流程層級EAI 處理的是建立企業營運流程和整合多個企業內部的應用系統 而應用於企業的營運流程。流程之整合是透過的企業工作流程引擎,並且以工作 流程為中心,依照預先設定的流程路徑在企業之間自動完成特定的交易處理程 序,其中包含訊息的傳遞與資料的交換,讓原本獨立運行的各種應用系統可以藉 由工作流程的串聯獲得應用系統整合的最佳效益,原本各應用系統之間的區隔與 限制也可以因此大幅度降低。

(28)

這類型整合其優點為,穩定性最好,而且可解決較多問題,並可解決介面和 資料層級整合的問題,而且提供一個高程度重複使用性。其缺點為,複雜度較高,

並且需要的技術背景相對的要提高,當現實面考量,可能會有其他問題。其適用 情況為,因為了以可解決介面和資料層級整合的問題,所以兩種整合方式都可以 適用於此。

企業在進行整合時,應該透過分析出整合目標,視其需求給予適當的整合方 式來進行。本研究主要提出一個企業資料一致性整合架構,其目的就是要維持資 料之一致性,所以我們在設計資料整合架構採用資料級層之整合架構來進行整 合,可以提供較大之整合彈性,而在存取資料儲存系統較容易,所以提供快迅之 整合。

2.1.5 企業導入企應用整合之優點

EAI 的價值在於能夠有效地協助企業達到降低風險、軟體開發和維護成本的 降低並能進一步整合供應鏈廠商之間的合作關係。以下簡單地敘述EAI 對企業的 效益[林玉凡,2000]:

1. 降低企業本身既有應有程式的維護成本:企業採用 EAI 方法期望能有效 降低現有系統的維護成本,企業的系統維護成本由原先維護個別系統應 用程式到只針對整合的應用程式系統,大大地降低應用程式的維護成本。

2. 降低應用程式整合成本:企業採用 EAI 的解決方法後,就能將新的技術 快速地且容易地整合在原先的應用系統架構下。在資料分析跟應用系統 整合過程中所花費的時間跟整合成本都有顯著的降低。EAI 的解決方案讓 企業不同部門間應用程式整合更容易且也具有成本效益。

3. 增加整合的彈性:EAI 的解決方法提供彈性的整合方法以支援分散時進行 不同商業系統間的系統與資訊的整合交換。

(29)

4. 提高跨組織溝通的效率:目前企業間的合作關係越來越緊密,因此企業 導入EAI 將能有效地提昇企業間供應鏈系統跟資訊傳遞的即時性與諧調 性。

企業導入EAI 概念後,對於開發應用程式的成本將會降低,且對於新系統的 開發應用將會更容易更快速,進而縮短開發的時間。

2.2 整合相關技術

企業應用整合所牽連的相關領域知識相當繁複,不易在短時間內消化吸收,

本研究以整合機制為研究對象,研究內容為系統整合架構,而非整體企業應用系 統之整合研究。其中分散式物件(distributed object)資訊系統整合架構就是目前廣 為被大家所使用來進行資訊系統整合的熱門的技術之一。

分散式物件是一種物件導向的觀念,把所有的東西都視為物件來進行整合,

將分散在不同系統中的物件透過溝通的方式來進行整合,利用物件仲介者來尋找 所要的物件,其分散物件之特性主要有著良好的維護性和再用性,而這類之標準 如CORBA、COM 等,接下來簡單介紹這類技術相關之標準。

一、CORBA(Common Object Request Broker Architecture) [Orfa96]

是OMG(Object Management Group)這個組織在分散式計算領域中所提 出的解決方案。它提供了一個在分散式環境中物件間溝通的一般性架構。它 是以物件導向為發展系統的方法並且擁有跨越異質硬體平台及作業系統的 特性。

二、COM/DCOM[Sess97]

1992 年 Tony Williams 及 Bob Atkinson(COM 架構的創始人)定義了一個 簡單但是重要的架構,來解決微軟內部或是外部不同開發團隊所碰到的各種

(30)

問題,此即為COM 架構(Component Object Model)。COM 的特性在於它可以 用一致的方式解決許多不同的問題,COM 提供一個簡單且一致的架構讓開 發人員進行元件開發的工作。DCOM 發衽於 COM,它是一種可在遠端機器 被啟動的COM 物件,其他諸如可程式化的安全防範以及多執行緒的功能,

在DCOM 出現之前是前所未見的。

三、J2EE(Java 2 Platform, Enterprise Edition )[Hamm02]

是一個為分散式企業應用程式而設計的中介平台架構,因為JAVA 語言的 廣泛獲得採用,J2EE 也隨之快速成長,愈來愈多的技術都是屬於 J2EE 平台 的一部分,且新的APIs 和標準也都相繼被發展出來;最後,Sun 和產業界的 眾多領導廠商共同參與制訂了J2EE 平台架構規格。

2.3 訊息導向技術介紹

在分散式系統整合領域的研究中,publish/Subscribe 的資訊交換模式漸漸受到 多家訊息導向中介軟體(Message Oriented Middleware, MOM)開發者與研究者的 重視,許多的商業與研究單位中介軟體都提供這些資訊的交換模式,所以此節將 會對MOM 與 publish/Subscribe 資訊交換模型作基本介紹。

2.3.1 MOM

MOM 為一種 client/server 的基礎架構,藉由 MOM 能使得位於不同平台的應 用程式能互相溝通,增加了應用程式的互通性(interoperability)、可攜性

(portability)、靈活性(flexibility)。訊息交換程式的開發者無須去特別注意各種不同 作業系統與其不同的網路介面,MOM 會針對每種不同的作業系統和網路介面提 供了一致的程式介面(application interface),進而減低網路訊息交換程式的開發複 雜度[Korh97,Shof01]。

(31)

分散式應用程式開發人員只須專心於整的應用程式的邏輯流程、程式間的訊 息溝通流程、程式間要採取什麼樣的溝通模式(同步或非同步),至於訊息如何透 過網路底層傳送、程式位在何種作業系統平台上,則完全由網管人員透過MOM 的開發廠商所提供的管理程式來控管。

MOM 訊息的傳輸通常包含了同步(synchronous)與非同步(asynchronous)模 式,在同步模式下,訊息輸出端送出訊息後須等待回應才可繼續執行其他工作;

反之,在非同步模式下,訊息輸出端送出訊息後不須等待回應就可繼續執行其他 的工作,而非同步傳輸通常是藉由message queuing 的機制來達成。

2.3.2 Publish/subscribe messaging

Publish/subscribe 資料交換模式提供 server 以 event 或類似 event 的模式向系 統陳述它的興趣需求(interests),因此當 client 有任何的 event 產生時系統會依據 subscriber 的興趣需求決定是否通知 server[Ruh01];簡單說,publish/subscribe 資 料交換的模式存在著一個system bus(event service) [Schm97],當 client 和 server 有資料須傳送時,均由system bus 進行傳送,如圖 2.2 所示。

Client n+10

Pub-Sub Server Subscription Queue

Publication Queue

(Connection to information

Sources) Subscribe to `a`

message

Subscribe to `b`

message

Subscribe to `c`

message

Publish `c`

message

Subscription criteria messages

Publication `c`

messages Client

n

Client n+100

圖2.2 publish/subscribe 運作機制示意圖[Ruh01]

(32)

在圖的架構中,藉由system bus(event service)將 server 和 client 切割開來,可 由時間(time)、空間(space)、流程(flow)三方面來看 system bus(event service)、server 和client 三者在 publish/subscribe 資料交換模型間的關係:

1. 關於時間(time)

對於server 和 client 資料傳送時,兩者不一定要同時存在。換句話說,

當Server 對 system bus publish 資料時,client 不一定要同時也和 system bus 連接;反之亦然。

2. 關於空間(space)

對於server 和 client 資料傳送時,雙方不須知道對方的存在。因為 server publish event 是透過 system bus;相同地,client subscribe event 亦是透過 system bus。所以不須知道對方是否存在或身在何方。

3. 關於流程(flow)

server publish event 時不須因之前的 event 未被 client 接收而 block,而 當client 處理一些 callback function 時,有 event 發生時亦會被通知。換句話 說,server 和 client 對訊息的處理不一定要再同一個流程中完成。

因此可知,藉由這樣的架構把system bus、server、client 三者間的關係分割 後增加了其擴增性(scalability),且也將不同分散式元件的同步與相互依存度大大 降低。

在本研究資料整合架構中,運用publish/subscribe 訊息傳遞方式,因為其運 作之特性,大大降低分散整合元件間之藕合力(coupling),在整合資料庫時,能夠 快速的加入新的資料庫,使用整合的環境更有彈性。

(33)

2.4 智慧型代理人

所謂智慧型代理人(Intelligent Agent)是一個自動化、能適應不同軟硬體環境的 電腦程式,可以根據使用者的偏好、興趣、過濾並找到對其有用的資訊,甚至協 助分析這些資訊做出各種可行決策的建議,而智慧型代理人技術主要是建立在具 有自主性、反應性、學習能力以及溝通協調能力之上。每一代理人是獨立個體,

具有自主的BDI (Belief、Desire、Intension) [Rao95]和動機,並且代理人之間有組 織成為社群,每一代理人受社會體制的規範,如代理人之間的互助合作或競爭,

透過溝通、協調或協商機制,達成共識。以代理人的角度,開發資訊系統,有以 下兩項優點:

1、擴充性(Scalable)佳:因以代理人為處理單位,系統擴充容易,傳統的系 統設計若需要增加某一子功能,則需大幅度的變動。

2、降低複雜度:若需要新增一子功能,不需變動動整體架構,降地系統開 發上之複雜度。

2.4.1 代理人定義

而近年來網路技術逐漸成熟,智慧型代理人的技術也因此受到相當大的重 視,以下整理出一些學者對於智慧型代理人之定義。

Fitzmaurice 認為代理程式設計的理念為目標導向,只要指示代理程式一個「目 標」,透過代理程式內建的規則與智慧,不須教導其何時與如何去作,代理程式 即可完成交付之任務[Fitz91]。Kalakota 與 Whinston 指出智慧型代理人是透過電 腦程式來自動地處理大量資料的選擇、排序與過濾,經過智慧代理人整理後,使 用者即可取得高價值資訊[Kala96]。

(34)

Sycara 也提出智慧型代理人是一套電腦程式,它協助人們處理費時費力的資 料收集工作,包括不同資料來源的搜尋與存取、資料不一致性的重新解釋、不相 關或多餘資料的過濾、與龐雜資料的整合等等工作[Syca96]。Jennings 等人對智慧 型代理人的定義為代理人是一個電腦系統軟體,置身在某一環境中,為了達到其 設計的目標,有能力彈性的(flexible)及自主的(autonomous)行動[Jenn98]。

簡單的說智慧型代理人就是用來代替人們解決問題與執行任務的程式,而為 了完成使用者特定的任務必須給予特定的智慧。

2.4.2 代理人特性

關於代理人之特性各家學者所提出相關的屬性相當多;但大多都是大同小異 並無太大差別。在此根據[Lang98]文獻加以說明,代理人的屬性包括有下列幾種:

1、自主性(autonomous):代理人會依其使用者所交付的工作,在授權範圍之 內,自主地執行工作,完成任務。

2、目標導向(goal-driven):目標導向,代理人不僅能夠對週遭環境之改變做 出反應,還能根據先前所設定之目標主動找尋最佳的利益。當被賦予一 個目標,除了被動地回應環境之變動,代理人也能主動地執行特定工作。

3、反應性(reactive):代理人對其所處的週遭環境,敏感地查覺它所處環境的 變化,依其環境變化適性地作出適當的反應。

4、持續性(temporally continuous):代理人為一個持續執行的程序。在某種程 度上,代理人是連續不斷地在執行,沒有間斷。在生命週期之內或工作 結束之前,持續不斷地工作。

5、溝通性(communicative):代理人與代理人之間形成一特定的社群,如同人 類社會一般,代理人與代理人有溝通、協調、協商的行為。

(35)

6、學習性(learning):代理人具備人工智慧的技術會依其過去的經驗或歷史資 料,從中學習,加以修正自身行為,學習成長。

縱然所謂的代理人可以具備這些能力,不過在實作與應用層面上並非一定納 入所有的能力,軟體代理人並非能夠完全解決問題,而是以人類助理的角色或是 軟體機器人的角色在一定程度下協助人類完成一些瑣碎或重複執行的工作。

2.4.3 代理人應用類型

近幾年來有愈來愈多的學者以及研究機構紛紛投入代理人技術之研究,另外 也有部份研究將代理人所擁用之特性,應用於資料的搜尋、過濾、資訊監控、跨 平台之系統整合或電子商務上。以代理人系統而言,目前有已經有許多的學術單 位投入代理人相關環境之發展,如表2.1 所述。

表2.1 代理人相關應用類型

應用類型 相關研究

資料搜尋

邱顯正運用智慧型代理人技術,在網際網路上建置一套雛形系 統,讓使便於搜尋及瀏覽產品相關資訊,減少資訊搜尋時間及 成本[邱顯正,1999]。

資料過濾

林寶香在智慧型代理人之後端推論機制中,利用資料挖掘領域 中之關聯法則,分析消費用之消費習慣,找出消費模式。可提 供客製化服務,並主動提供顧客適當資訊[林寶香,1999]。

跨平台之系 統整合

李依峻以網路代理人及知識庫(Knowledge Base)的架構為基 礎,加入資料探勘(Data Mining)的技術,來建構符合企業所需 的知識管理系統。利用代理人之技術,來達到知識獲得,保留,

創新,整合,共用等知識管理之主要目標[李依峻,2000]。

資訊監控

黃怡智使用智慧型代理人和資訊萃取(Information Extraction) 方法應用於資訊監控(Information Monitor)上,除了前端資訊監 控外,並做後續分析與評估此異動對使用者有興趣之程度,進 而影響前端監控頻率,減少網路資源浪費,網頁更新異動部分 若是使用者有興趣才通知使用者[黃怡智,2004]。

介紹完智慧型代理人特性與其他研究應用代理人技術後,我們瞭解到運用代

(36)

理人來開發資料整合系統能夠降低系統複雜度和與更佳整合擴充性,並且我們取 其自主、反應、學習等特性,監控資料庫之異動情況並進行資料一致性工作,完 成整合之任務。

2.5 物件導向軟體設計

目前企業對軟體開發之時程要求很緊,因此大部分的開發人員都想要尋找加 快開發速度之方法,而物件導向技術是一種最快捷有效之方式。物件導向技術最 初被多數人看作只是一種不切實際的方法,和滿足一時好奇心的研究,但經過多 年之後,各大企業及系統開發者都逐漸接納這種開發方式,甚至引起一股風潮,

許多程式語言都推出了支援物件導向的新版本。但物件導向的技術不僅僅是在程 式碼的編輯上,其中還包含了許多軟體工程方面的議題,如:物件導向的分析 (OOA)、物件導向的設計(OOD)等,也都是具有代表性的物件導向技術。在強調 快速反應之網路時代,網路應用軟體之開發非使用物件導向技術不可,更凸顯其 重要性。

2.5.1 物件導向設計特性

瞭解物件導向的特性,可以說是定義物件導向系統品質的第一步。因為物件 導向方式和傳統的設計差異很大,不能再單純的用「程式碼行數」LOC (Lines of Code)或者舊有的一些方式來評定,故此我們必須多瞭解其特性,才可以找出合適 的方法去評量物件導向系統的品質。物件導向系統的特性包含了互動的物件 (Object),而這些物件又靠著彼此的訊息傳遞(Message Passing) 來溝通;每個物件 又是每個類別(Class)的一個例子(Instance);一個類別也可以是來自於其他類別的 繼承或架構中的一員。根據上面這些特性可以知道物件導向系統的組成應該包含 了物件本身的方法(Method)、物件、類別以及類別本身的架構。而從上述元件組

(37)

合而來的特性還包含[李炎松,1994]:

z 封裝(Encapsulation)

封裝可以說是物件對外的介面,也可說成是對內的保護。也就是說將方 法和屬性放在一起,而對外則提供一個已經定義好了的介面,封裝也可以說 是限制類別存取的一種方法。好的封裝可以增加內聚力(cohesion),減低耦合 力(coupling)。而訊息的傳遞也可以看成是封裝的一種延伸。

z 繼承(Inheritance)

繼承可以看成是一個製造新類別的機器。可以用來延伸和調適舊的類 別,而由父類別(Super Class)提供分享其屬性和方法。善用繼承可以減少程式 的累贅(redundancy),增進重複使用性(reuse)。

z 多型(Polymorphism)

一樣的訊息送給不同的物件,允許物件收到訊息時做不同的回應。其優 點可以增加彈性,但同時也會造成程式不易明瞭以及相依性太高的問題。多 型可以允許許多不同的方法擁有相同的名稱,這有助於將物件隔開,使得物 件彼此依賴性降低[TAY90]。

以上所提的特性是物件導向軟體所可能具有的。也由於這些特色,物件導向 技術才被說成比傳統方式具有更高的品質、更易於維護、整體製作成本更低等優 點,進而形成演變成一種軟體設計的新潮流。

2.6 企業資料整合相關研究

資訊之分享對於企業來說是極為重要,完整及正確的資料來源不是必要的決 策依據,更是奠定良好企業活動之基礎建設,而資料整合則是因應此一而求的可 行方案。近幾年來有許多學者以及研究機構投入資料整合之研究,所以為了瞭解

(38)

目前進行資料整合時有哪些相關研究議題,於是我們蒐集一些相關之文獻,接下 來將針對這些相關研究作個簡單之描述。

蔡志彬運用XML(eXtensible Makeup Language)技術整合關聯式資料庫與文 件式資料庫。他提出完整的XML 轉換機制與流程,目的主要是探討如何依循 XML 標準,來進行異質資料庫的資料整合[蔡志彬,2000]。

Wijegunaratne 等人提出一個 Federated Highway 架構,並利用代理人技術提出 介面代理人(Interface Agent)來擷取相關的訊息並處理資料庫中資料一致性問題,

提供使用者從資料庫中取得有效用資訊[Wije00]。

劉天嵐提出以XML 為基礎之企業間資料整合平台。利用 XML 相關技術作資 料交換之標準,並以SOAP 作網路協定,提供虛擬企業之資料整合機制,以為企 業互動之基礎[劉天嵐,2004]。綜合以上資料整合相關之文獻,我們整理出各研究 之特色與不足之處,如表2.2 所列。

表2.2 資料整合相關研究

學者 特色 不足之處

蔡志彬

z XML 轉換機制整合關聯式資料庫與文 件式資料庫

z 取其 XML 標準之簡單易讀特性

採取手動批次的方 式進行資料同步

Wijegunaratne 等人

z 提出 Federated Highway 架構來傳遞整 合訊息

z 運用代理人技術擷取相關訊息,並監控 與更新資料庫資料

沒有提到監控資料 庫異動頻率

劉天嵐

z 有效地處理了異質資料的整合問題 z 同步處理分散資料之更新及維護 z 資料的保護設置有使用權限管理機制

資料格式映對乃是 藉由人工定義而獲 得映對規則

以上所提之研究各有其特點,但也有所不足之處,因此在下一章中我們提出 能夠自動同步化資料、分析資料庫定義與適性化監控資料庫之資料整合機制,詳 細的設計理念與功能模組,將於後續章節說明。

(39)

第三章 自動化資料整合系統架構

本論文提出一個自動化企業資料整合架構,整個自動化整合機制的事件來源 為當企業裡所有資料庫有被異動時,此整合系統會自動且即時將所需之資料同步 化,而達到企業資料一致性整合。本章節重點在於提出以智慧型代理人概念來進 行資料一致性整合,接下來先說明整合流程概念與問題分析,並且介紹以代理人 整合系統架構流程並且說明代理人所負責相關整合工作和所包含之元件功能及 各代理人之間其互動關係。

3.1 企業資料整合概念說明與問題分析

企業裡為了避免資料不一致性的情形發生,傳統的方式是用人工的方式做資 料整合動作,但是人工整合方式耗時且費力,為了提高公司的競爭力,所以本研 究提出了一種自動化之資料一致性集中式整合架構,當業務部門修改某個客戶之 資料時,自動化資料一致性整合系統能夠自動、即時且正確的將在別部門之相同 的資料同步化,進而達到資料一致性要求,如圖3.1 所示。

圖3.1 企業資料整合概念圖

例如企業裡業務部門負責記錄每個客戶的基本資料,例如:公司行號、負責

(40)

人、連絡人、連絡電話…等,在出貨部門會記錄客戶的訂單資料,如:訂單編號、

出貨日期、負責人、連絡人、連絡電話…等。在這些資料庫裡有出現重複的資料,

如果業務部門裡修改了某一個客戶負責人之名字後,卻沒有將在出貨部門之客戶 負責人資料同步更新的話,發生了資料不一致的情形,導致了出貨單到了客戶的 手上後,發現負責人名字錯誤的情況,造成了不必要的誤會。

所以根據上一段問題描述後,首先我們思考為了能達到自動化、即時且正確 之資料一致性整合,首先要能要知道哪些資料庫是需要整合的,因為要收集資料 庫定義,進而分析出資料對映的方法,才能使得資料同步過程中,達到資料一致 性要求。再者資料同步過程裡第一個就是要知道資料庫是否有異動,何時會有資 料異動,如果無法發現資料庫異動的情況,就無法達到資料同步之要求。接著為 了處理分散資料之同步更新及維護,也就是說能讓這些整合的訊息可以傳達到該 同步的資料庫,因為資料庫本身無法互相溝通,必須要透過某種技術來達成資料 整合。

基於上述之問題,我們就利用了在第二章所探討之相關技術來解決,利用企 業應用整合之集中式整合概念,並且運用了publish/subscribe 訊息傳遞方式使得 整合環境更有彈性,同時導入智慧型代理人概念取其自主、反應、學習等特性,

監控資料庫之異動情況並進行資料一致性整合工作,接下來將介紹我們所提出企 業資料一致性整合架構。

3.2 運用智慧型代理人之企業資料一致性整合架構

為了能夠達到資料一致性整合之目的,主要有幾個在整合資料庫時所衍生之 問題需要解決。整合機制需要取得各資料庫定義,以提供自動化整合服務,而資 料庫與自動整合機制要保持聯繫。各資料庫資料格式各不相同,自動化整合架構 提供一個統一的格式,並且需要提供一個安全、保證訊息傳送方式,以確保資料

(41)

同步的正確與穩定。接下本節將介紹各代理人所扮演角色工作內容與其互動關係 步驟及功能模組之說明。

3.2.1 整合代理人類別

為了解決上述之問題,在研究架構裡,導入智慧型代理人來概念來設計資 料一致性整合系統架構,整合代理人共分為兩類,一為在資料庫端負責監控異動 的資料庫駐守代理人(DB Monitoring Agent,簡稱 DBMA),另一則為負責與資料 庫駐守代理人傳遞訊息的訊息仲介代理人(Message-Brokering Agent,簡稱

MBA);而資料庫駐守代理人又分為兩種,分別為處理資料異動的資料處理代理 人(DB Transaction Agent,簡稱 DBTA)和偵測資料庫定義的定義偵測代理人(DB Schema Agent,簡稱 DBSA),如圖 3.2 所示。接下來分別說明代理人所負責之工 作與其特色。

圖3.2 智慧型代理人之企業資料一致性整合概念圖 Message-Brokering

Agent

Subscription List Message Hub

DB

DB Schema

……...

……...

:DBSA :DBTA

DB Schema Update Change

(42)

訊息仲介代理人

訊息仲介代理人為資料整合代理人社群中的一個訊息傳遞的中心,負責傳送 資料同步訊息使其整合代理人完成資料一致性整合任務。訊息仲介代理人是介於 所有整合代理人之間,為一個中央式的訊息管理中心,其負責接收所傳來訊息,

並讀解訊息內容並管理訊息傳送至正確位置,同時確保訊息送達目的,並且分析 資料庫定義產生並維護異動對映資訊(Mapping Information)。

所以資料整合系統的訊息仲介代理人,協調所有資料庫駐守代理人,使其完 成資料同步化任務,並且讓整個資料庫資料一致性能夠達到最即時之整合。訊息 仲介代理人是各個資料庫駐守代理人之間溝通的橋樑。訊息仲介代理人接收來自 各個資料庫駐守代理人不同的整合需求,訊息仲介代理人依照異動對映資訊決定 之欲同步化之資料庫,將更新訊息傳送給該負責之監控代理人。

資料處理代理人

資料處理代理人常駐在資料庫端,是屬於資料庫駐守代理人之一,其負責工 作主要在監控資料庫異動將訊息轉換成物件,如接收來資資料協調同步中心之同 步資料訊息時,即對資料庫進行資料更新動作。

在監控資料庫方面,因為資料庫異動之頻率會隨著屬性的不同而有所差異,

本身資料庫資料更新異動頻率也不會固定,所以為了能夠達到最即時同步化之目 的,資料處理代理人利用歷史異動記錄分析出適合此資料庫監控之頻率;而在遇 到例外狀況時,如更新資料庫失敗時,表示資料庫定義有更新異動的情形,所以 資料處理代理人將異常狀況通知定義偵測代理人處理異常狀況,偵測資料庫定義 是否有異動。

定義偵測代理人

定義偵測代理人同屬於資料庫駐守代理人之一,主要負責工作為偵測資料庫

(43)

定義之異動,負責取得資料庫定義,將資料庫定義轉換成物件訊息格式,再傳回 結果給訊息仲介代理人。

定義偵測代理人偵測資料庫定義時,也會利用歷史異動記錄分析出適合資料 庫之偵測頻率,但資料庫定義異動基本上是不太會變動,這部分會比資料庫資料 異動更新還慢許多,所以會造成資料庫定義異動頻率許久才會有一次的情形;而 在偵測資料庫定義時,如有發現資料庫定義有更新時,便會通知資料處理代理人 即時的監控資料庫資料是否有異動的情形。以上為各個代理人角色之工作分配,

我們將上述內容整理並列出整合代理人之特色,如表3.1 所示。

表3.1 整合代理人工作與特色說明

角色 工作內容 特色

訊息仲介代理人

分析資料庫定義 訊息管理

協調所有資料整合代理人

中央集權式 負責協調溝通 視狀況反應 資料處理代理人

監控資料庫資料更新異動 調整監控頻率

對資料庫進行資料更新動作

適性自主地 智慧型學習 視狀況反應 定義偵測代理人 偵測資料庫定義更新異動

調整偵測頻率

適性自主地 智慧型學習 視狀況反應

3.2.2 資料整合系統功能架構

本論文根據上述導入代理人概念,提出資料整合系統架構,而此架構元件共 包含主要三個部分:訊息仲介代理人模組、定義偵測代理人模組和資料處理代理 人模組,如圖3.3 所示。定義偵測代理人模組偵測資料庫定義後,將其轉換為定 義訊息物件後,傳送給訊息仲介代理人模組,經由訊息仲介代理人模組分析後產 生異動對映資訊;資料處理代理人模組監控資料庫異動,將其轉換為同步訊息,

傳送給訊息仲介代理人模組,經由訊息仲介代理人模組分析比對出同步之對象 後,再將更新同步訊息傳送給資料處理代理人。

(44)

Message-Brokering Agent

DB Transaction Agent DB Schema

Agent

Schema Matching Module

Subscription List Auto-Generator

DB Update Module

Message Decoder

Message Decoder Queue Manager

Message Object Constructor

Change Monitoring

Module Message Transformer

Frequency Adjusting

Module DB Schema

Detector

Data Definition Generator

Message Processor

Temporary Repository Subscription

List

Message Queue

圖3.3 整合系統功能架構圖

每個代理人包含了不同的模組,代理人各自獨立執行負責的工作,而此章節 主要說明在此架構主要的模組和資料儲存,而接下來將描述各個代理人內的模組 功能。

3.2.2.1 資料處理代理人模組

分散各資料庫之資料處理代理人以負責監控資料庫異動記錄,並轉換成訊息 物件格式並以適性化調整監控週期,然後將異動訊息物件傳送訊息至訊息仲介代 理人,並且在接收到訊息仲介代理人傳送之異動更新需求,再根據訊息內容進行 資料庫更新。各個功能模組詳細說明如下。

(45)

z 監控異動模組(Change Monitoring Module)

此模組負責監控資料庫裡資料是否有異動,而每次監控頻率藉由頻率分 析模組根據資料庫歷史之交易記錄分析調整出最適合資料庫監控的頻率。而 在進行監控時,一旦發現資料庫資料有異動時,此模組會產生適當的異動訊 息內容,再給異動訊息轉換器進行訊息格式之轉換。

z 頻率分析模組(Frequency Adjusting Module)

此模組根據監控異動模組每次監控後之資料庫異動記錄進行分析,進而 調整監控的頻率,而整合系統一開始之監控頻率可由資料庫歷史之交易記錄 進行分析後取得。

z 異動訊息轉換器(Message Transformer)

此模組接收來至監控異動模組所提供之異動訊息,並且轉換成適當的訊 息格式後,再傳送給訊息仲介代理人。

z 更新訊息解析器(Message Decoder)

此模組接到來自訊息仲介代理人所傳送來的訊息,並且解析整合機制內 部所使用訊息格式,並將解析完後訊息內容傳送至資料更新模組。

z 資料更新模組(DB Update Module)

此模組接收來至訊息物件解析器所解析的訊息內容,並且根據訊息所定 義的之更新內容將資料庫更新完成。

經由上述整理出,資料處理代理人模組利用監控異動模組監控資料庫異動,

將異動資訊經由異動訊息轉換器轉成訊息物件後,傳送給訊息仲介代理人,同時 透過頻率分析模組分析調整出異動頻率;而更新訊息解析器則是負責將來自訊息 仲介代理人所傳送過來之訊息解譯後,再由資料更新模組負責更新資料庫資料。

(46)

3.2.2.2 定義偵測代理人模組

資料整合系統在初始設定時,定義偵測代理人偵測分析資料庫定義後,並於 固定時間偵測資料庫定義是否異動,而將取得之資料庫定義,回報訊息仲介代理 人。各個功能模組詳細說明如下。

z 資料庫定義偵測分析模組(DB Schema Detector)

此模組負責監控資料庫定義(Database Schema)是否有異動,而每次偵測 頻率藉由類似資料處理代理人中的頻率分析模組根據以往偵測資料庫定義 之歷史之記錄分析調整出最適合資料庫偵測的頻率。而在進行偵測時,一旦 發現資料庫定義有更新時,此模組會產生適當的更新之訊息內容,再給資料 定義訊息產生器產生資料庫定義物件。

z 資料定義訊息產生器(Data Definition Generator)

此模組將資料庫定義偵測分析模組所產生的資料庫定義訊息內容轉換 產生出資料定義物件並且將其產生之物件傳送給訊息仲介代理人。

由上述可得知,定義偵測代理人經由資料庫定義偵測分析模組偵測資料庫定 義,再由資料定義訊息產生器轉換為定義訊息物件後,再傳送給訊息仲介代理人。

3.2.2.3 訊息仲介代理人模組

訊息仲介代理人接收定義偵測代理人所回傳的資料庫定義,分析出異動對映 資訊。同時訊息仲介代理人接所有資料處理代理人傳送之異動訊息,再參考異動 對映資訊分析比對後,將異動更新需求傳送給需要更新之資料庫所屬資料處理代 理人。各個功能模組詳細說明如下。

z 資料對映分析模組(Message Processor)

(47)

此模組是訊息仲介代理人主要一部分,此模組主要是根據異動對映資訊 產生出所有要送出之訊息,訊息仲介代理人接收所有的訊息都是藉由此模組 來決定所要送出之訊息內容,並且決定傳送對方。

z 訊息管理器(Queue Manager)

此模組負責管理訊息佇列,訊息排程運作方式主要是根據先進先出法來 進行訊息管理,並且將送出之訊息置於訊息暫存區(Temporary Repository)以 便於讓資料對映分析模組訊息做為維護之用。

z 訊息物件產生器(Message Object Constructor)

此模組將在訊息佇列裡等待的訊息產生成一個以上物件格式後,再傳送 給需要傳送之資料處理代理人。

z 異動訊息解析器(Message Decoder)

此模組將接受到之訊息物件轉換成系統定義之格式,以便解析出訊息之 內容。

z 異動對映分析模組(Schema Matching Module)

此模組負責執行比對所有資料庫之資料庫定義,將來自各個不同之資料 庫定義做對映分析,而對映結果傳送給異動對映資訊自動產生器。

z 異動對映資訊自動產生器(Subscription List Auto-Generator)

此模組負責將異動對映分析模組所比對出對映結果產生出異動對映資 訊物件,並且當訊息仲介代理人在接收到訊息時,提供一種Publish/Subscribe 訊息處理模式時一個參考的資訊。

由以上敘述我們整理出,訊息仲介代理人透過異動對映分析模組,將整定義 訊息物件解譯後分析出異動對映資訊,再由異動對映資訊產生自動產生器轉換產

(48)

生出異動對映訊息物件;訊息仲介代理人經由訊息管理器接受管理來自各資料庫 駐守代理人所傳送之訊息物件後,再經由異動訊息解析器取得異動相關資訊後,

再透過資料對映分析模組分析出同步化對象後,接著由訊息物件產生器產生出更 新訊息,利用訊息管理器傳送給資料處理代理人模組。

3.3 整合代理人互動模式

資料一致性整合以代理人互動模式主要分成三個:集中式分析資料庫定義、

協調式同步化資料和合作式維護異動對映資訊,如表3.2 所示。集中分析資料庫 定義方面,透過定義偵測代理人和訊息仲介代理人之互動,其目的是產生出異動 對映資訊;協調同步化資料庫,目的則是為了達成資料一致性任務,就由資料處 理代理人和訊息仲介代理人間傳遞訊息方式完成;合作維護異動對映資訊則是在 協調同步化資料庫過程中,發生一些例外之狀況時,導致異動對映資訊不正確 時,就要透過定義偵測代理人、資料處理代理人和訊息仲介代理人間互動來維護 異動對映資訊之正確性。接下來分別對三個流程詳細說明。

表3.2 整合代理人互動模式說明表

模式 參與互動角色 目的

集中式分析資 料庫定義

訊息仲介代理人

定義偵測代理人 產生異動對映資訊 協調式同步化

資料

資料處理代理人

訊息仲介代理人 達成資料一致性 合作式維護異

動對映資訊

定義偵測代理人 資料處理代理人 訊息仲介代理人

維護異動對映資訊

3.3.1 集中式分析資料庫定義

資料庫定義分析流程主要是將各個資料庫定義做收集與彙整分析的動作,進 而建立並維護異動對映資訊,這部分流程是經由透過訊息仲介代理人與定義偵測

(49)

代理人互動所完成的,如下圖3.4 所示,其流程步驟說明如下:

Message-Brokering Agent

Mapping Information

DB Schema

………

………

②DB Schema

①Monitor

DBSA

③Analysis

圖3.4 資料庫定義分析說明流程圖

步驟①:各個定義偵測代理人在資料同步化流程開始前或在資料同步過程中,定 期的分別對其負責之資料庫進行取得資料庫定義動作。

步驟②:定義偵測代理人將分別將取得資料庫定義轉換成物件訊息格式後,將其 物件訊息傳遞給訊息仲介代理人。

步驟③:訊息仲介代理人接收到由定義偵測代理人傳送之所有資料庫定義物件訊 息後,便開始進行資料庫定義之分析,分析後產生出異動對映資訊。

3.3.2 協調式同步化資料

資料同步化主要監控各個資料庫異動更新,並且同步需要同步之資料庫資 料,達成資料一致性整合,這部分流程是經由透過訊息仲介代理人與資料處理代 理人互動所完成的,如圖3.5 所示,其流程步驟說明如下。

參考文獻

相關文件

Binding Warning message Binding Update message AAAO: the AAA server of the old foreign network to which the OFA belongs. AAAF: the AAA server of the new foreign network to which the

Although many excellent resource synchronization protocols have been pro- posed, most of them are either for hard real-time task scheduling with the maxi- mum priority inversion

„ Indicate the type and format of information included in the message body. „ Content-Length: the length of the message

Note that this method uses two separate object variables: the local variable message and the instance field name.. A local variable belongs to an individual method, and you can use

•給學生很多的機會嘗試 比較不同物件的重量,鼓 勵學生表達兩件物件相對 的重量。.

級別級別描述學習成果學生表現示例 I3.2 他們開始對人、事件及物件

A waiting process only waits for a bounded number of processes to enter their critical sections... * All rights reserved, Tei-Wei Kuo, National Taiwan

We had synchronization used to servomechanism own control return circuit and special-purpose measure system to engaged in double axle machinery of static balance of