2011-09-14 8 views
5

Quiero construir algún tipo de interfaz que supervise nuestro sistema de enrutamiento/conmutación en tiempo real. Me gustaría dar muchos comentarios visuales para poder controlar su estado visualmente. Nuestro sistema y nuestros clientes no comparten ubicación, por lo que tendrían que conectarse a través de TCP/IP.¿Qué herramientas .Net debería considerar usar para crear una aplicación que proporcione monitoreo de nuestros sistemas en tiempo real?

Me gustaría ser capaz de dar servicio a cualquier número de clientes de monitoreo (aunque esto probablemente solo sea de alrededor de 4-6 clientes). Pensé en usar SilverLight, pero parece haber uno o dos trucos para que SilverLight vuelva a conectarse a una aplicación que se ejecuta en un puerto diferente.

También he pensado en utilizar canvas y websockets HTML5. Otra alternativa es simplemente crear los clientes utilizando Window Forms normal y quizás WPF. Pero esto significa que para monitorear la aplicación, el cliente deberá descargarse antes. ¿Preferiría algo que sea tan fácilmente accesible como la aplicación web?

¿Cuáles son algunas de las pilas de aplicaciones más comunes para lograr esto? ¿Qué debería tener cuidado?

EDIT:

sólo para añadir: Esta será sólo una herramienta interna. Pero tenemos oficinas en un par de lugares.

Respuesta

2

ninguna opción en esta dirección podría ser subjetiva y discutible, seguramente alguien podría sugerir una posible framework web o lenguaje ...

yo consideraría, sin embargo debido a su .NET y C# etiquetas, ASP.NET MVC 3, así que básicamente solución basada en web sin plugin (NO Silverlight) HTML 5.

Considere que StackOverflow se realiza de la misma manera (MVC, ASP.NET, SQL Server ...) y supera como todos sabemos.

la forma de capturar los eventos subyacentes de TCP, por lo que la forma de capturar y proporcionar los datos de TCP, es otra cosa desde el principio, probablemente escribiría un servicio de Windows si el tráfico es tan alto y desea capturar y almacenar cualquier cosa independientemente de cualquier conexión de cliente activa.

Hay muchos controles de gráficos en tiempo real también para MVC, MS Chart Control. DevExpress, ExtJS integrados ...

2

"tiempo real" y el navegador me está molestando. De hecho, iría WPF o WinForms. Con ClickOnce-Deployment puede hacer que esto no le moleste al usuario y puede implementar nuevas versiones simplemente volviéndolo a implementar y haciendo que el usuario reinicie la aplicación. En mi empresa, esto funciona realmente bien y no tenemos problemas en absoluto. El único problema con esto es que el app.config es algo difícil de encontrar y mantener actualizado/válido (redesplegar) pero en su caso esto no cambiará por cliente (o eso creo).

+0

Realmente, ¿por qué ser tan creativo si simplemente ahorra tiempo y dinero simplemente usando la implementación de ClickOnce para aplicaciones administradas/no administradas? –

+0

WPF o Windows Forms o SL no tienen forma de usar iPads, teléfonos Android o tabletas ... Iría basado en web, HTML 5 ... solo para no tener que hacer otra interfaz web después ... –

+0

@Davide: sure pero el mismo uriDium trajo a Windows a la discusión, así que esto no parece ser un problema. Él solo estaba preocupado con el "despliegue" o eso me pareció a mí. Y como él etiquetó el agujero C# y .net, creo que esto (C# + .net) será mucho más fácil para él que implementar soluciones HTML5 para IPad/Android ...; D – Carsten

0

Si está empezando desde cero, sería bueno comprobar WCF (Windows Communication Foundation). Es genial porque puede exponer tu funcionalidad in many ways, usando nada más que modificar un archivo de configuración.

Si desea una aplicación de cliente de Windows, puede alojarla en un servicio de Windows o simplemente incluirla como un ensamblaje lateral. Para las aplicaciones web, puede elegir entre varios formatos (JSON, XML), canales (HTTP, TCP) y protocolos (SOAP, ODP).

Si lo hice bien, habrá una aplicación del lado del servidor que recopilará información de los dispositivos y la expondrá a los clientes como un servicio.En ese caso, una aplicación WCF podría alojarse en un servicio de Windows o IIS en una máquina servidor, y exponer los datos a través de uno o más puntos finales (HTTP, TCP).

No tengo conocimiento de problemas para conectar una aplicación SilverLight a un servicio, pero preferiría utilizar un combo HTML5/JavaScript para una implementación más fácil y compatibilidad con una gama más amplia de dispositivos (no se necesitan complementos). ASP.NET MVC debería ser la mejor opción para la aplicación web.

0

Estoy de acuerdo con @Davide - Me gustaría un WebService que obtenga todos los datos de enrutamiento/cambio en tiempo real. Tendrá una aplicación web y en el lado del cliente tendrá JQuery/AJAX obteniendo datos en tiempo real del componente WebService.

Cuestiones relacionadas