He estado usando WWF durante un tiempo como parte de una aplicación interna de call center (ASP.NET), y aunque aprendí que era una buena práctica para entender cómo funciona un sistema de flujo de trabajo basado en la máquina de estado , definitivamente soy no enamorado de WWF. En mi opinión es:Alternativas a Windows Workflow Foundation?
- excesivamente compleja, especialmente para su uso dentro de las aplicaciones web (todo lo que enhebra cosas en tiempo de ejecución)
- Inmaduros (Alguna vez ha trabajado con ese diseñador tan horrible?)
- anémico en su conjunto de características actual
¿Alguien tiene alguna sugerencia para un mejor marco de trabajo basado en .NET? En concreto, estoy buscando para las siguientes funciones: a base de máquina (estados de mapeo a acciones disponibles)
- Estado
- Un enfoque en los permisos de usuario (controlando quién tiene acceso a qué acciones)
- La capacidad de ejecutar flujos de trabajo como tareas de fondo temporizadas (por ejemplo, para enviar recordatorios de artículos que han estado en un estado determinado durante x días)
Eso es todo lo que necesito. No necesito poder "arrastrar y soltar" ninguna actividad ni diseñar visualmente el flujo. Me siento perfectamente cómodo escribiendo código real una vez que se desencadena una acción en particular.
Simple State Machine es inteligente. Si su modelo se ajusta pero prefiere trabajar en C# que en Boo, también podría considerar Stateless (http://stateless.googlecode.com) –
Lo siento, soy nuevo aquí (y para .NET), así que llego tarde al juego. :) Acepto que la implementación de la máquina de estado en WF es bastante complicada. Yo mismo estoy usando flujos de trabajo secuenciales porque coinciden con mis requisitos, pero el manejo de errores es realmente complicado (para mí) cuando todo lo involucrado aún incluye los requisitos de actualización de la GUI. Gracias por recomendar Simple State Machine. Me gusta lo fácil que es implementar flujos de trabajo secuenciales en WF, pero imagino que todavía es bastante fácil en SSM, y que el manejo de errores será mucho más fácil de implementar también. – Dave