Saturday, 17 October 2015

Mostly asked interview questions with answers on MS Dynamics CRM Part 3

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