Tuesday, March 12, 2013

CRM 2011 - Architecture Concepts


Microsoft Dynamics CRM 2011 offers a rich set of marketing, sales and service features for managing customers along with a rich set of extensibility features for configuring and customizing the standard features to meet our requirements. This is a web based application that uses multi-tier client server architecture, which provides great scalability, flexibility and extensibility than the previous two tier client server architecture. In the multi-tier architecture, the application tier separates the presentation from the data tier. Because of this changes can be made to any of the part of the system without affecting the other parts.

Presentation Tier


CRM 2011 provides user access through the web client, via outlook or via mobile. Presentation tier can be customized using,

·         User interface customization features native to CRM 2011 such as the ability to customize forms and views.

·         Client side integration using web resources such as JavaScript, Silverlight which enables rich user interface customization, data validation and other client-side features.

·         Custom reports using SSRS.

·         Custom charts and dashboards using customization features.

Application Tier


CRM server runs the application/platform tier components. This can be customized using,

·         Server side integration by using web services to integrate with on premise or cloud based systems.

·         Workflows and dialogs can be configured which enables us to automate business processes in the application tier. Processes are triggered by events when specified actions are performed or conditions are met.

·         Plugins and custom workflow activities can be developed to provide event based customization.

·         Security can be customized by creating business units, security roles, field security profiles and teams.

Data Tier


SQL Server provides the data tier components of a MS Dynamics deployment. Data tier can be customized using the metadata changes such as creating custom entities, relationships, attributes, forms, views and option sets. This can be made using CRM’s customization features, importing a solution or using web services. Direct interaction with the data tier is not supported. Filtered views provide an efficient way for securely retrieving CRM records, using custom SQL based queries and displaying the data to a user based on their security roles.

Supported Customizations


·         Use of the web services including DiscoveryService, OrganizationService, Organization Data Service, SOAP endpoint for web services and Deployment Services.

·         Form scripting using the documented objects and methods is available by using the Xrm.Page.data and Xrm.Page.ui objects.

·         Ribbon customization using RibbonDiffXML to add, remove or hide ribbon elements.

·         The solution files can be customized by exporting and extracting the customization.xml file and making modifications. Only consideration to be given here is that the file should conform to the customizationsolution.xsd schema. Many changes like Ribbon customization, SiteMap customization, and form and dashboard customization using FormXML and saved query customization all require this technique.

·         Plugins to handle custom business logic that are developed using the mechanism described in the CRM SDK are supported and upgradeable. Adding the plugins and custom workflow activities to the %installdir%\server\bin\ folder is not supported for MS Dynamics CRM online.

·         The custom workflow activities/ assemblies that are developed by using the mechanism described in the SDK and called from the workflow processes and the ability to edit the XAML workflows is supported and upgradeable.

·         Adding the custom web pages to the <serverroot>\ISV\<ISV name> folder is supported but deprecated.

Unsupported Customizations


·         Modifications or additions to the files in the www root directories of Microsoft dynamics CRM.

·         Modifications to the CRM website, including the file system access control lists.

·         User of client certificates.

·         Modifications to the physical schema of the CRM database such as adding or modifying tables, stored procedures or views and so on. Only exception in this case is adding or updating the database indexes.

·         Creating or updating the records directly in the database by using T SQL or any other method that is not described in SDK.

·         Editing the customizations.xml file within a solution to edit any solution components other than ribbons, forms SiteMap or saved queries.

Deployment Options


There are different options for Microsoft dynamics CRM 2011 for deployment.

On Premise


In an on premise deployment, the MS customer deploys MS Dynamics CRM in its own data center. In an on premise deployment, an Internet Facing Deployment (IFD) configuration is optional and only necessary when users outside the customer’s network need access to the CRM application.

Partner Hosted


In a partner hosted deployment, a Microsoft hosting partner deploys Microsoft Dynamic CRM is partner’s data center. Customer access to the CRM application is usually achieved by using an IFD configuration.

Online deployment


In an online deployment, the customer subscribes to the MS dynamics CRM online service that is hosted by MS in its data centers.

Differences


Customization & Configuration option
On Premise
Online
Internet Lead capture feature
Not Available
Included
Scheduled reports feature
Included
Not available
Query Language for custom reports
SQL or FetchXML
FetchXML only
Maximum number of the custom entities
Unlimited
300
Maximum number of the workflow processes
Unlimited
200
Custom Workflow activities
Supported
Not Supported
Custom database indexes
Supported
Not Supported
Database backup
As required
Upon request
Database restore
As required
Not available

It’s always better to use an implementation methodology when implementing Microsoft Dynamics CRM 2011. This ensures that a proven, repeatable process is followed so that nothing gets overlooked or omitted. In this way a higher quality system that better matches the requirements of our organization. Without this also we can implement a solution, but this often leads to delays, missed requirements, poor user satisfaction and more expensive implementation costs.

There are two security roles that are often assigned to users, who are responsible for customizing CRM,

·         System Administrator :

o   Users with the System Administrator security role have full access to all the customization features and there are some solution components such as plugins and web resources, which can be modified, imported or exported.

o   Always have all the privileges for all system and custom entities.

o   Security role cannot be modified, and at least one user must have the System Administrator security role assigned to him /her.

·         System Customizer :

o   Can customize most of the solution components, with a few restrictions such as plugins and web resources. Because of this it is common for developers to be assigned the system administrator security role within a development environment.

o   Is useful in smaller deployments when it is assigned to a technical super user who needs to make simple customization changes to the system.

No comments:

Configuration for CRM Plugins

CRM plugins are always great feature where we can automate many functionality which we cannot automate from user interface. But almost eve...