10 min read

(For more resources related to this topic, see here.)

Architecture of Microsoft Dynamics CRM 2011

Microsoft Dynamics CRM 2011 offers a rich set of marketing, sales, and service features for managing customers. It also offers a rich set of extensibility features for configuring and customizing the standard features, or creating custom features, to meet your requirements.

Multi-tier architecture

Previous generations of business software often had a two-tier, client-server architecture with most of the application logic contained in a rich client that had to be installed on the user’s computer while the database was installed on a server.

Microsoft Dynamics CRM is a web-based application that uses a multi-tier client-server architecture. This architecture provides greater scalability, flexibility, and extensibility than a two-tier, client-server architecture. In the multi-tier architecture, the CRM application tier separates the presentation tier from the data tier. The computing resources in the application and data tiers can be increased or decreased depending upon the performance requirements and workload.

Presentation tier

Microsoft Dynamics CRM 2011 provides user access through the CRM web client, Microsoft Dynamics CRM 2011 for Outlook or Microsoft Dynamics CRM Mobile Express. The presentation tier can be customized using:

  • The user interface customization features native to Microsoft Dynamics CRM 2011 such as the ability to customize forms and views.

  • Client-side integration with on-premise or cloud-based systems.

    Using web resources, such as JavaScript and Silverlight, enables rich userinterface customization, data validation, and other client-side features. For example, a Bing Maps integration where a customer address is passed to the Bing Maps service and a map displaying the customer’s location is displayed in CRM.

  • Custom reports by using SQL Server Reporting Services.

  • Custom charts and dashboards by using the CRM’s customization features.

Application tier

The Microsoft Dynamics CRM server runs the application tier (also known as the CRM platform tier) components.

The application tier can be customized by using:

  • Server-side integration by using the CRM Web services to integrate with on-premise or cloud-based systems.

    For example, when an enquiry form is submitted from a website, a lead is created in the CRM system.

  • Workflows and dialogs can be configured, using the CRM’s customization features. This enables you to automate business processes in the application tier. Processes are triggered by events when specified actions are performed or conditions are met.

    For example, when a sales opportunity’s stage is updated to Negotiating, the probability is updated to 90 percent and a notification e-mail is sent to the commercial manager.

  • Plugins and custom workflow activities can be developed as .NET assemblies in Visual Studio to provide event-based customization.

    For example, when an account’s address changes in CRM, the addresses of all the contacts associated with the account are updated. Custom .NET development is outside the scope of the MB2-866 exam.

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

Every application that interacts with CRM does so through the web services in the CRM application tier.

Data tier

Microsoft SQL Server provides the data tier components of a Microsoft Dynamics CRM deployment.

The data tier can be customized by using the metadata changes such as creating custom entities, relationships, attributes, forms, views, and option sets. Metadata changes can be made by using the CRM’s customization features, importing a solution, or programmatically using the web services. Direct interaction with the data tier—for example, using a SQL statement to create or update records in the CRM database—is not supported.

Filtered views provide an efficient method for securely retrieving the CRM records, using custom SQL-based queries and displaying the data to a user based on their Microsoft Dynamics CRM security roles.

Supported and unsupported customization

Microsoft Dynamics CRM 2011 can be customized by using all the configuration and customization features available in the web client (and described in this guide), and can be extended by using all the methods described in the Microsoft Dynamics CRM software development kit (SDK).

Customizations made by using other methods are unsupported. Unsupported customizations might work initially, but they might not work after updates are applied or the application is upgraded, and these customizations are not supported by Microsoft.

This section describes the most common supported and unsupported customization methods likely to be examined in the MB2-866 exam. For a complete list of supported and unsupported customizations, please refer to the CRM SDK available at http://msdn.microsoft.com/en-us/library/gg328350.aspx.

Supported customizations

In addition to the configuration and customization features available in the web client, the following customizations are also supported (using the CRM SDK):

  • Use of the web services including DiscoveryService, OrganizationService, Organization Data Service, SOAP endpoint for web services, and DeploymentService.

  • 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 to the Customizations. xml file as long as the file still conforms to the CustomizationsSolution.xsd schema. Ribbon customization, SiteMap customization, 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%serverbin folder is not supported for Microsoft Dynamics CRM Online.

  • The custom workflow activities (assemblies) that are developed by using the mechanism described in the CRM 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. This means this method will work for earlier versions of Microsoft Dynamics CRM that have been upgraded, but it is not supported for new deployments.

Unsupported customizations

