首頁‎ > ‎電子期刊‎ > ‎2005 年 第 14 期‎ > ‎

系統緊密整合與鬆散整合觀念探討(一)

摘要

  • 文章編號:20051106
  • 投稿日期:2005/10/25
  • 作者:張騉翔
  • 備註:


傳統上來說,子系統間之協作及整合是透過 “共享資料庫” 的方式達成,其中一種方法是設計一個大資料庫,包含各子系統所需之所有資料,子系統透過資料庫系統各取得所需之欄位,並更新相關負責之資料。另一種方法是,子系統開放資料庫,讓另一個子系統進入存取其相關資訊。


上述這二種方法都是屬於 “緊密整合” (Tight Coupling) 的模式,子系統之間共享一個資料空間,供彼此整合使用。因彼此依賴相同的資料空間,就會依賴資料結構的共通性。透過共同的資料庫結構,達成整合的目標。


另一種方式是 “鬆散整合” (Loose Coupling) 的模式,子系統提供一個獨立於作業平臺、開發工具之共通介面標準,如 SIF@Tp 所採用之 Web Services (HTTP+XML),系統間依賴彼此之服務介面 (Service Interface),制訂一資訊契約 (Contract),達成整合的目標。子系統間之互動只要符合制訂之資訊契約,就可以整合,不需要依賴共同之資料庫結構,作業平臺或開發工具。 SIF@Tp 採用 XML Schema 來訂定上述之資訊契約。


緊密整合的缺點是,系統整合時,大幅度降低資料之安全性及完整性,因為所有整合的子系統皆可以自由存取共享資料空間之資料,猶如寫多個副程式時,共同使用 相同全域變數 (Global Variable) 來溝通。另一個缺點是,系統在擴展或變更時,調整資料庫結構,容易影響另一個子系統之運作,甚至造成其無法運作。尤其是當子系統由不同開發者設計時,變更 某一資料會影響其它那些子系統往往不是那麼清楚。所以會發現增加某些功能後,其它功能不能執行或發生錯誤,或是更正某個問題,卻又產生另外問題的現象發 生。在這樣的情況下,隨著整合子系統數量的增加,資料庫也愈來愈無法確保其資料之完整性 (Data Integrity),修改或增加新功能也就愈來愈困難。


緊密整合的優點是開發複雜度較低,子系統間不需定義資料交換介面,設定存取權限,也不需另外開發子系統間之介面程式。當子系統間資料共通性很大的時候,緊密整合的另外一個優點是效率會大幅高於鬆散整合的模式,因為在此種情況下,鬆散整合模式子系統間會經常交換資料。


鬆散整合模式的優點是,子系統可充份保障子系統內之資料安全及完整性,因為所有的資料存取皆需透過其所提供之服務介面,外部系統無法直接接觸資料庫。另一 個優點是,子系統在擴展或變更時,調整資料庫結構,只要修改相關之服務,對外介面保持一致,並不會影響到其它的子系統,將 ”系統改變” 區域化 (Localize),降低維護成本。再一個優點是,只要服務介面相同,子系統可彈性與不同之系統整合;例如,各校可以因各校之差異選用不同廠商開發之圖 書館系統,與學籍系統整合。只要圖書館系統提供共同之服務介面 (可由 貴局制訂),就可以進行整合,兼顧差異性及整合性。 鬆散整合的缺點是開發成本較高,系統需要訂立明確之服務介面,並建立介面之實作元件。另一個缺點是子系統間資料共通性太大時,效率會降低,因為需要經常作 資料交換。


建議系統間整合機制以鬆散整合模式為主,提昇系統未來之擴展性及降低未來之維護成本。在某些特殊之情況,例如學籍、成績子系統之間有大量之共通資料,會採用緊密整合之模式開發,但這二個子系統還是會共同提供一服務介面,與其它系統進行鬆散整合,保持系統設計上之彈性。

  • 表3-2 緊密整合模式與鬆散整合模式比較表

 

緊密整合(Tight Coupling)

鬆散整合(Loose Coupling)

優點

  1. 開發複雜度較低。
  2. 子系統間不需定義資料交換介面。
  3. 不需另外開發子系統間之介面程式。
  1. 子系統可充份保障子系統內之資料安全及完整性。
  2. 子系統對外介面保持一致,在擴展或變更時,並不會影響到其它的子系統。
  3. 只要服務介面相同,子系統可彈性與不同之系統整合。
  4. 維護成本較低。

缺點

  1. 資料安全性及完整性較低。
  2. 系統在擴展或變更時,容易影響另一個子系統之運作。
  1. 開發複雜度較高。
  2. 開發成本較高。
  3. 當子系統間資料共通性太大時,效率會降低。

整合方法

透過”共享資料庫”的方式達成。

提供一個獨立於作業平臺、開發工具之共通介面標準。


Comments