现有的外部系统定期(每隔几秒)对多个数据库表进行更新。我们希望构建一个仪表板类型的用户界面,允许用户近乎实时地查看其他记录和重要更新。用户界面还允许一些会导致数据库更改的事务。
我们的想法是使用带有Hibernate和Flex的堆栈(请参阅http://dl.dropbox.com/u/1431390/overview.jpg),但我们愿意使用任何免费/开源技术。如果我们使用我们建议的堆栈,我们不确定有一些问题:
1)如何使用数据库更改自动更新POJO?据我所知,没有办法让hibernate知道在自己的会话之外做出的任何更改。因此,必须进行某种轮询才能获取新的和已更改的记录。
2)我们计划将数据推送到flex UI中的数据网格(使用BlazeDS或WebORB)。这似乎依赖于识别更改并将这些更改作为通道的更新。但是,如果我们使用Hibernate-> POJO方法,那么识别这些更改可能会相当复杂,因为我们已经刷新了数据。有没有更好的解决方案可以推动变化?我原以为这是一个常见的要求,但我在网上找不到太多的信息。
对于架构或具体问题,我们将非常感谢任何建议。
非常感谢,
肯
答案 0 :(得分:1)
For 1) - 使用轮询或者如果您有足够的预算,则使用支持从触发器(DB2,Oracle,MSSql服务器)推送JMS消息的数据库。
For 2) - 由Adobe构建的商业product可以更轻松地解决此问题(它具有您正在寻找的此功能)。它具有陡峭的学习曲线,是企业的目标。否则,您将不得不实施自己的解决方案 - 仅刷新已更改的数据等。