Plug-In Development For Microsoft Dynamics CRM 4.0

Computers & Technology

  • Author Dharmesh Aegis
  • Published February 23, 2012
  • Word count 551

CRM Development or Offshore CRM Development is highly preferred these days. People want to outsource CRM development because it saves costs and gives optimum results. For this Microsoft Dynamics CRM 4.0 is the best option as it supports the platform extension by integrating custom business logic which are popularly known as plug-ins. In the version 3.0 these were known as callouts. Plug-ins is executed in a richer run time environment and has access to new capabilities. This article will give you an overview of the new plug-in capability, teach you how to learn new plug-in programming model and compares plug-ins to callouts.

Applies To:

" Microsoft Dynamics CRM 4.0

" Microsoft Visual Studio 2005

" Microsoft Visual Studio 2008

Introduction:

While Microsoft CRM development there is a method of customizing or extending the functionality of the system which is possible by integrating custom business logic. With the help of this extension capability it is possible to add new data processing features or alter the way it is processed. Under which the business logic is executed you can also define the specific conditions.

Microsoft Dynamics CRM Online does not support plug-ins but if you want to extend the functionality then use workflows.

Comparison of Plug-ins to Callouts

There has been lot of changes in the latest Microsoft Dynamics CRM 4.0 compared to 3.0. These changes were the result for customer who asked for access to more capabilities and run-time information. Thus latest one has architectural changes along with additions in features and so plug-ins could take advantage. Also it is compatible with the callouts so it is also possible to continue to work with new plug-ins for developing. With plug-in programming model rich information is available at run time.

Let us see some points which have changed from the earlier calledout model to new plug-in programming model:

" Registration: Callouts are registered by editing XML configuration and plug-ins are registered dynamically through a new registration API.

" Context: When a person initiates an operation callouts receive basic amount of data at run-time and plug-ins consists a huge wealth of information at run-time.

" Supported messages: Callouts are executed only in response to a subset of messages while plug-ins is executed in response to most of the messages.

" Mode of execution: Callouts were executed synchronously as part of the main execution thread of the platform and needs lot of processing to reduce overall performance. While plug-ins are capable to execute both synchronously and asynchronously. Thus the plug-ins that are registered as asynchronously are queued to execute at a later time so they can incorporate operations that are process-intensive.

Additionally plug-ins also has features and capabilities like:

" Detection and prevention of infinitive loops.

" Expanded run-time information (context) received by plug-ins

" Execution dependency

" Database deployment

" Offline execution

Now when you know all about the capabilities and extensive data passed to a plug-in at run-time let us see an example of the same.

C#

using System;

usingMicrosoft.Crm.Sdk;

usingMicrosoft.Crm.SdkTypeProxy;

namespaceMyPlugins

{

public class HelloWorldPlugin: IPlugin

{

public void Execute(IPluginExecutionContext context)

{

// Call the Microsoft Dynamics CRM Web services here or perform

// some other useful work.

throw new InvalidPluginExecutionException("Hello world!");

}

}

}

Extensive context information when passed on to plug-ins shows the real power and also has the ability to alter some of the information when passed through the system. In case you need more information please refer SDK documentation.

This article has been viewed 949 times.

Rate article

Article comments

There are no posted comments.

Related articles