2009-10-27 20 views
20

me encontré con stateless, un marco de máquina de estado jerárquico basado en Simple State Machine para Boo, pero no está configurado con C# 3.0.NET Workflow Engine Sugerencias

Es fácil de configurar y usar, probablemente usarlo pronto.

Pero me estaba preguntando si

  • Cualquier persona utiliza stateless para proyectos reales (Si es así ¿cuál es su opinión?)
  • ¿Hay otras buenas motores de flujo de trabajo para .NET? (distinto de WF)
+3

Otros motores de flujo de trabajo: quieres decir, excepto Workflow Foundation, ¿no? –

+1

Sí, aparte de WF. – Leyu

+3

pregunta práctica y útil? Vamos a cerrarlo! – Den

Respuesta

11

He estado usando Stateless y WF para una aplicación que está destinada a entrar en producción algún día. :) He detallado mis experiencias hasta ahora on my post here.

En general, prefiero Stateless porque es más simple para más cosas que WF. Claro, es bueno poder diseñar su flujo de trabajo gráficamente, pero cuando necesita implementar algo más difícil que un flujo de trabajo secuencial (como el flujo de trabajo de la máquina de estado), tendrá que trabajar con ExternalDataExchange solo para realizar las transiciones de estado correctas. Probablemente no sea difícil, pero teniendo en cuenta eso y el hecho de que necesite implementar un servicio de persistencia para detener un flujo de trabajo no me pareció nada atractivo. No necesito actualizar un flujo de trabajo en el disco para su posterior ejecución de todos modos ... así que usaré los eventos regulares para resolver esto en Stateless. El manejo de errores es fácilmente realizable en Stateless (he tenido éxito con esto), pero la implementación que he realizado es cuestionable, y es el tema de otra discusión (que estoy buscando ahora en SO!). Posiblemente esté publicando una pregunta sobre esto muy pronto.

Buena suerte con Stateless. Espero escuchar cómo has estado progresando con esto.

+0

Hay un proyecto en CodePlex que muestra su máquina de estado sin estado gráficamente. Actualmente no es compatible con todas las funciones en el marco sin estado. http://statelessdesigner.codeplex.com –

+0

Lo comprobaré. ¡Gracias por compartir! – Dave

2

Si no ha mirado el Windows Workflow Foundation, al menos vale la pena leer un poco al respecto.

+5

Quiero una solución más liviana – Leyu

+1

todos necesitamos soluciones livianas :) –

5

Para Workflow Foundation, solo úselo para proyectos verdes para que pueda usar WF4. Mira esto http://realworldsa.dotnetdevelopersjournal.com/goodbyewindowsworkflowfoundationseeyouin2011.htm

WF 1.0 y 1.5 no son compatibles con WF4. Entonces no es una solución directa.

Yo personalmente uso http://simplestatemachine.codeplex.com como alternativa a WF. Lo he usado en un sistema de producción completo (basado en asp.net) para manejar un sistema bastante complejo de emisión de licencias comerciales (manejo de más de 350 licencias comerciales gubernamentales diferentes).

No he intentado sin estado pero parece prometedor.

5

Tarde a la fiesta. Hemos utilizado Stateless en producción ahora durante más de un año y medio, sin problemas. Es una solución muy elegante para el procesamiento de flujos de trabajo e integra rápidamente los estados con su modelo de datos. Representamos nuestros estados con y int en SQL, por lo que puede ejecutar la máquina de estado en ASP.Net en proceso. Esto también se aplica a los flujos de trabajo de larga ejecución.

+0

Hola David, ¿me gustaría saber si todavía usas Stateless para tus flujos de trabajo? ¿Alguna sugerencia sobre estados persistentes en SQL? –

+0

@Mark H - definitivamente. He encontrado que es muy útil, y he construido varias soluciones con él. –

5

Si sus requisitos son básicos, un StateMachine muy simple que escribí puede ser de su interés.

Tenga en cuenta que no admite (en el momento de redactar este documento) estados jerárquicos.

Puede encontrarlo en NuGet:

nuget install nstate 

o comprobar que funciona en GitHub:

https://github.com/benaston/NState

espero que alguien le resulta útil.

+0

Estoy leyendo su solución en github ahora. Se ve interesante. He estado usando apátridas durante 3 años, pero también me gusta su enfoque. –

+0

¡Gracias por tu amable comentario! – Ben