2011-10-03 32 views
0

現有的外部系統定期(每隔幾秒)更新多個數據庫表。我們希望構建一個儀表板類型的用戶界面,允許用戶近乎實時地查看其他記錄和重要更新。用戶界面還會允許一些會導致數據庫更改的事務。外部數據庫更改 - >休眠 - >客戶端

我們的想法是使用具有Hibernate和Flex的堆棧(請參閱http://dl.dropbox.com/u/1431390/overview.jpg),但我們願意使用任何免費/開源技術。有幾個問題,我們不確定,我們應該用我們的提議棧:

1)如何自動更新數據庫的修改POJO的?據我瞭解,hibernate沒有辦法知道在自己的會話之外做出的任何更改。因此,必須進行某種投票來提取新的和已更改的記錄。

2)我們打算將數據推送到flex UI(使用BlazeDS或WebORB)內的datagrid。這似乎依賴於識別這些更改並將這些更新推向頻道。但是,如果我們使用Hibernate-> POJO方法來確定這些更改可能相當複雜,因爲我們已經刷新了數據。有沒有更好的解決方案來推動即時更新?我原以爲這是一個常見的要求,但我無法在網上找到很多信息。

任何建議將感謝架構或具體問題。

非常感謝,

回答

1

對於1) - 使用輪詢,或者如果你有足夠的預算支持來自觸發器推JMS消息(DB2數據庫中,Oracle,MSSQL服務器)。

對於2) - 有一個由Adobe建立了一個商業product這可以解決這個問題更容易(它有這個功能,你正在尋找)。它有一個陡峭的學習曲線,並針對企業。否則,您將不得不實施您自己的解決方案 - 只更新已更改的數據等。