CRM Blog

Monday, October 15, 2007 - Posts

Microsoft Dynamics CRM “Titan” (CRM 4.0) Preview: What are CRM 4.0 Plug-Ins
by Darren Liu 10.15.07

Comments    No Comments

Darren Liu, Microsoft Dynamics CRM MVP
Crowe Chizek and Company LLC
October 15th, 2007

http://www.crowecrm.com

In its short history, we used different terminologies to talk about custom assemblies extending Microsoft CRM. In version 1.x and 3.0, they are known as callouts. In CRM version 1.x, callouts were built as a COM component and in CRM version 3.0, we build callouts using .Net framework v1.1 and it’s always synchronous. In CRM version 4.0, Microsoft completely re-designed the callouts and the callouts are now known as plug-ins. The Plug-In is .Net v2.0 based, a synchronous or asynchronous model with improvement in development, deployment, administration and reliability.

Since there’s synchronous and asynchronous plug-ins for CRM 4.0, when should we use synchronous and asynchronous? Synchronous plug-ins always wait for a response back from the system and it will happen immediately. Therefore, I would suggest using synchronous plug-ins anytime you need an operation to happen immediately (e.g. validation, auto-numbering, retrieve data from other systems, etc…), you need to provide feedback to the user to prevent an action or you want the user to wait for an operation to finish. Asynchronous plug-ins work a little different. The way they work is similar to workflow since workflow is always asynchronous. If you can use workflow to accomplish what you need to do, consider using workflow over asynchronous plug-ins. If you get to a point that you need to do something that is not supported by workflow, then an asynchronous plug-in may be a better choice for you. Microsoft has indicated that asynchronous plug-ins will use less system resources than a workflow process.

Since plug-ins are .Net framework 2.0 based, we can now use Visual Studio 2005 to build it. Yeah!!! Also there’s an offline SDK, which means plug-ins (callouts) can execute offline (Outlook Client for Laptops) now.  During deployment, the deployment tool will give you an option to deploy the assembly to Disk or Database. If you want a plug-in to work offline or would prefer easier functionality syncing, you need to select the database option during your deployment so the assembly can synchronize down to client laptops for offline use. The disk deployment option is best used for debugging purpose and when you use this deployment option, you need to do an IISRESET to update the DLL.

Anyway, there are many new features in the CRM SDK and I am very excited! I am still digging into the new SDK to see what it can do.

Oh, I forgot to mention that all of the callouts that you did for CRM 3.0 (when done in a supported fashion) are upgradeable to CRM 4.0 Plug-Ins.

Darren Liu, is a Senior Consultant and CRM specialist at Crowe Chizek in Chicago. Darren is also a Microsoft CRM MVP and enjoys working with both existing and new clients to leverage the benefits that CRM can provide. Additionally, Darren is very active in the Chinese and English CRM online communities.

Filed under: