Какие инструменты .Net я должен использовать для создания приложения, обеспечивающего мониторинг наших систем реального времени? - PullRequest
5 голосов
/ 14 сентября 2011

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

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

Я также думал об использовании HTML5 canvas и websockets. Другой альтернативой является просто создание клиентов с использованием обычных оконных форм и, возможно, WPF. Но это означает, что для мониторинга приложения клиент должен будет быть загружен раньше. Я бы предпочел что-то такое же легкодоступное, как веб-приложение?

Каковы некоторые из наиболее распространенных стеков приложений для достижения этой цели? Что я должен остерегаться?

EDIT:

Просто добавлю: Это будет только внутренний инструмент. Но у нас есть офисы в нескольких местах.

Ответы [ 5 ]

2 голосов
/ 14 сентября 2011

любой выбор в этом направлении может быть субъективным и спорным, конечно, кто-то может предложить любую возможную веб-платформу или язык ...

Я бы посоветовал, однако из-за ваших .NET и C # тегов, ASP.NETMVC 3, поэтому, в основном, веб-решение без плагинов (без Silverlight) HTML 5.

Учтите, что StackOverflow выполняется таким же образом (MVC, ASP.NET, SQL Server ...) и превосходит, как все мызнать.

как вы извлекаете базовые события из TCP, так как способ сбора и предоставления данных из TCP - это другое дело из внешнего интерфейса, я бы, вероятно, написал службу Windows, если трафик такойвысокий, и вы хотите получать и хранить данные в любом месте, независимо от того, активно ли клиентское соединение.

Существует множество графических элементов управления в реальном времени, в том числе для MVC, MS Chart Control.DevExpress, ExtJS интегрированные ...

2 голосов
/ 14 сентября 2011

"в реальном времени", и браузер беспокоит меня. Я бы действительно пошел WPF или WinForms. Используя ClickOnce-Deployment, вы можете сделать это безболезненным для пользователя, и вы можете развернуть новые версии, просто перераспределив их и попросив пользователя перезапустить приложение. В моей компании это работает очень хорошо, и у нас нет никаких проблем. Единственная проблема в этом заключается в том, что app.config довольно сложно найти и сохранить текущим / действительным (повторное развертывание), но в вашем случае это не изменится для каждого клиента (или я так думаю).

0 голосов
/ 14 сентября 2011

Я видел классные демоверсии Web Orb, которые делают что-то похожее на то, что вы хотите.http://www.themidnightcoders.com/

0 голосов
/ 14 сентября 2011

Я согласен с @Davide - я бы выбрал WebService, который будет получать все данные маршрутизации / коммутации в реальном времениУ вас будет веб-приложение, а на стороне клиента JQuery / AJAX будет извлекать данные в реальном времени из компонента WebService.

0 голосов
/ 14 сентября 2011

Если вы начинаете с нуля, было бы неплохо проверить WCF (Windows Communication Foundation) .Это здорово, потому что он может раскрыть вашу функциональность во многих отношениях , не используя ничего, кроме изменения файла конфигурации.

Если вам нужно клиентское приложение Windows, вы можете разместить его в службе Windowsили просто включите его в качестве боковой сборки.Для веб-приложений вы можете выбирать между различными форматами (JSON, XML), каналами (HTTP, TCP) и протоколами (SOAP, ODP).

Если я правильно понял, будет приложение на стороне серверакоторый будет собирать информацию с устройств и предоставлять ее клиентам в качестве службы.В этом случае приложение WCF может быть размещено в службе Windows или IIS на серверном компьютере и предоставлять данные через одну или несколько конечных точек (HTTP, TCP).

Мне не известно о проблемах при подключенииприложение SilverLight для службы, но я бы предпочел вместо этого использовать комбинацию HTML5 / JavaScript, чтобы упростить развертывание и совместимость с более широким спектром устройств (без плагинов).ASP.NET MVC должен быть лучшим выбором для веб-приложения.

...