Лучшая архитектура для системы аварийного оповещения - PullRequest
1 голос
/ 15 июля 2011

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

Я пишу приложение с ASPNET MVC, SQL Server 2008 Express, агент SQL бесплатно для этой версии SQL Server, Entity Framework 4, Visual Studio 2010 и т. д.

Прямо сейчас я установил базу данных и задание SQL, которое отслеживает таблицу каждую минуту, если есть новые записи, электронное письмо отправляется на те же адреса.Моя проблема ... Что тогда?Какой архитектуре лучше всего следовать?Вот несколько вариантов, о которых я подумал:

1) В работе подключитесь к веб-службе, и эта веб-служба и веб-служба могут открывать всплывающее окно.если есть новые записи

Есть ли способ сделать push на веб-страницу вместо пула страниц сервера базы данных?

Я знаю, что Windows-приложение подойдет лучше здесь, но сейчасЯ должен придерживаться ASPNET MVC, как я уже начал, и не хочу создавать другое приложение.Спасибо!Daniel

Ответы [ 4 ]

3 голосов
/ 15 июля 2011

Есть ли способ сделать push на веб-страницу вместо пула страниц сервера базы данных?

HTML5 WebSockets . Черновая, довольно новая спецификация все еще может быть изменена, чтобы все браузеры ее реализовали. Вам понадобится WebSocket Server . Если вы идете по этому пути, обязательно прочитайте блог этого парня . Он стоит за Laharsub , который является обязательным для использования сервером.

1 голос
/ 16 июля 2011

Я бы посоветовал вам изучить (сложную) обработку событий или потоковую обработку - по крайней мере, чтобы понять архитектуру этих систем.

Идея состоит в том, чтобы захватить поток событий до того, как они достигнут базы данных, направят их (процесс) в обработчик событий и оттуда поместят их в БД - рассматривая БД как одно из событий направления (подписчики).

Взгляните на Streambase , ruleCore и многие другие .

Все они были разработаны для описанного вами типа сценария.

1 голос
/ 15 июля 2011

Я уверен, что вы можете использовать Silverlight для передачи данных клиенту. Вот довольно хороший обзор , который я прочитал некоторое время назад. HTML5 может быть лучше. Но с такой ограниченной поддержкой это почти не стоит в этот момент. Возможно, приложение Silverlight может быть недоступно, но это все еще возможно.

0 голосов
/ 15 июля 2011

Попробуйте увидеть проблему под другим углом.Разработайте веб-клиент, который каждую минуту читает базу данных и сравнивает ее с последним запросом

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...