jueves, 14 de julio de 2011

Plugin, Workflow o Dialogos.. Ser o no Ser

Éste artículo es una traducción del original publicado aquí

Este post está inspirado por un popular artículo de mi ex compañero Humberto Lezama acerca del cuándo se pueden usar plugin, workflow para poder implementar lógicas personalizadas en Microsoft Dynamics CRM 2011. Deberé de expander esta matriz para agregar criterio adicionales y mayor detalles acerca de cómo cada plugin vs workflow manejan diferentes tipos de requerimientos. Adicionalmente, tengo que agregar los nuevos eventos. Los “diálogos” como una nueva alternativa para su uso.

 

Criterio

Usar Plugin

Usar Workflow

Usar Diálogos

Se necesita ejecutar lógica personalizada síncronamente.

Soportan la ejecución síncrona.

clip_image001[38]

Siempre se ejecutan síncronamente.

La lógica necesita ser ejecutada en modo Offline

Soportan la ejecución Offline

clip_image001[39]

clip_image001[40]

Necesita privilegios elevados (impersonation)

En los pasos del plugin, se puede seleccionar con que usuario se ejecuta el proceso.

En algunos casos se puede controlar la ejecución del workflow con un usuario, al que se le debería de asignar el workflow

clip_image001[41]

Se necesita en la ejecución de otros eventos tales como crear, asignar, actualizar y set state

Pueden ser registrados en cualquier de esos eventos. Ver la lista de mensajes del SDK

clip_image001[42]

clip_image001[43]

Para que se complete el proceso lógico, este puede tardar un lapso largo de tiempo..

clip_image001[44]

No tienen limite de tiempo. Estos solo pueden esta en espera o ejecucarse en fechas posteriores. Los plugin tienen fechas limites ya que se completan en un par de minutos

clip_image001[45]

Ejecución asíncrona

Soporta la ejecución asíncrona.

Soportan la ejecución asíncrona.

clip_image001[46]

Los usuarios finales pueden modificar el proceso lógico

clip_image001[47]

Este proceso puede ser modificado usando el diseñador de Flujos del CRM. Este diseñador no requiere al administrador IT, ni recompilar e implementar las ddl de los plugin.

Los su flujos pueden ser desencadenados

 

Soportan la ejecución de sub flujos.

Se deberá de leer parámetros de configuración para su ejecución

Se puede definir la configuración al definir los pasos de los plugin. Esos parámetros pueden ser enviados al constructor del plugin donde fácilmente son actualizados

clip_image001[48]

No puedes leer parámetros de configuración, sin embargo ellos puedes recibir información desde la interacción de los usuarios.

La ejecución en demanda

clip_image001[49]

Puedes ser ejecutados en demanda

Poder hacer roll back transacción en caso de error

Pueden registrar transacciones. Permiten el roll back en la operaciones principales si los plugin fallan.

clip_image001[50]

clip_image001[51]

Los plugin/workflow no es posible implementarlos por el diseñador

Son escritos en Net y estos soportan cualquier acción que pueda ser mostrada en el SDK de Dynamics CRM

Se puede extender los workflow/diálogos para crear actividades personalizadas solo con escribir en NET y llamando a métodos del CRM SDK. Sin embargo estos no son soportados en CRM OnLine

La interacción con el usuario es requerida para la ejecución de la lógica personalizada

clip_image001[52]

clip_image001[53]

Los procesos pueden ejecutarse con la petición de datos a los usuarios finales.

Los procesos personalizados puede ser ejecutados antes de la operación principal

Pueden ser registrados para ser ejecutados Pre operaciones.

clip_image001[54]

clip_image001[55]

Unir la data desde la entidad Pre Imagen

Se puede registrar imagines en los plugin

Las pre-imágenes son permitidas pero solo en los workflow customizados. No son soportados OnLine

Unir la data desde la entidad Pre Imagen

Se puede registrar post imágenes

Las post imágenes están permitidas desde el diseñador

Se necesita que este dentro de una solución

Estas soluciones están soportadas.

Usar variables para almacenar data temporalmente

Usa variables compartidas para el almacenamiento de datos. Estas variables pueden ser pasadas a otros plugin del proyecto.

El uso de las variables compartidas pueden pasarse de un paso a otro.

Soportan variables de tipo String, Enteros y Float. Que podrían ser enviados de una paso a otro. Para estos tipo de variables compartidas pueden usarse desde los workflow.

Share this post
  • Share to Facebook
  • Share to Twitter
  • Share to Google+
  • Share to Email
  • More...

0 comentarios

 
© 2011 Dynamics CRM Rulez !!!!!!
Designed by BlogThietKe Cooperated with Duy Pham
Released under Creative Commons 3.0 CC BY-NC 3.0
Posts RSSComments RSS
Back to top