Extend Microsoft Dynamics 365


Updated: November 29, 2016

Applies To: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

The extensibility platform is the heart of Microsoft Dynamics 365 (online & on-premises). When you use the Microsoft Dynamics 365 SDK, you are building on top of this system. The Microsoft Dynamics 365 platform supports several types of deployments with the power of choice: Microsoft Dynamics 365 (online), Microsoft Dynamics 365 installed on your own server (on-premises), or a hosted deployment of Microsoft Dynamics 365. The security model protects the platform from unauthorized access across the Web.

When you develop an application that uses the Microsoft Dynamics 365 server, you use Web services to communicate with the underlying xRM platform layer. Microsoft Dynamics 365 uses a metadata driven architecture to provide the flexibility to create custom entities and additional system entity attributes and also to make upgrades and enable transportation of solutions easier. This allows for changes in the data structure without requiring any change to code in Microsoft Dynamics 365.

The xRM platform does not impose business-specific logic. This layer imposes only generic constraints such as security. It contains the building blocks for an application, but by itself is nothing more than a collection of related objects. However, the interaction between those objects is used to implement more extensible logic such as the quote-to-order-to-invoice processing and pricing logic.

The xRM platform also controls access to data through security, 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 through Microsoft Exchange Server.

Microsoft Dynamics CRM SDK architecture

In This Section

Dynamics 365 application platform - A platform for building extended Dynamics 365 (xRM) applications

Dynamics 365 provides a powerful platform for building line-of-business applications. These applications are often referred to as Extended CRM (xRM) applications because they leverage the relationship tracking capabilities beyond the typical customer relationship management (CRM) scenarios. This topic introduces resources to learn more about this capability.

Supported extensions for Microsoft Dynamics 365

When you create extensions it is important that you choose to implement them in a supported way. This protects your investment by helping to insure that you can upgrade to new releases of Microsoft Dynamics 365 and use the latest capabilities as they are released. This topic describes which extensions are supported and which are not.

The metadata and data models in Microsoft Dynamics 365

Microsoft Dynamics 365 uses a metadata driven architecture to provide the flexibility to create custom entities and additional system entity attributes. This structure also makes upgrades and the transportation of customizations easier. The data structure can change without requiring any change to code in the Microsoft Dynamics 365 server or client applications.

Topics in this section describe how you can easily view the metadata, create and edit metadata with code, and query metadata to create dynamic applications which react to changes or metadata differences found in separate organizations.

Extend Microsoft Dynamics 365 on the server

This section describes capabilities to extend Microsoft Dynamics 365 on the server. Compared to extensions you can apply on the client, extensions performed on the server are applied consistently regardless of the client application used to interact with the platform. Whenever possible, extensions which apply business logic should be applied on the server.

Topics in this section describe how to deploy custom business logic using plug-ins, processes, the asynchronous service, Azure extensions and more.

Extend Microsoft Dynamics 365 on the client

This section contains information about changes developers and customizers can make to extend Microsoft Dynamics 365 within the clients provided for Microsoft Dynamics 365: web application, Microsoft Dynamics 365 for phones, and Microsoft Dynamics 365 for tablets . You apply these extensions by using JavaScript and web resources. These clients are designed to allow you to add extensions which can be applied for all clients rather than each one separately.

Client extensions can provide a very rich and responsive experience for users because the code runs on their device. However, critical business logic should not be applied only by client-side scripts. Unlike extensions that are applied on the server, client extensions cannot apply business logic for data entering the system by other means, such as integrations with other systems, custom clients, or data import.

Customize Microsoft Dynamics 365 applications

Microsoft Dynamics 365 client applications include the web application, Microsoft Dynamics 365 for phones, and Microsoft Dynamics 365 for tablets. Each of these clients reference a common set of data that controls visual elements of the clients. This application metadata is usually edited using customization tools in the application or third-party tools. Other clients can also reference this application metadata if they want to leverage configuration options defined for specific organizations.

For an in-depth guide to customization by using the tools available in the web application see TechNet: Customize your CRM system. The topics in this section describe the structure of the data edited by those tools or third-party tools.

Package and distribute extensions using solutions

Solutions give you a framework for packaging, installing, and uninstalling components that provide specific business functionality. Solutions are used by ISVs and other Microsoft Dynamics 365 solution providers to distribute extensions they create, but you will also use them to transfer customizations between different organizations you may use in your development process, such as separate development, test, and production organizations.

Developers guide to reports for Microsoft Dynamics 365

Microsoft Dynamics 365 includes reports that provide useful business information to the user. These reports are based on Microsoft SQL Server Reporting Services, and provide the same set of features that are available for the Microsoft SQL Server Reporting Services reports.

Topics in this section describe how to publish, manage, and work with reports programmatically. For information about writing reports, see Report writing with CRM 2016 for online and on-premises

Extend Microsoft Dynamics 365 for Outlook

Microsoft Dynamics 365 for Outlook lets users interact with data while they’re offline and not connected to a server. Microsoft Dynamics 365 includes features that let you extend your solutions to offline scenarios by calling the web services offline from your custom code. In addition, the Microsoft.Crm.Outlook.Sdk assembly provides programmatic support for basic Microsoft Outlook actions such as synchronization, going offline or online, and Dynamics 365 for Outlook state verification. Offline programming uses the Microsoft ASP.NET Development Server.

Microsoft Dynamics 365 includes features that allow administrators to customize and manage filters for their users. Filter templates provide the starting point for entity synchronization on Dynamics 365 for Outlook. Filters determine which entity collections are synchronized to Outlook and to Microsoft SQL Server 2008 Express Edition for offline-enabled Microsoft Dynamics 365 solutions.

Integrate Microsoft Dynamics 365 with SharePoint

Microsoft SharePoint Server is a collaboration and content management application that simplifies how people store, find, and share information. It helps people to collaborate effectively by having secure access to documents and information that they require to make business decisions.

The SharePoint integration feature enables you to store and manage documents on SharePoint in the context of a Microsoft Dynamics 365 record, and use the SharePoint document management abilities in Microsoft Dynamics 365, such as checking the document in and out, viewing version history, and changing document properties.

Integrate Microsoft Dynamics 365 with OneNote

Set up OneNote Integration in Microsoft Dynamics 365 so that a dedicated OneNote notebook is automatically created for the selected entity records in Dynamics 365. This feature provides you the ability to easily take notes in the context of a Dynamics 365 record in various formats such as pictures, drawings, formatted text (bullet points and tables), and voice recordings in a OneNote notebook. You can access the OneNote notebook directly on the activity wall in the Dynamics 365 web client or from the record form in the Dynamics 365 mobile apps.

Microsoft Dynamics 365

© 2016 Microsoft. All rights reserved. Copyright