The following types of customization are not supported:

  • Modifications or additions to the files in the www root directories of Microsoft Dynamics CRM.

  • Modifications to the Microsoft Dynamics CRM website, including the filesystem access control lists.

  • Use of client certificates.

  • Modifications to the physical schema of the CRM databases—such as adding or modifying tables, stored procedures or views, and so on—other than adding or updating database indexes.

  • Creating or updating the records directly in the database by using T-SQL or any other method that is not described in the CRM 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 three deployment options for Microsoft Dynamics CRM 2011:

  • On-premise

  • Partner-hosted

  • Online

This section summarizes the differences between the deployment options that are relevant to customization and configuration.

On-premise deployment

In an on-premise deployment, the Microsoft customer deploys Microsoft 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 deployment

In a partner-hosted deployment , a Microsoft hosting partner deploys Microsoft Dynamics CRM in the 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 Microsoft Dynamics CRM Online service that is hosted by Microsoft in its data centers.

Deployment differences

There are some important differences between the customization and configuration options available in an on-premise deployment and an online deployment, as described in the following table:

Customization and 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 (assemblies)

Supported

Not supported

Custom database indexes

Supported

Not supported

Database backup

As required

Upon request

Database restore

As required

Not available

The customization and configuration options of a partner-hosted deployment can vary widely, depending on the service provided by the partner, and are not discussed further here.

Using an implementation methodology

When implementing Microsoft Dynamics CRM 2011, the use of an implementation methodology is highly recommended. An implementation methodology ensures that a proven, repeatable process is followed so that nothing gets overlooked or omitted. The result is a higher-quality system that better matches the requirements of your organization.

Without following a proven methodology, the CRM system gets implemented in an improvised fashion without a clear plan, specification, or design. This often leads to delays, missed requirements, poor user satisfaction, and more expensive implementation costs.

Microsoft Dynamics Sure Step

Microsoft Dynamics Sure Step is a popular implementation methodology released by Microsoft, based on the best practices used by Microsoft Consulting Services and several of Microsoft’s partners.

Sure Step provides a range of tools to help Microsoft partners envision, deploy, upgrade, and optimize the Microsoft Dynamics line of business solutions.

Sure Step can be used for the CRM 2011 and CRM Online projects, and tailored to various project types such as the rapid, standard, enterprise, agile, and upgrade projects.

Sure Step is available to Microsoft partners through the PartnerSource website (http://go.microsoft.com/fwlink/?linkid=88066).

Customization security roles

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

  • System Administrator: 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 only by a system administrator.

    Users with the System Administrator security role always have all privileges for all system and custom entities.

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

  • System Customizer: Users with the System Customizer security role can customize most of the CRM solution components, with a few restrictions such as plugins and web resources. For this reason, it is more common for developers to be assigned the System Administrator security role within a CRM development environment.

    The System Customizer security role is useful in smaller deployments when it is assigned to a technical super-user who needs to make simple customization changes to the system. For example, the System Customizer role could be assigned to a marketing manager who needs to add fields, modify views, and create system charts and dashboards.

Summary

Microsoft Dynamics CRM 2011 has a multi-tier architecture that provides greater scalability, flexibility, and extensibility than a two-tier, client-server architecture.

The presentation tier displays the user interface through the CRM web client, CRM for Outlook, or CRM for the Mobile clients, and can be customized by using the client-side integration and web resources.

The application tier runs on the CRM server and includes the web servers, business logic, security, and data access components. It can be customized by using the server-side integration, workflows and dialogs, and the plugins and custom workflow activities.

The data tier stores the customer data and metadata. Customization is supported through metadata changes, but direct database access is not supported. Every application that interacts with CRM does so through the web services in the CRM platform. Alternatively, applications can use the SQL-based queries to retrieve the CRM data by using filtered views.

There are a range of supported and unsupported configuration and customization methods available for Microsoft Dynamics CRM 2011. The unsupported methods may work initially, but might not work after an update or upgrade and will not be supported by Microsoft.

Microsoft Dynamics CRM offers the on-premise, partner-hosted, and online deployment options, with a few customization and configuration differences between these options.

Using an implementation methodology, such as Microsoft Dynamics Sure Step, ensures that a proven, repeatable process is followed so that nothing gets overlooked or omitted.

A System Administrator or System Customizer security role is required to customize Microsoft Dynamics CRM 2011. The System Customizer security role has some limitations, such as creating plugins and web resources.

Resources for Article :


Further resources on this subject:


LEAVE A REPLY

Please enter your comment!
Please enter your name here