2010-04-27 57 views
2

與團隊的更傳統的開發工作,我們遇到了這樣的情況:兩個應用程序之間的通信,是SSIS的路要走嗎?

我們的應用程序將要訪問通過應用程序之一的UI插入一些常用的數據,越來越多的(二現在)這可以稱爲主要的管理應用程序。由於其他應用程序只需要某些數據或者需要使用不同模式進行格式化,因此提出的解決方案之一是爲每個應用程序提供一個數據庫,並以一定頻率運行同步作業,以便將數據從一個數據庫更新到另一個數據庫。由於這是一種常見的SOA場景,我很快放棄了這種解決方案,而傾向於面向服務的解決方案,即將數據存儲在一個主要存儲庫中並通過公開的服務進行訪問。

所以,我想讀一讀你的想法,因爲我認爲我可能會偏向於相關的新技術,並且可能無法體會更傳統解決方案的價值。

回答

4

我在選擇技術時的建議是真正權衡親和騙局。 「新」與「舊」可以讓你陷入陷阱。在任何時候總會有一些熱門的新的流行語,這可能是也可能不是一個好的途徑。因此,讓我們分析一下:SSIS包與服務的

Pro的:

  • 您可以將您的數據導入到目標數據庫,以符合您的參照完整性關係。
  • 訪問和修改現有應用程序以訪問此數據很容易。
  • 如果您有少量數據需要轉換,這項工作將會很快完成。
  • SSIS包是調試數據轉換問題的好地方。
  • 通過使用SSIS轉換數據,安全性可能更容易。您不必擔心服務與服務之間的Kerberos委派等潛在問題。
  • 訪問數據本身的目的地將是更快,因爲您不必再​​提出另一個服務請求。你可以加入數據庫中的數據。 SSIS包與服務的

反對的:

  • 你不必在你的目的地的實時訪問您的源數據。
  • 如果數據量很大,或者這個軟件包寫得不好,可能需要很長時間。
  • 如果您的目標數據庫數量迅速增加,您將不得不經常修改SSIS包。
  • 您可以使用該服務設置您自己的安全機制,以便您可以控制和審覈對其信息的訪問。
  • 如果您的目標系統需要寫回中央源,將所有這些與SSIS合併在一起可能是一個真正的痛苦。

所以我熬它歸結爲這樣:

如果你在寫回集中的資源,或者你不能有更新之間的任何顯著的延遲,服務讓有很大的意義。否則,有利於使用SSIS複製數據。在我的位置,我們使用SSIS來轉換用戶數據並將其導入到我們系統的數據庫中,但我們使用服務來實現整個組織範圍的日誌記錄基礎結構。

+0

同意,雖然在這個特定的情況下,涉及的方法的年齡確實影響了決定。不過,你的觀點非常有效。 – JoseMarmolejos 2010-04-27 17:42:23

相關問題