Features in Microsoft Dynamics CRM

banner art

[Applies to: Microsoft Dynamics CRM 4.0]

Find the latest SDK documentation: CRM 2015 SDK

The following topics provide an overview of significant features and capabilities of Microsoft Dynamics CRM. The features described are related to security, organization and business structure, the entity model, the database, workflow, and extending the system through custom business logic.


The Microsoft Dynamics CRM SDK provides a security model that provides improved data integrity and privacy, and also supports efficient data access, teamwork, and collaboration.

For more information about security, see Security Model.

Organization and Business Structures

There are three primary entities within the organization. These are users, teams, and business units. Users represent people who use the Microsoft Dynamics CRM application. Teams are arbitrary groups of users created and defined by a user in an organization. Business units are the structural units of an organization, as defined by a user in the organization. They are the primary container entity within the organizational hierarchy. It is the business unit structure that determines and defines the concepts of Basic, Local, Deep, and Global access. For more information, see Microsoft Dynamics CRM Security and Access Levels sections. The following diagram is an example of a Microsoft Dynamics CRM business unit structure for an organization.

Organization Model

The organization in the previous diagram contains six business units in a simple hierarchy. The business units directly underneath the organization are unrelated in any apparent structural way except that they all belong to the same organizational structure.

The two business units labeled Department A1 and Department A2 are child business units of Business A. These two business units have a special relationship with regard to users parented to Business A. They serve up business objects to users within Business A who have "Deep" access. Notice that you cannot construct matrix organizations within the Microsoft Dynamics CRM organizational structure.

Users within Microsoft Dynamics CRM must be "parented" to a business unit and cannot be parented to the organization object itself. In the previous diagram, this means that users can be located at any node except the top-level node labeled Organization.

Because of the multi-tenant architecture of Microsoft Dynamics CRM, multiple organizations can be hosted on a Microsoft Dynamics CRM server.

Entity Model

The entity model is your view to the objects that are used in Microsoft Dynamics CRM. It supports Microsoft Dynamics CRM requirements for each entity in the system. In Microsoft Dynamics CRM, the platform consists of several high-level areas: sales force automation, customer service and support, scheduling, and marketing automation. For more information, see Microsoft Dynamics CRM Entity Model.


Microsoft Dynamics CRM is a metadata-driven product. The metadata layer basically abstracts the underlying data storage details, such as schema and data access, from the higher level constructs of domain-logic implementation and user interface. The metadata can be thought of as a description of the underlying data structures that controls how the application (platform and user interface) operates and displays itself. This version contains new APIs that allow you to add or update the metadata. For more information, see Web Services: MetadataService.

The platform uses the metadata to buffer itself from changes to the underlying database structures. If a table definition changes, for example, when columns are added or removed, the platform code continues to operate without any performance or degradation. This means that Microsoft Dynamics CRM can be altered significantly to meet a particular business or vertical definition and still operate without interruption.

The Microsoft Dynamics CRM platform is not the only consumer of the metadata. The application layer uses the rules in the metadata to present the exact user experience offered by vertical solutions and customizations. These rules include attribute type definitions, entity definitions, and attribute context rules. Attribute metadata describes the underlying type structure of a given attribute. This includes the fundamental data type (such as string, integer, or date) and the information that effectively limits the attribute's type definition (such as its size and range values). Attribute context rules describe when and how a given attribute can be used. For example, some attributes are write-once, such as order numbers. Other attributes are always read-only and are supplied by the platform itself. The metadata captures all these rules about context. It also captures business-defined rules, such as business-recommended and business-required attributes.


The workflow feature supports extending the functionality of the Microsoft Dynamics CRM system by enabling the user to create and execute custom business processes. The workflow feature is built on top of Windows Workflow Foundation, which provides the programming model, run-time engine, and tools for quickly building workflows. For more information about workflows and how to create your own custom workflows and workflow activities, see Workflows.

Business Logic Extensions

Microsoft Dynamics CRM 4.0 provides an extension mechanism for implementing custom platform-based business logic. Developers are not limited to creating custom business logic through workflow processes alone. They can also construct business logic that is integrated with Microsoft Dynamics CRM and executes in response to a particular system event for a specific entity. Be aware that these business logic extensions are not supported in Microsoft Dynamics CRM Online.

This extension mechanism supports an event handler interface that is based on a simple 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. The platform metadata stores information about each entity in the system. This information about entities can be used to track the list of event handlers, the class names, and whether a given handler is required for an action. For example, the account object can have several registered handlers. These handlers are stored in call order, which is determined by priority. When an action occurs caused by user interaction with the Web application or a Web service call, the platform checks the metadata 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.


The platform APIs are your view to the logical Microsoft Dynamics CRM system. The APIs are somewhat flat and require knowledge of the Microsoft Dynamics CRM Entity Model.

For a complete listing of APIs, refer to the Programming Reference section.

See Also



Other Resources

  • Microsoft Dynamics CRM Overview

© 2010 Microsoft Corporation. All rights reserved.