Friday, May 18, 2012

The Extensibility Model of Microsoft Dynamics CRM

The extensibility platform is the best feature of Dynamics CRM and Dynamics CRM online. The application that we develop is on the top of this platform dynamics CRM support two type of deployments Dynamics CRM (on-premises) and CRM online(Hosted). Dynamics CRM has a security model that protects the platform from unauthorized access on the web.
Every application that developed for Dynamics CRM server is uses Web service to communicate with the xRM platform layer. Microsoft Dynamics CRM uses a metadata driven architecture to provide the flexibility to create custom entities and additional system entity attributes and also make upgrades and transportation of solutions easier.
We can control access to data through security using xRM platform, controls access to the database, and raises events for workflow processes and custom business logic implementations (plug-ins). The platform layer provides for both incoming and outgoing email processing though Microsoft Exchange Server.

 WCF Web Services

Microsoft Dynamics CRM uses web service interface to interact with CRM data, meta data and with platform services, The web services are based on Windows communication Foundation (WCF). We could use write application and tools with the help of these web services. For more information about Web services, see Write Code for Microsoft Dynamics CRM (Web Services). For more information about Web services, see the .NET Framework Developer Center. You can also read the article XML Web Services Basics.

Processes (Workflows)

Most of us are familiar with workflows in 4.0 but in 2011 Microsoft introduces processes. Which include two categories workflows and dialogs. Processes are used to create and execute custom business processes. As you can see in the above picture process are on top of WWF. We can write custom process activates (.Net assemblies). For more information about processes, see Processes in Microsoft Dynamics CRM (Formerly Workflows).


Microsoft gives us extension to perform custom business logic. You can implement your business logic not just with the help of workflow process but also with the help of Plug-ins
Plug-ins support an event handler interface that is based on a pipeline execution model. The pipeline model allows for event handlers, also known as plug-ins, to be executed before or after the core operation of the system. When an action occurs caused by user interaction with the Web application or a Web service call, the platform checks for registered event handlers. If a handler is registered for notification, the platform executes a well-defined event handler method, passing it run-time information. For more information, see Plug-ins for Extending Microsoft Dynamics CRM.

Client Application Extensions

MS CRM has a very power client application extensions. We could implement customization and all the client programming code is stored in the MS CRM database. This makes easy to import and export the code from developemt enviorment to production enviorment.
Using SSRS and built in report creation functionality we could develop complex reports.
There are two catagrioes of reports
1.      SSRS
2.      Fetch XML
We could directly export our report for Excel and access.