2010-03-23 7 views
5

Se ha hecho evidente que donde trabajo necesito, internamente, un "sistema de notificación". El problema es que estamos muy dispersos en varios edificios y la mayor parte de la fuerza de trabajo mantiene regularmente el correo electrónico cerrado durante horas.Notificaciones de Escritorio, también conocido como Sistema de Alerta Interna

Necesito crear una forma simple de poder enviar un mensaje y hacer que aparezca en la computadora de todos (o en una sola computadora).

Mi primer pensamiento fue escribir un servicio de Windows que llama a una aplicación winform/wpf que reside en cada computadora que simplemente aparece con el mensaje. No estoy seguro de qué tan viable es una idea, pero esto es solo una tormenta de ideas.

Una ruta diferente, pensé, podría ser una aplicación que reside en la bandeja del sistema de cada computadora que sondea una tabla db y con el Query Notifications podría aparecer un mensaje cada vez que se agrega una nueva fila. Luego, simplemente crea una aplicación locamente básica para escribir una fila en esa mesa.

Entonces, lo que estoy preguntando es si alguien más ha recorrido este camino. ¿Si es así, cómo?

  • ¿Qué cosas tomaste en ?

  • ¿Alguna de mis ideas son válidas a partir de puntos o son "huevo y mi cara en alineación perfecta"?

  • ¿Hay una manera diferente de que incluso sea más simple?

Gracias


Algunos requisitos simples -> debe ser "One Way" ya que no puedo dar nuestra base de usuarios de un sistema de "chat". Debe estar, de alguna manera, oculto para desalentar a los usuarios a apagarlo. A la bandeja o servicio del sistema.

+0

Basado en las respuestas actuales, no haría un sistema de sondeo, las tomas serían más eficientes y también mostrarían el mensaje mucho más rápido – Jake

Respuesta

0

Hice algo así hace mucho tiempo para coordinar las pausas para fumar. Simplemente envié broadcast packet a la LAN en un puerto específico. Funcionó relativamente bien, aunque como cualquiera podía transmitir y todos recibirían una ventana emergente, se abusó mucho.

1

Nunca he hecho esto pero he trabajado en un centro de llamadas que usó algo similar y que son increíblemente útiles. Recuerdo una vez cuando todos recibieron un mensaje que decía "¿Alguien sabe mandarín? ¡AYÚDEME!" Brillante. (Afortunadamente alguien lo hizo.)

De todos modos, tus ideas están perfectamente bien. Personalmente, haría esto como una aplicación cliente/servidor. Un formulario de Windows o una aplicación WPF que se encuentra en la bandeja del sistema podría vincularse a un servidor utilizando una conexión dúplex TCP/IP utilizando WCF. Tal vez haga que el cliente se registre en ciertos grupos dependiendo del departamento de PC en el que esté sentado.

Luego, cuando alguien quiere enviar un mensaje, selecciona a qué grupo debe ir (o a todos los grupos), el mensaje llega al servidor que envía a todos los clientes conectados y la aplicación WPF en la computadora recibe el mensaje y aparece. Ni siquiera necesita una base de datos, excepto para almacenar los usuarios/grupos, y el historial de mensajes si es necesario.

1

Esto podría ser una respuesta ridícula pero ¿ha considerado implementar un sistema de chat? Es simple de implementar y bien probado.

He aquí algunas posibilidades:

http://messenger.softros.com/

http://en.wikipedia.org/wiki/Instant_messaging#User_base

artículo en la construcción de su propia: http://www.computerworld.com/s/article/9002059/How_to_build_your_own_corporate_IM_system_

+0

No es ridículo, excepto que nunca será aprobado. :) No puedo ni imaginar cuánto me reiría si sugiriera darles un sistema de chat a 300 enfermeras y asistentes sociales ... aterrador.Para un entorno diferente, probablemente iría en esta dirección, pero aquí tiene que ser de una sola manera sin capacidad (o cerca de no) para que el usuario la cierre. Gracias por la respuesta. –

2

No sería net send ahorrar reinventar la rueda?

+0

posiblemente a excepción de nuestro Administrador de TI es una tuerca de seguridad y cuando lo intenté, esto se reprobó repetidamente. Supongo que lo tiene bloqueado de alguna manera ... http: //www.petri.co.il/msg-exe-net-send-vista.htm –

0

Yo te recomendaría SPARK. Tenemos el mismo problema en mi empresa y finalmente decidí ahorrar tiempo y no reinventar la rueda y usar la solución existente (freeware). SPARK hace el trabajo por nosotros.

"Spark es un cliente de mensajería instantánea multiplataforma de código abierto optimizado para empresas y organizaciones. Cuenta con soporte integrado para chat de grupo, integración de telefonía y seguridad sólida. También ofrece una gran experiencia de usuario final con características como la revisión ortográfica en línea, los marcadores de la sala de chat grupal y las conversaciones con pestañas ".

+0

Implementé Spark en el último lugar en el que trabajé con gran éxito. Desafortunadamente, en este escenario, no es una opción. Simplemente no puedo dar 300 capacidades de IM de enfermeras y trabajadores sociales. Además, como un lado, tan agradable como Spark es recordar que está escrito en JAVA y viene con una huella bastante grande para un cliente de mensajería instantánea. Cuando lo usamos, alrededor de 80 mbs por cliente. Compare eso con 20 para Office Communicator. –

0

Si no puede usar/instalar mensajes instantáneos que posiblemente encuentre cosa sobre la implementación de protocolo simple de "chat" en su aplicación existente.

Es bastante fácil hacer esa base en los enchufes y muchos artículos disponibles.
Por ejemplo:
http://www.codeproject.com/KB/IP/TCPIPChat.aspx
http://www.codeproject.com/KB/miscctrl/SimpleMessenger.aspx?display=Print

Si necesita algo avanzó (. Ej recibir una notificación histórico, gestión de estado de los usuarios, etc.) se puede considerar el uso de openSource Jabber API:
Ej http://www.codeproject.com/KB/gadgets/googletalk.aspx

1

La forma más sencilla de hacerlo es tener un cliente simple en cada máquina que consulta un servicio central para recibir alertas. Cada alerta debe tener una identificación única para que cada cliente pueda lidiar con idempotencia (no desea que el servicio central mantenga pestañas sobre qué clientes han "aparecido").

También recomiendo tener una vida útil razonablemente corta para cada alerta, por lo que el cliente solo necesita conocer una lista muy breve de alertas que ha mostrado y si reiniciara una máquina, solo un pequeño historial de alertas sería desplegado.

Con 300 suscriptores, también querrá que la votación implique una buena separación larga, no desea 300 comprobaciones cada 10 segundos, por lo que tendrá que equilibrar el deseo técnico de brechas largas entre los controles con el requisito de negocio para obtener una alerta dentro de un cierto marco de tiempo.

Esto se puede lograr fácilmente con un servicio WCF NET/TCP sondeado por una aplicación WINFORM/WPF que se agrega como un programa de inicio o un servicio de Windows que genera una interfaz de usuario para mostrar la notificación.

Cuestiones relacionadas