Pregunta

WorkflowRuntime workflowRuntime = new WorkflowRuntime();

 ExternalDataExchangeService dataExchangeService;
 dataExchangeService = new ExternalDataExchangeService();
 workflowRuntime.AddService(dataExchangeService);

 PaymentProcessingService paymentProcessing;
 paymentProcessing = new PaymentProcessingService();
 dataExchangeService.AddService(paymentProcessing);

Con el código anterior, nuestra aplicación puede utilizar para paymentProcessing.RaiseXXXXEvent interactiva con la instancia de flujo de trabajo. Mi pregunta es: ¿Cuál es el principio de implementar un mecanismo de este tipo. Creo que esto es una especie de dirigido por eventos Patrón , pero ¿cómo puedo poner en práctica este mecanismo y por qué? Por favor, que me señale la dirección o cualquier referencia son apreciados.

Por cierto, no es el mecanismo en jBPM? ¿El flujo de trabajo incluye jBPM secuencia de flujo de trabajo y la máquina de estado de flujo de trabajo como fundamento ventana?

Gracias!

¿Fue útil?

Solución

WF define un conjunto de servicios de núcleo de flujo de trabajo que la programación de subprocesos mango, flujo de trabajo persistencia, transacciones, y el seguimiento del flujo de trabajo. Los diseñadores de WF podrían haber encajado la puesta en práctica de estos servicios en el motor de tiempo de ejecución en sí, sino que sabiamente eligieron para exteriorizar ellos, la colocación de sus implementaciones en servicios enchufables. Esto te coloca en el control . Tú decides qué servicios utilizar (algunos son opcionales), y que la aplicación a utilizar para cada servicio.

WF también es compatible con otro tipo de servicio conocido como un servicio local (a veces llamada de datos servicio de cambio). Este es un servicio que a diseñar e implementar mismo. Un servicio local puede servir casi cualquier propósito, pero un uso general es para facilitar las comunicaciones entre instancias de flujo de trabajo y la aplicación host. En contraste con esto, los servicios de núcleo de flujo de trabajo tienen cada uno un propósito (por ejemplo, persistencia, seguimiento) que ha sido definido por Microsoft. Puede desarrollar implementaciones alternativas para cada servicio básico, pero eso no cambia su propósito definido.

Para que su servicio local disponible para la instancia de flujo de trabajo. Hay varios métodos para hacer esto. Lo más sencillo sería utilizar el CallExternalMethodActivity y configurarlo.

Además, el servicio debe tener una interfaz y decorado con [ExternalDataExchange].

Si usted está buscando en la escritura de su propia implementación de un servicio básico, aquí hay un enlace que describen cómo proporcionar sus propio servicio básico de flujo de trabajo .

http://msdn.microsoft. com / es-es / library / ms734705 (v = VS.90) .aspx

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top