Plugin Vs Workflow

While I was going through few blogs I found below information about plugins and workflows, I thought it would be useful for many.

Plugins:

  1. Plugins can be executed immediately or queue to execute after core operation.
  2. Plugins that execute immediately (Synchronously) increase response time as they are part of main processing.
  3. Plugins that are queued (Asynchronously) does not impact response time as they run as a separate process (Async services)
  4. Any plugin registered, execution is restricted for 2-minute time limit
  5. Plugins support online and offline execution.
  6. Plugins can execute operations, under user context or on admin context.
  7. To register a plugin, user must require security roles like System Administrator and System Customizer and part of deployment administrator group.
  8. Plugins registered in online environment in sandbox mode will have some restrictions.
  9. Plugins can be written by a Dynamics CRM developer

Workflows:

  1. Like Plugins, workflows can be executed immediately or queued to execute after core operation
  2. Real-time workflows impact response time whereas Asynchronous workflows doesn’t.
  3. Workflows can be written for long running processes however each activity in a workflow is restricted to 2-minute execution limit.
  4. Workflows can only be executed in online mode.
  5. Actions like, pause, wait, cancel, postpone and resume can be performed on workflows where state is saved before pause or wait. This doesn’t hold good for real-time workflows. Real-time workflows follow plugin rules.
  6. Workflows can be created by using interactively in CRM web application by any user. However, a developer is required to create custom workflow activity.
  7. User should have System Administrator, System customizer roles and should be part of deployment administrator group to register a custom workflow assembly.
  8. Real-time workflows can be executed under calling user context or administrator context. Whereas Asynchronous workflows can execute under administrator context only.
  9. A workflow can be executed on-demand.