大型企業各部門常使用不同資料庫系統:關聯式資料庫(ERP、CRM)處理結構化資料,Domino/Notes 處理半結構化文件與工作流。整合時面臨兩大難題:
將 Domino 資料透過 NSFDB2 推送至 DB2(DAV 視圖),再利用 DB2 聯邦功能將所有異構資料源(含 Domino)映射為單一虛擬聯邦資料庫。應用端僅需對聯邦資料庫發送標準 SQL,即可透明存取所有資料源,完美解決上述兩大問題。
聯邦伺服器透過 Wrapper(包裝器) 與各資料源通訊。啟用聯邦需設 FEDERATED=YES 並重啟實例。新增資料源三步驟:
CREATE WRAPPER 註冊包裝器(同類型資料源共用一個)。CREATE SERVER 定義具體資料源實例(每個實例一條)。CREATE NICKNAME 將遠端資料集映射為本地虛擬表(Nickname),SQL 中直接引用。另需建立 USER MAPPING 完成認證授權。聯邦特性:透明性(屏蔽異質性)、異構性(支援不同硬體/協定/查詢語言/資料模型)、擴展性(動態新增資料源無需停機)、自治性(不影響既有系統運作)。
Domino 7+ 引入 NSFDB2,以 DB2 取代 NSF 為 Notes 資料的替代儲存。關鍵功能:
唯有建立 DAV 後,Domino 資料才對 DB2 使用者可見、可查詢、可操作,成為整合入口。
場景:業務部門信用卡系統(DB2)需查詢/調整員工信用額度;HR 工作流需顯示員工信用額度。雙方資料原本隔離,傳統做法定時導入導出,易造成不一致且無法即時。
環境:Domino 8.0.1 (Windows, NSFDB2 enabled, DAV 已建立) + DB2 Connect 9.1 EE (Windows, FEDERATED=YES)。業務 DB2 為遠端伺服器,聯邦資料庫建立於本地 TESTDOM。
db2 catalog tcpip node server_name remote server_name server 446 system server_name ostype OS400
db2 catalog dcs database rdb_name as rdb_name
db2 catalog database rdb_name as rdb_name at node server_name authentication dcs
DRDA,名稱自訂,設定 DB2_FENCED=NO。完成後,業務表如同本地表般可在聯邦資料庫中 JOIN、查詢、更新。
在 Domino Designer 建立 QV,SQL 直接關聯本地 DAV 員工表與聯邦資料庫中的信用額度 Nickname。Notes 用戶即時看到最新信用額度,無需資料同步延遲。
利用 NSFDB2 DAV 將員工資訊推送至 DB2,業務應用以標準 SQL 查詢/更新,完全屏蔽 Domino 底層複雜性。
本方案集中體現聯邦技術的透明性、異構性、擴展性與自治性,是大型企業異構應用整合的最佳實踐範本。