2009-10-29 7 views
6

La empresa para la que trabajo está rediseñando nuestra aplicación en .NET. Nuestra aplicación se vende utilizando el software como modelo de servicio.Seguimiento de las acciones del usuario en una aplicación comercial

Realizamos un seguimiento de todas las acciones de nuestros usuarios en el software con fines de informes (búsqueda de cosas, descarga de activos, rellenado de formularios, lo que está asociado con el formulario que están creando, instantánea del perfil del usuario y detalles al iniciar sesión, etc.) Anteriormente habíamos escrito una lógica de seguimiento muy sólida para completar todos estos detalles en nuestra aplicación anterior.

Antes de completar este rediseño inicial en la aplicación .NET, quería saber si alguien tiene recomendaciones de soluciones de seguimiento disponibles o sistemas de seguimiento de código abierto que hayan implementado en el pasado que sean bastante sólidos.

Detalles adicionales: Tenemos una gran cantidad de datos personalizados (específicos de nuestra aplicación) que necesita ser rastreado y nuestra aplicación sólo se accede a través de sitios de la intranet de la empresa lo que los detalles de donde viene la gente no se necesita como ya sabemos esto

Estoy planeando el seguimiento de visitas a la página para que la visita del usuario se pueda recrear si es necesario.

EDITAR (20/11/2009): No parece haber una solución estándar que se adapte a mi problema, pero voy a actualizar esta pregunta con un diseño y una dirección que vamos a implementar en la próxima par de semanas. Entonces, si está interesado en lo que sucedió con esta pregunta, vuelva pronto.

Respuesta

0

Microsoft's Enterprise Library tiene algunas partes que pueden ser útiles con algunas de las cañerías básicas que puede desear para el manejo/registro de excepciones con fines informativos. Puede haber otros paquetes de software como log4net que también podrían funcionar para una parte específica de la aplicación que otros podrían sugerir.

Solo un par de ideas para que las cosas evalúen qué tan bien funcionarían para usted.

+0

log4net es una gran aplicación para el registro, pero puede ser difícil de usar si desea rastrear detalles robustos del objeto. Si puede obtener toda la información que necesita con un registrador general en una base de datos, definitivamente vaya con log4 –

+0

@Russell - Estoy de acuerdo en que log4net es una gran aplicación para el registro, pero sería difícil usarlo para rastrear detalles de objetos robustos. Si terminamos codificando todo el seguimiento nosotros mismos podría intentar abstraer un marco que puedo publicar en sourceforge o algo así. Me imagino que conectaremos un controlador/módulo para algunas cosas y crearemos un cable de evento de seguimiento a través de nuestra clase principal "Página". – Dan

1

Nuestra empresa usa log4net para rastrear las acciones de los usuarios. También tenemos acciones insertadas en la base de datos para cualquier acción que un usuario tome en nuestras aplicaciones. Con log4Net puede obtener granularidad en lo que registra y donde se registra. aquí hay una descarga de direct link de sus binarios para la versión 1.2.10 (la última hasta el día de hoy). Una vez que lo haya configurado, es realmente fácil de usar y registrar la información.

Espero que esto ayude,

de Scott

+0

log4net fue diseñado exactamente para rastrear las acciones de un usuario y ya usamos log4net en nuestra aplicación para el registro/depuración general de aplicaciones. Gracias por sus comentarios sobre esto. – Dan

2

Bueno ... en realidad hay tres tipos diferentes de seguimiento de los niveles (loggin) que usted ha mencionado y diferentes herramientas para cada uno.

En su puesto se mencionan:

  1. Seguimiento de las páginas de las visitas de los usuarios: Para mí esto sería una función del servidor web. IIS (supongo que IIS porque dijiste que es .Net) registrará todo esto por ti. Hay varias herramientas para extraer esa información.

  2. Transacciones comerciales: Suff like, el usuario imprimió un informe. El usuario ejecutó un proceso, etc. Estos no son siempre específicos para el cambio de datos. Usar una herramienta como log4net y un contenedor IoC para inyectar este tipo de inicio de sesión en sus objetos comerciales funcionaría bien.

  3. Modificaciones de datos: Este es el seguimiento de nivel de datos. Hay varias formas de hacer esto. Pero, recomendaría ponerlo cerca de la base de datos. Probablemente sea un poco más fácil hacerlo en el DAL, pero ¿qué pasa si alguien cambia los datos en la base de datos fuera de la aplicación? Por supuesto, eso puede no ser posible en tu caso. He visto esto hecho con disparadores. Pero, SQL 2008 agregó change tracking incorporado.

Entonces, yo diría que necesita una combinación de las tres herramientas. Quizás pueda consolidar todos los datos en una sola tabla o dos para simplificar su visualización y minería.

0

Nivel de indirección. Implementar un proxy inverso con filtros de entrada (¿Apache?) Que registra ambas solicitudes y solicita parámetros a un DB. Informes y recreación de sesiones se alivian mucho.

+0

En una aplicación comercial, la mayoría de los detalles que le interesan en el seguimiento generalmente no se pasan de un lado a otro a través de solicitudes – Dan

Cuestiones relacionadas