1) What is a Plug-in?
A plug-in is custom business logic that you can
integrate with Microsoft Dynamics CRM 2011 and Microsoft Dynamics CRM
Online to modify or augment the standard behavior of the platform.
Plug-ins are event handlers since they are registered to execute in
response to a particular event being fired by the platform.
2) What is a workflow?
Workflow enables automation of business processes
during which documents, information, or tasks are passed from one party
to another and actions are performed according to a set of rules.
Workflow provides many out-of-the-box components that business users and
administrators can use to model their business processes. Microsoft
Dynamics CRM offers developers a new mechanism to extend and customize
the standard behavior to achieve the functionality that their business
applications require.
3) Difference
between CRM 2011 Plug-In and Workflow
Criteria
|
Plug-in
|
Workflow
|
Execution before
or after the core platform operation (Create, Update, Delete, and so on)
|
Executes
immediately before or after the core operation (synchronous).Can also be
queued to execute after the core operation (asynchronous).
|
Queued to execute
after the core operation (always asynchronous).
|
Performance
impact on the server
|
Synchronous
plug-ins can increase the platform’s response time because they are part of
the main platform processing.Asynchronous plug-ins have less impact on server
response time because the code is run in a different process.
|
Less impact on
server response time because the code is run in a different process.
|
Security
restrictions
|
To register a
plug-in with the platform requires a System Admin or System Customizer
security role and membership in the Deployment Administrator group.
|
Users can
interactively create workflows in the Web application.However, to register a
custom workflow activity, the deploying user must have the same security
roles as those required for registering plug-ins.
|
Microsoft
Dynamics CRM version (SKU) support
|
Supported in
Microsoft Dynamics CRM Online when registered in the sandbox. May be
supported in partner-hosted installations at the discretion of the partner.
|
Workflows without
custom workflow activities are supported by all product versions. Custom
workflow activities are not supported on Microsoft Dynamics CRM Online.
|
Length of processing
time
|
A plug-in
registered for synchronous or asynchronous execution is restricted to
complete its execution within a 2 minute time limit.
|
Works well for
either short or long processes.
|
Works when the
Microsoft Dynamics CRM for Outlook client is offline
|
Both online and
offline are supported.
|
Workflows do not
execute when offline.
|
Process and data
persistence
|
Plug-ins execute
to completion. Plug-ins must be written to be stateless where no in-memory
data is persisted.
|
Workflows can be
paused, postponed, canceled, and resumed through SDK calls or by the user
through the Web application. The state of the workflow is automatically saved
before it is paused or postponed.
|
Impersonation
|
Plug-ins can
perform data operations on behalf of another system user.
|
Workflows cannot
use impersonation.
|
4) Difference between plugin vs workflow (asynchronous vs synchronous)
- Workflows and by extension, custom workflow activities, execute totally asynchronously.
- Plugins can execute both asynchronously and synchronously.
- Workflows can be manually executed, or automatically triggered by selected events.
- Workflows can be limited to automatically execute within specific organizational scopes (ie. Org, BU, Parent and Child BUs, or for the Owner only).
- Plugins are always triggered by the messages to which they're subscribed, though some Messages allow limiting execution based on whether certain attributes have been passed into the Message.
- Workflows can be turned off (by unpublishing). Plugins are always on. Custom workflow activities can be used in many Workflows.
- Workflows can be developed through the Workflow design interface.
- Plugins must be developed in Visual Studio.Workflows do not require compiling (though custom workflow activities do).
- Plugins and custom workflow activities must be compiled and deployed through processes external to CRM.
In short: though only asynchronous in nature, Workflows
allow an unimpeachable degree of flexibility and ease of configuration
which Plugins do not afford, and their administration can be granted to
power users of CRM without necessary access to the server or platform
code. Plugins offer the highest degree of security and performance and
surpass Workflows in capability and ability to augment platform
operations.
When speed of execution, security of process, and validity of data are
integral, I choose Plugins. When flexibility, functionality reuse, and
optional user involvement are integral, I choose Workflows.
5) When will you use workflow and when will you use Plug In.?
With the CRM 4.0 and 2011 enhancements to the plug-in and
workflow engine as well as the introduction of the web based workflow
designer I've seen many CRM developers asking the same question: When
should I use workflow vs. plug-ins? The answer is “depends”; the right
approach is determined by the characteristics of the task that you are
trying to accomplish.
The following matrix gives you my take on this:
Requirement
|
Plug-in
|
Workflow
|
Needs a synchronous action to
happen before or after an event occurs
|
X
|
|
The same piece of logic will be
executed for different events and possibly on different entities
|
X
|
x
|
The logic needs to be executed
while offline
|
X
|
|
Needs elevation of privileges
(impersonation)
|
X
|
|
Needs to execute on events other
than assign, create, update, setstate
|
X
|
|
The process/logic may take a long
time to complete or will be a persistent process (multiple long running
steps)
|
x
|
|
Needs an asynchronous action
|
x
|
x
|
End users will need to modify the
process logic
|
x
|
|
Child sub processes will be
triggered
|
x
|
6) What is Microsoft Dynamics CRM E-mail Router?
Ms CRM E-mail Router is a software component that creates an
interface between a Microsoft Dynamics CRM deployment and the
organization's messaging system. The E-mail Router routes qualified
email messages to the Microsoft Dynamics CRM system as email activities
and fully integrates with different messaging systems, such as Microsoft
Exchange Server, Microsoft Exchange Online, POP3, and SMTP. The E-mail
Router includes the functionality for sending email through any desired
SMTP provider and for receiving email from Microsoft Exchange Server or
from a POP3 server. Additionally, the Forward Mailbox feature remains
available.
7) Should I have Microsoft Exchange Server installed in my Active Directory domain?
You do not need to have Microsoft Exchange Server installed to
send and to receive email messages from Microsoft Dynamics CRM. You can
use external or in-house SMTP and POP3 services to send and to receive
email messages
No comments:
Post a Comment