Внешние изменения базы данных -> Hibernate -> Клиент - PullRequest
0 голосов
/ 03 октября 2011

Существующая внешняя система регулярно (каждые несколько секунд) обновляет несколько таблиц базы данных. Мы хотим создать пользовательский интерфейс типа приборной панели, который позволяет пользователю просматривать дополнительные записи и важные обновления практически в реальном времени. Пользовательский интерфейс также допускает некоторые транзакции, которые могут привести к изменениям базы данных.

Мы думаем об использовании стека с Hibernate и Flex (см. http://dl.dropbox.com/u/1431390/overview.jpg), но мы открыты для использования любой технологии с открытым исходным кодом. Есть несколько проблем, в которых мы не уверены, стоит ли использовать предложенный нами стек :

1) Как автоматически обновить POJO при изменении базы данных? Насколько я понимаю, в спящем режиме нет возможности узнать о каких-либо изменениях, внесенных вне собственного сеанса. Следовательно, для сбора новых и измененных записей необходимо выполнить какой-то опрос.

2) Мы планировали отправить данные в сетки данных в гибком пользовательском интерфейсе (используя BlazeDS или WebORB). Похоже, что это зависит от выявления изменений и продвижения их по каналу. Однако, если мы используем подход Hibernate-> POJO, выявление этих изменений может быть довольно сложным, поскольку мы обновили данные. Есть ли лучшее решение, которое будет толкать изменения на лету? Я бы подумал, что это общее требование, но я не могу найти много информации в Интернете.

Будем благодарны за любые советы по архитектуре или по конкретным вопросам.

Большое спасибо,

Ken

1 Ответ

1 голос
/ 03 октября 2011

Для 1) - используйте опрос или, если у вас достаточно бюджета, используйте базу данных, которая поддерживает передачу сообщений JMS из триггеров (DB2, Oracle, сервер MSSql).

Для 2) - Существует коммерческий продукт , созданный Adobe, который может решить эту проблему проще (в нем есть эта функция, которую вы ищете). Он имеет крутую кривую обучения и ориентирован на предприятия. В противном случае вам придется реализовать собственное решение - обновить только измененные данные и т. Д.

...