帳號整合開發工具-IDI

最近在研究IBM的Tivoli Directory Integrator (有看到的簡稱為ITDI、TDI或IDI,以下稱IDI),我只能說這個軟體的概念真的很不錯,所以才值得我介紹,但我覺得還有一些問題是實際開發及上線用時才會發現的問題。

另外,其實我研究的主軸是 Tivoli Identity Manager (用來做帳號整合管理的系統),IDI只是它的輔助工具,不過TIM很多功能其實是依賴IDI才能存在,所以先從IDI講起。

姑且暫時不把缺點拿上來談,我試著把我所知道的寫出來看看為什麼我說它是概念不錯的軟體。

老話一句,我不是IBM的員工,所以有些東西不太清楚。

IDI是啥

我引述來自IBM案例網站中的一句話

IBM Directory Integrator(IDI)就是一個基於100% Java技術的目錄元件系統,不但可以跨平台執行,而且其Assembly Line工作模式可以在不匯入一個集中用戶存儲的資料庫的情況下就實現分散式的用戶訊息同步和複雜操作。

可能看完這段話沒什麼感覺,簡單的說IDI可以提供一個開發與運作的工具,讓多個不同平台的使用者資料庫同步或是轉換一個介面讓另一個系統控制。

也就是說,今天無論我原本的系統是用哪家的系統開發,只要是IDI可以連接的對象(relational databases, mail systems, file formats, message queues, web services and a host of other data sources),IDI都要讓你可以與它整合。

圖片引用自Developing a custom TIM agent with TDI

關鍵技術

那麼IDI到底做了什麼事簡化我們的工作呢?

  • 對於現有帳號資料來源:提供各式各樣的連接器(Connector) ,方便存取資料,且設定完的連接器還可再被當父連接器繼承設定,不用寫一堆程式連線唷
    置中
  • 提供了幾種方式讓其他系統能整合:使得我的系統在存取資料來源時,有個固定的介面,而且瑣碎的工作也可交由IDI達成
  • 透過簡單的介面編輯處理流程(Assembly Line):針對取得的資料做名稱的對應與進一步呼叫其他連接器處理
  • 也可以用Javascript撰寫程式,進行資料處理或呼叫其他流程(Assembly Line)

總結

IDI是個中介處理程序的開發工具,不過我不是來賣產品的,只是跟大家說有這樣的東西,概念不錯。

開頭我就有講到但書,這個工具既然屬於開發工具,它的介面也算OK,不過缺點也不少,像是以JavaScript做為程式語言的部份,就充分展現了Javascript沒有編輯時的輔助,一切都要靠經驗與資料才知道怎麼寫才對,偵錯、除錯也很困難。

再者,雖然安裝後有許多小範例,可惜這些範例的解釋資訊不足,基本上要了解不是很簡單,而且我還有遇到範例是有問題的(像是WebService的部份),感覺像是拿前幾個版本的IDI開發範例直接放到新的IDI,不知是不是我自己搞錯了~

另外還有效能與資料來源過大等問題~

與TIM這個主產品整合時,開發要注意的事就更多了~這真是IBM產品的特色呀

相關連結

6 意見:

Unknown 提到...

你好, 最近我也在玩TDI軟體, 不知道你有沒有測試成功將a系統的帳號同步到B系統?

Unknown 提到...

你好, 看到你最近有在玩TDI的軟體..我最近也在玩此軟體. 不知道你是否有測試成功將A系統的帳密sync到B系統?

倫倫3號 提到...

有~不過那是兩年多前的事了~
印象中,你TDI寫好後,主要問題在於兩個系統的帳密是你有辦法利用現有的TDI可控制的元素來更新,像是資料庫或是Web Service

Unknown 提到...

你有留下文件可供參考嗎?

倫倫3號 提到...

我已經離開之前的地方了,文件都在那邊~
我自己的硬碟掛了,所以沒有那個資料

Unknown 提到...

我有加你MSN方便在MSN請教你嗎???

這裡是關於技術的手札~

也歡迎大家到

倫與貓的足跡



到噗浪來

關心一下我唷!
by 倫
 
Copyright 2009 倫倫3號Beta-Log All rights reserved.
Blogger Templates created by Deluxe Templates
Wordpress Theme by EZwpthemes