SlideShare a Scribd company logo
ARCHITECTURE OVERVIEW OF BUSINESS SYSTEMS: MS DYNAMICS CRM 
Dmytro Golodiuk / Corporate IT – Business applications / Architecture committee 
Nov 16, 2014
ARCHITECTURE VIEWPOINTS 
by Rozanski & Woods 
Context Viewpoint 
Functional 
Viewpoint 
Informational 
Viewpoint 
Development 
Viewpoint 
Deployment 
Viewpoint 
Concurrency 
Viewpoint 
Operational 
Viewpoint 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 2
WHAT IS MS DYNAMICS CRM 2011? 
The End-to-End Solution 
Marketing 
Effectiveness 
Extended CRM 
Applications 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 3
MICROSOFT CRM DESIGN GOALS 
Provide low total cost of ownership (TCO) 
Provide low-cost product customization 
Scale up and out to hosted environments 
Scale down to a single user desktop 
Separate, but equal, application and platform tiers 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 4
THE METADATA AND DATA MODELS 
In Microsoft Dynamics CRM 
Metadata object Description 
Entity An entity is a container for data, similar to a table in a traditional database. Each entity contains a 
set of attributes. For Microsoft Dynamics CRM, there are a set of entities that exist when you first 
install. Some of these are customizable. In addition, you can create custom entities to contain 
business data. 
Attribute An attribute is a container for a piece of data in an entity. Microsoft Dynamics CRM supports a 
wide variety of attribute types. 
Relationship A relationship defines an association between two entities: one-to-many, many-to-one, many-to-many, 
and self-referential. 
Option Set An option set defines a set of options provided for a picklist. Several picklist attributes may use a 
global option set so that the options they provide are always the same and can be maintained in 
one location. 
Option An option is one of the values available in an option set. Each option in an option set has a 
unique integer value and an associated set of localized labels. 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 5
THE METADATA AND DATA MODELS 
Out of Box Entities 
Administration and Security Entities 
(Organization, Business Unit, User, Team, 
Privilege, Role, Field Security) 
Activity Feeds Entities 
Customer Entities (Account, Contact) 
Business Management Entities 
Service Entities (Contract, Incident, 
Knowledge Base) 
Sales Entities (Lead, Opportunity, 
Competitor, Quote, Order, Invoice) 
Marketing Entities (Campaign, List) 
Activity Entities 
Goal Management Entities 
Product Catalog Entities 
Sales Literature Entities 
Schedule and Appointment Entities 
Template Entities 
Annotation (Note) Entity 
UserQuery (Saved View) Entity 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 6
THE METADATA AND DATA MODELS 
Audit 
Entity 
Data 
Changes 
Detect 
Duplicate 
Data 
Delete 
Data in 
Bulk 
Import 
Data 
Manage Your Data 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 7
THE SECURITY MODEL 
Business 
Unit 
Security 
Role 
Privilege 
(access 
rights) 
Access 
Level 
F(BU, SR, P, AL) 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 8
THE SECURITY MODEL 
 Provide users with the access only to 
the appropriate levels of information 
that is required to do their jobs. 
 Categorize users by role and restrict 
access based on those roles. 
 Support data sharing so that users and 
teams can be granted access to 
records that they do not own for a 
specified collaborative effort. 
 Prevent a user's access to records the 
user does not own or share. 
11/20/2014 
MS Dynamics CRM 2011: Architecture 
Overview 
9 
Goals
THE SECURITY MODEL 
Roles 
Privileges 
Create 
Read 
Write 
Delete 
Append 
Append To 
Assign 
Share 
Access 
Levels 
Global  Organization 
Deep  Parent: Child BU 
Local  BU 
Basic  User 
None  No access 
11/20/2014 Subject 10 
Role-based security
THE SECURITY MODEL 
Record-Based Security 
Access 
Rights 
Sharing 
Records 
Assigning 
Records 
Access Rights 
Read 
Write 
Assign 
Append 
Append To 
Share 
Delete 
11/20/2014 Subject 11
THE SECURITY MODEL 
Field-level security 
Which Security Roles Allow You to See Secured Fields? 
How Do Secured Fields Behave for Retrieve and RetrieveMultiple? 
When a Secured Attribute is in the Column Set 
When a Secured Attribute is in the Filter Condition 
When Grouping on Secured Attributes 
When Ordering on Secured Attributes 
How Do Secured Fields Behave for Create or Update? 
How Do Secured Fields Behave When Records are Shared? 
How Do Secured Fields Behave for Filtered Views? 
How Do Secured Fields Behave for Offline Synchronization? 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 12
THE EXTENSIBILITY MODEL 
Dynamics CRM Puts Innovation at the Center 
Personalize 
TAILOR CRM TO YOUR UNIQUE 
NEEDS 
Connect 
SEAMLESSLY INTEGRATE CRM 
TO EXISTING SYSTEMS 
Build 
RAPIDLY BUILD OTHER LOB 
APPLICATIONS 
11/20/2014 Subject 13
GENERAL MULTY LAYER ARCHITECTURE 
Presentation Layer 
UI Components UI Process Components 
Service Layer 
Interfaces Message Types 
Business Layer 
Application Façade 
Business Workflow 
Business 
Components 
Business Entities 
Data Layer 
Data Access Components Data Helpers / Utilities Service Agents 
Cross 
Cutting 
Security 
Operational 
Management 
Communication 
… 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 14
CRM 2011 ARCHITECTURE DRILL DOWN 
Reporting 
(Dashboards, 
Charts, Excel, 
FetchXML and SRS) 
Integrated 
Applications 
Web Outlook Mobile Tablet 
Extensible Application: Form and 
client side events, Ribbon, Sitemap, 
Web Resources, JS libraries… 
Web Services 
Front End 
Integration 
Pre-Event Plug-ins 
(.NET Assemblies) 
Post-Event Plug-ins 
(.NET Assemblies) 
Custom Workflow 
(.NET Assemblies) 
Backend 
Integration 
Server-to- 
Server 
Synchronous and Asynchronous Business Logic 
Business Entity Components 
Data Access Components 
Data Access Platform 
Metadata Data 
Filtered SQL Views 
Workflow 
Security 
11/20/2014 Subject 15
THE EXTENSIBILITY MODEL 
CRM / xRM Developer Platform 
Rapid Development 
.NET 4 & WF4 
Solution Packaging 
Strong types & LINQ 
Visualizations 
Rich Platform Services 
Web Services - WCF / REST / OData 
Transaction Support 
SharePoint, Office 
Claims Authentication 
Cloud 
Custom code on Server 
Sandbox with external calls 
Azure Integration 
Global Markets 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 16
THE EXTENSIBILITY MODEL 
What is the .NET Framework? 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 17
THE EXTENSIBILITY MODEL 
.NET Framework: Objectives 
Consistent object-oriented 
programming environment 
Code-execution environment 
• Minimize software deployment and 
versioning conflicts 
• Safe code execution 
• Elimination the performance 
problems of scripted or interpreted 
environments 
Consistency across widely 
varying types of applications 
(such as Windows-based 
applications and Web-based 
applications) 
.NET-based code integration 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 18
THE EXTENSIBILITY MODEL 
.NET Framework Architecture 
Visual Studio 2012+ 
ASP.NET (Web Form, MVC, 
Web Page, SPA) 
Windows 
Store Apps 
Base Class 
Library 
WPF 
Languages 
(C#, VB.NET, 
etc.) 
Windows 
Desktop Apps 
(Windows 
Forms) 
Silverlight 
Dynamics 
Language 
Runtime 
ASO.NET 
LINQ 
Managed 
Extensibility 
Framework 
Entity 
Framework 
Parallel 
Extension 
Portable 
Class Library 
WCF 
Signair 
Portable 
Class Library 
ASP.NET 
Web API 
WF 
WinRT 
Common Language Runtime 
Operating System 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 19
THE EXTENSIBILITY MODEL 
Common 
Language 
Runtime 
This acts as the 
execution engine for the 
.NET Framework. All 
.NET programs 
executes under the 
supervision of CLR. 
11/20/2014 
MS Dynamics CRM 2011: Architecture 
Overview 
20 
Components of .NET Framework 4.5 Architecture
THE EXTENSIBILITY MODEL 
Base 
Class 
Library 
This is a library of 
functionalities which are 
available to all languages 
using the .NET 
Framework. It consists of 
classes, interfaces of 
reusable types that 
integrates with CLR 
11/20/2014 
MS Dynamics CRM 2011: Architecture 
Overview 
21 
Components of .NET Framework 4.5 Architecture
THE EXTENSIBILITY MODEL 
Portable 
Class 
Library 
This is a library of 
functionalities which are 
available to all languages 
using the .NET 
Framework. It consists of 
classes, interfaces of 
reusable types that 
integrates with CLR 
11/20/2014 
MS Dynamics CRM 2011: Architecture 
Overview 
22 
Components of .NET Framework 4.5 Architecture
THE EXTENSIBILITY MODEL 
Managed 
Extensibility 
Framework 
(MEF) 
MEF is a library for 
creating lightweight, 
extensible applications. It 
allows application 
developers to discover 
and use extensions with 
no configuration required. 
11/20/2014 
MS Dynamics CRM 2011: Architecture 
Overview 
23 
Components of .NET Framework 4.5 Architecture
THE EXTENSIBILITY MODEL 
Dynamic 
Language 
Runtime 
This provides the 
runtime environment for 
dynamic languages like 
python etc. for 
executing under the full 
control of CLR. 
11/20/2014 
MS Dynamics CRM 2011: Architecture 
Overview 
24 
Components of .NET Framework 4.5 Architecture
THE EXTENSIBILITY MODEL 
WinRT 
WinRT or Windows Runtime APIs 
provides the user interface 
elements for building Windows 
Store apps, and provides access 
to Windows 8 or Windows RT OS 
features. WinRT supports 
development in C and other 
managed languages C# and 
VB.NET, as well as JavaScript 
and TypeScript. 
11/20/2014 
MS Dynamics CRM 2011: Architecture 
Overview 
25 
Components of .NET Framework 4.5 Architecture
THE EXTENSIBILITY MODEL 
Asp.Net 
This is used to build rich 
internet based web 
application. 
11/20/2014 
MS Dynamics CRM 2011: Architecture 
Overview 
26 
Components of .NET Framework 4.5 Architecture
THE EXTENSIBILITY MODEL 
Windows 
Store Apps 
(Metro 
Style Apps) 
A Windows Store app is a 
new type of application 
that runs on Windows 8 
devices and can take 
advantage of new WinRT 
APIs. These can only be 
distributed in the 
Windows 8 store. 
11/20/2014 
MS Dynamics CRM 2011: Architecture 
Overview 
27 
Components of .NET Framework 4.5 Architecture
THE EXTENSIBILITY MODEL 
Desktop 
Apps 
(Windows 
Forms) 
A Windows Desktop app is 
traditional Windows Forms 
application with a new name. 
Software developed for Windows 
XP, Windows Vista and Windows 
7 will be categorized as a 
Windows Desktop app when 
running in Windows 8. Examples 
of Windows Desktop apps are 
Microsoft Office families products, 
notepad etc. 
11/20/2014 
MS Dynamics CRM 2011: Architecture 
Overview 
28 
Components of .NET Framework 4.5 Architecture
THE EXTENSIBILITY MODEL 
WPF 
WPF is used to create 
applications with a rich user 
experience. It includes 
application UI, 2D graphics, 3D 
graphics and multimedia. It 
takes advantage of hardware 
acceleration of modern graphic 
cards. WPF makes the UI 
faster, scalable and resolution 
independent. 
11/20/2014 
MS Dynamics CRM 2011: Architecture 
Overview 
29 
Components of .NET Framework 4.5 Architecture
THE EXTENSIBILITY MODEL 
Silver 
Light 
This is a cross-browser 
web based technology 
which allows designers 
and developers to deliver 
Rich Internet Applications 
(RIA) embedded in Web 
pages. 
11/20/2014 
MS Dynamics CRM 2011: Architecture 
Overview 
30 
Components of .NET Framework 4.5 Architecture
THE EXTENSIBILITY MODEL 
Ado.Net 
This is used to create 
Data Access Layer to 
query and manipulate 
data from underlying 
data source like SQL 
Server, Oracle, and 
DB2 etc. 
11/20/2014 
MS Dynamics CRM 2011: Architecture 
Overview 
31 
Components of .NET Framework 4.5 Architecture
THE EXTENSIBILITY MODEL 
LINQ 
This allows you to query the 
data from the various data 
sources (like SQL databases, 
XML documents, Ado.Net 
Datasets, Various Web 
services and any other objects 
such as Collections, Generics 
etc.) using a SQL Query like 
syntax with .Net framework 
languages like C# and VB. 
11/20/2014 
MS Dynamics CRM 2011: Architecture 
Overview 
32 
Components of .NET Framework 4.5 Architecture
THE EXTENSIBILITY MODEL 
Entity 
Framework 
This is used to query 
and store data into to 
the relational databases 
(like SQL Server, 
Oracle, DB2 etc.) in 
ORM fashion. 
11/20/2014 
MS Dynamics CRM 2011: Architecture 
Overview 
33 
Components of .NET Framework 4.5 Architecture
THE EXTENSIBILITY MODEL 
Parallel 
Extension 
This allows you to 
distribute your work 
code across multiple 
processors to take 
advantage of the 
hardware. 
11/20/2014 
MS Dynamics CRM 2011: Architecture 
Overview 
34 
Components of .NET Framework 4.5 Architecture
THE EXTENSIBILITY MODEL 
WCF 
This is used for building 
and developing services 
based on WS-* 
standards. 
11/20/2014 
MS Dynamics CRM 2011: Architecture 
Overview 
35 
Components of .NET Framework 4.5 Architecture
THE EXTENSIBILITY MODEL 
Asp.Net 
WebAPI 
Asp.Net Web API is a 
framework for building 
HTTP services that can 
be consume by a broad 
range of clients including 
browsers, mobiles, iphone 
and tablets. 
11/20/2014 
MS Dynamics CRM 2011: Architecture 
Overview 
36 
Components of .NET Framework 4.5 Architecture
THE EXTENSIBILITY MODEL 
SignalR 
ASP.NET SignalR is a library that 
simplifies the process of adding 
real-time web functionality to 
applications. Real-time web 
functionality is the ability to have 
server code push content to 
connected clients instantly as it 
becomes available, rather than 
having the server wait for a client 
to request new data. 
11/20/2014 
MS Dynamics CRM 2011: Architecture 
Overview 
37 
Components of .NET Framework 4.5 Architecture
THE EXTENSIBILITY MODEL 
WF 
This is used to build 
process oriented 
business workflow and 
rules engine. 
11/20/2014 
MS Dynamics CRM 2011: Architecture 
Overview 
38 
Components of .NET Framework 4.5 Architecture
THE EXTENSIBILITY MODEL 
Visual 
Studio 
2012 
The Visual Studio IDE offers a 
set of tools that help you to 
write and modify the code for 
your programs, and also 
detect and correct errors in 
your programs. Using Visual 
Studio 2012 you can build 
Windows Store apps, desktop 
apps, mobile apps, ASP.NET 
web apps, and web services. 
11/20/2014 
MS Dynamics CRM 2011: Architecture 
Overview 
39 
Components of .NET Framework 4.5 Architecture
THE EXTENSIBILITY MODEL 
Streamlined API with 
a focused set of 
methods 
Use of standard .NET 
Types in most cases 
Fast processing 
through binary 
serialization 
Improved 
performance, security, 
testability, etc. 
Benefits 
WCF Web Services 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 40
THE EXTENSIBILITY MODEL 
Interoperability via Web Services 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 41
THE EXTENSIBILITY MODEL 
Windows Workflow Foundation 
Durable 
timers 
Benefits 
Visualizing 
user 
process 
Better 
collaboration 
between 
technical and 
non-technical 
people 
Comprehensive 
technology 
stack 
Reusability and 
integrations 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 42
THE EXTENSIBILITY MODEL 
Supported Extensions (SE) 
Using MS 
Dynamics 
Web App. 
Customizations Using the 
Microsoft Dynamics CRM SDK 
Plugins Processes 
Form 
Scripting 
Reporting 
Services 
Filtered 
Views 
with 
external 
apps 
Ribbon 
Customi 
zation 
ISV 
Config. 
(depreca 
ted) 
Unsupported Customizations (UC) 
Extensions for Microsoft Dynamics CRM 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 43
THE EXTENSIBILITY MODEL 
SE | Customizations Using the Microsoft Dynamics CRM SDK 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 44
THE EXTENSIBILITY MODEL 
SE | Customizations Using the Microsoft Dynamics CRM SDK 
Discovery 
Service 
Organization 
Data Service 
Organization 
Service 
Deployment 
Service 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 45
THE EXTENSIBILITY MODEL 
An extension mechanism 
for custom platform-based 
business logic 
Support an event handler interface 
that is based on a pipeline 
execution model 
Improved 
event 
processing 
subsystem 
Event 
framework 
API 
Backwards 
compatibility 
Synchronous 
and 
asynchronous 
execution 
SE | SDK | Plug-ins 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 46
THE EXTENSIBILITY MODEL 
SE | SDK | Plug-ins: Architecture and Related Components 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 47
THE EXTENSIBILITY MODEL 
SE | SDK | Plugins: Pipeline Stages 
Event Stage name Stage number Description 
Pre-Event Pre-validation 10 Stage in the pipeline for plug-ins that are to execute before the main system operation. 
Plug-ins registered in this stage may execute outside the database transaction. 
Pre-Event Pre-operation 20 Stage in the pipeline for plug-ins that are to execute before the main system operation. 
Plug-ins registered in this stage are executed within the database transaction. 
Platform 
Core 
Operation 
MainOperation 30 In-transaction main operation of the system, such as create, update, delete, and so on. 
No custom plug-ins can be registered in this stage. For internal use only. 
Post-Event Post-operation 40 Stage in the pipeline for plug-ins which are to execute after the main operation. Plug-ins 
registered in this stage are executed within the database transaction. 
Post-Event Post-operation 
(Deprecated) 
50 Stage in the pipeline for plug-ins which are to execute after the main operation. Plug-ins 
registered in this stage may execute outside the database transaction. This stage only 
supports Microsoft Dynamics CRM 4.0 based plug-ins. 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 48
THE EXTENSIBILITY MODEL 
Process 
Workflow 
Customization 
Custom Workflow 
Activities 
(all deployments) 
System.Activities 
(System.Workflow.Activities) 
XAML (Declarative) 
Workflows 
(on-premises 
deployments only) 
Dialog 
Customization 
Custom Workflow 
Activities 
(all deployments) 
System.Activities 
(System.Workflow.Activities) 
SE | SDK | Processes (formerly Workflows) 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 49
THE EXTENSIBILITY MODEL 
SE | SDK | Processes vs Dialogs 
Workflows Dialogs 
Can be either started by a user or can be automated. Must be started by a user. 
Are asynchronous processes, and do not require user 
input to run to completion. These processes run in the 
background. 
Are synchronous processes, and require user input to run 
to completion. When you run these processes, a wizard-like 
interface is presented to you so you can make 
appropriate selections to run the processes. 
The entity that stores the details about a running workflow 
is AsyncOperation. 
The entity that stores information generated by a running 
dialog is the ProcessSession (dialog session) entity. 
Both Windows Workflow Foundation 4 and Windows 
Workflow Foundation 3.5 custom activities are supported. 
Only Windows Workflow Foundation 4 custom activities 
are supported. 
Triggers are supported for workflows. For a list of 
supported triggers, see Supported Types, Triggers, and 
Entities for Processes (Workflows and Dialogs). 
Triggers are not supported for dialogs. 
Workflows that are created or updated outside of 
Microsoft Dynamics CRM by creating or updating the 
underlying XAML file are supported in Microsoft 
Dynamics CRM. For information about these custom 
XAML workflows, see Custom XAML Workflows for 
Microsoft Dynamics CRM 2011. 
Dialogs that are created or updated outside of Microsoft 
Dynamics CRM by creating or updating the underlying 
XAML file are not supported in Microsoft Dynamics CRM. 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 50
THE EXTENSIBILITY MODEL 
SE | SDK | Process Architecture Diagram 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 51
THE EXTENSIBILITY MODEL 
SE | SDK | Process Life Cycle: Workflow 
Create WF in Draft state, Activation WF 
• Subscription to specific events 
• Event is triggered 
• Add operation to the async service queue manager  WF exec. job 
• Awaits execution in the queue in the Ready state 
Creation of WF instance by WWF run-time engine 
• Change state from Ready to Locked 
Update the asynchronous operation on each transition 
• Set Suspended state 
• Remove from memory 
• Satisfying Suspended state conditions 
Set state Completed when all workflow activities have 
completed successfully 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 52
THE EXTENSIBILITY MODEL 
SE | SDK | Process Life Cycle: Dialog 
Create dialog in Draft state, 
Activation of Dialog 
Start dialog from its primary entity 
or by URL 
• Create process (dialog) session instance 
Complete running the dialog: 
Complete or Incomplete state 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 53
THE EXTENSIBILITY MODEL 
SE | SDK | Form Scripting 
Xrm.Page Object 
Model 
Data Access Using 
JavaScript 
Use an IFRAME 
and Web Resource 
Controls on a Form 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 54
THE EXTENSIBILITY MODEL 
SE | SDK | Form Scripting | Xrm.Page Object Model 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 55
THE EXTENSIBILITY MODEL 
SE | SDK | Form Scripting | Data Access Using JavaScript 
Task Web Service 
Create, Retrieve, Update and Delete records. REST Endpoint 
Associate and Disassociate records REST Endpoint 
Assign Records SOAP Endpoint 
Retrieve Metadata SOAP Endpoint 
Execute Messages SOAP Endpoint 
OrgOarngiaznaitzioanti oDna Stae Srveicrveice 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 56
THE EXTENSIBILITY MODEL 
SE | SDK | Form Scripting | Use an IFRAME and Web 
Resource Controls on a Form 
Image (JPG, 
PNG, GIF, 
ICO) Web 
Resources 
Web Page (HTML) 
Web Resources 
Silverlight 
(XAP) Web 
Resources 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 57
THE EXTENSIBILITY MODEL 
SE | SDK | Filtered Views 
SELECT TOP 1000 AccountNumber, Name FROM [zeppelin_MSCRM].[dbo].[AccountBase] 
SELECT TOP 1000 AccountNumber, Name FROM [zeppelin_MSCRM].[dbo].[Account] 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 58
THE EXTENSIBILITY MODEL 
SE | SDK | Filtered Views 
SELECT TOP 1000 AccountNumber, Name FROM [zeppelin_MSCRM].[dbo].[FilteredAccount] 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 59
THE EXTENSIBILITY MODEL 
Reporting 
Advanced 
Find 
SSRS 
SQL-based 
Filtered 
Views 
Only for on-premise 
Fetch-based 
FetchXml 
RDL 
sandboxing 
Custom 
code 
SE | SDK | Reporting 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 60
THE EXTENSIBILITY MODEL 
Unsupported Customization 
Modifications to any files in 
the wwwroot 
Modifications to MS CRM 
site 
Use of client certificates 
Modifications to the physical 
schema of the database 
Data changes in the 
database using SQL 
commands or any 
technology other than those 
described in the Microsoft 
Dynamics CRM SDK. 
Reuse of any MS Dynamics 
CRM JavaScript code, 
including ribbon commands 
Use of custom HttpModules 
to inject HTML/DHTML into 
the Microsoft 
Dynamics CRM Forms. 
Silverlight Application 
Library Caching 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 61
PRODUCTION FOCUS 
Deployment options 
On-premise 
• Own data center 
• Internet-facing deployment (IFD) – only when users 
outside internal network 
Partner-hosted 
• Partner's data center 
• Customer access to CRM is usually achieved by 
IFD 
Online 
• Customer subscribes to the Microsoft Dynamics 
CRM Online service that is hosted by Microsoft in 
its data centers 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 62
PRODUCTION FOCUS 
Deployment differences 
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 
Maximum number of the workflow 
processes 
Unlimited 
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 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 63
PRODUCTION FOCUS 
MS Dynamics CRM 2011 Deployment: Server roles 
Server Role Description Server Group 
Discovery Web Service Finds the organization that a user belongs to in a multi-tenant deployment. Front End Server 
Organization Web Service Supports running applications that use the methods described in the Microsoft Dynamics CRM SDK. Front End Server 
Web Application Server Runs the Web Application Server that is used to connect users to Microsoft Dynamics CRM data. The 
Web Application Server role requires the Organization Web Service role. 
Front End Server 
Help Server Makes Microsoft Dynamics CRM Help available to users. Front End Server 
Asynchronous Service Processes queued asynchronous events, such as workflows, bulk e-mail, or data import. Back End Server 
Sandbox Processing 
Service 
Enables an isolated environment to allow for the execution of custom code, such as plug-ins. This 
isolated environment reduces the possibility of custom code affecting the operation of the 
organizations. 
Back End Server 
Deployment Web Service Manages the deployment by using the methods described in the Microsoft Dynamics CRM SDK. Deployment 
Administration 
Server 
Deployment Tools Consists of the Deployment Manager and Windows PowerShell cmdlets. Microsoft Dynamics CRM 
administrators can use the Windows PowerShell cmdlets to automate Deployment Manager tasks. 
Deployment Manager is a Microsoft Management Console (MMC) snap-in that system administrators 
can use to manage organizations, servers, and licenses for deployments of Microsoft Dynamics CRM. 
Deployment 
Administration 
Server 
Microsoft Dynamics CRM 
Reporting Extensions 
Provides reporting functionality by interfacing with the Microsoft Dynamics CRM system and Microsoft 
SQL Server Reporting Services. 
N/A 
SQL Server Installs the MSCRM_CONFIG database on the SQL Server. N/A 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 64
PRODUCTION FOCUS 
Email Router Outlook client 
Language 
MUIs 
Update 
Rollups 
List 
Component for 
MS SharePoint 
3d party apps 
Related tools 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 65
PRODUCTION FOCUS 
Integration 
Organization Service 
Protocol: SOAP 
http(s)://{ServerName}/{OrgName}/XRMServices/2011/Organization.svc 
Organization Data Service 
Protocol: OData (REST) 
http(s)://{ServerName}/{OrgName}/XRMServices/2011/OrganizationData.svc 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 66
SOAP VS REST 
REST WS SOAP WS 
Abbreviation 
Representational 
State Transfer 
Simple Object 
Access Protocol 
Standard No standard 
Declarative 
(standard WSDL is 
used) 
Support 
Numerous content 
types 
Only XML 
Reliability Application specific 
WS- Reliable 
messaging 
Caching 
Get operations can 
be cached if 
desired. 
No 
Size of message Lightweight 
Comparatively 
heavy 
Implementation Simple Complex 
Application areas 
Limited bandwidth 
and resources 
Totally stateless 
operations 
Caching situations 
Asynchronous 
processing and 
invocation 
Formal contracts 
Stateful operations 
Developer view Resource oriented Object oriented 
Transport protocol 
support 
HTTP HTTP, SMTP, JMS 
11/20/2014 
MS Dynamics CRM 2011: Architecture 
Overview 
67
PRODUCTION FOCUS 
Integrating Microsoft Dynamics CRM & SharePoint 2013 
Document 
Integration 
Extensibility 
Analytics 
with 
PowerView 
Business 
Connectivity 
Services 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 68
PRODUCTION FOCUS 
SharePoint & CRM are Complementary 
Structured & 
Semi-structured 
Data 
Social 
Engagement & 
Collaboration 
Information 
Evolution & 
Storage 
Informal Rules Enterprise 
Search 
Across Teams 
& Domains 
Structured 
Relational 
Data 
Social 
Interactions & 
Tasks 
Information 
Generation & 
Analytics 
Formalized 
Processes 
Data Query & 
Filter 
Within Teams 
& Domains 
SharePoint 
CRM 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 69
PRODUCTION FOCUS 
Document Integration 
 Out of Box Document 
Integration 
 Works with 
Online & On-Premises (SharePoint & CRM) 
 Update for other Browsers (Firefox, Chrome, 
etc) coming in December 
Native SharePoint Actions 
(Check-in, Checkout, …) 
Native CRM View of Documents 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 70
PRODUCTION FOCUS 
Document Integration 
 Document Library 
Structure 
 Document Library per CRM Entity 
 Separate Folder for each 
CRM Record 
Open in SharePoint 
button 
Documents reside in 
SharePoint 
Manually Change 
Locations if need be 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 71
PRODUCTION FOCUS 
Windows 
Authentication 
Claims-based 
authentication: 
internal access 
Claims-based 
authentication: 
external access 
Claims-based 
authentication: 
internal and 
external access 
Authentication 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 72
PRODUCTION FOCUS 
Authentication 
Authentication model Scenario 
Windows Authentication 
Clients authentication using NTLM or Kerberos. Windows 
Authentication is used in an intranet environment where all users 
are members of your Active Directory domain. 
Claims-based 
authentication: internal 
access 
If you have a multiple domain environment where trust does not 
exist between the domains, or where some users exist in a 
different attribute store such as a partner organization, you can 
use claims-based authentication to handle internal user 
authentication. 
Claims-based 
authentication: external 
access 
Accessing Microsoft Dynamics CRM data over the Internet 
through an Internet-facing deployment (IFD) is now done with 
claims-based authentication. 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 73
PRODUCTION FOCUS 
Authentication | Supported authentication scenarios 
Deployment Authentication model 
Microsoft Dynamics CRM 
Online 
Claims-based or Active Directory (through federation) 
authentication 
Microsoft Dynamics CRM 
2013 on-premises 
Claims-based or Active Directory authentication 
Microsoft Dynamics CRM 
2013 Internet-facing 
deployment (IFD) 
Claims-based or Active Directory authentication 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 74
PRODUCTION FOCUS 
Authentication | AD/ADFS Diagrams 
Windows 
Authentication 
Internal ADFS 
External ADFS 
Other Identity 
Stores, AD, 
Windows 
Live, Oracle 
Etc 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 75
SUMMARY 
 Microsoft Dynamics CRM 2011 has a multi-tier architecture that provides high scalability, flexibility, and extensibility. 
 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 is 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. 
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 76
Dmytro Golodiuk 
Microsoft Certified Professional 
Senior SDE 
Zeppelin 
SBU Construction equipment CIS 
Corporate IT 
Mob. +380 (97) 53 88 621 
Skype: dimanngo 
Dmytro.Golodiuk@zeppelin.com 
dimanngo@hotmail.com 
www.zeppelin.com 
www.zeppelin.ua
Dynamics CRM 2011 Architecture Overview

More Related Content

What's hot

Operational Data Vault
Operational Data VaultOperational Data Vault
Operational Data Vault
Empowered Holdings, LLC
 
PLM - ERP integration
PLM - ERP integrationPLM - ERP integration
PLM - ERP integration
Henri Moufettal
 
Salim Adamon: Dynamics CRM overview & architecture
Salim Adamon: Dynamics CRM overview & architectureSalim Adamon: Dynamics CRM overview & architecture
Salim Adamon: Dynamics CRM overview & architecture
MSDEVMTL
 
IMPLEMENTATION BEST PRACTICES Sep 22.pdf
IMPLEMENTATION BEST PRACTICES Sep 22.pdfIMPLEMENTATION BEST PRACTICES Sep 22.pdf
IMPLEMENTATION BEST PRACTICES Sep 22.pdf
udayabhaskar42
 
The Enterprise Reference Architecture and Tools
The Enterprise Reference Architecture and ToolsThe Enterprise Reference Architecture and Tools
The Enterprise Reference Architecture and Tools
Software Park Thailand
 
Business-IT Alignment
Business-IT AlignmentBusiness-IT Alignment
Business-IT Alignment
Walter Adamson
 
Intro Microsoft Dynamics 365
Intro Microsoft Dynamics 365Intro Microsoft Dynamics 365
Intro Microsoft Dynamics 365
Juan Fabian
 
Interface Fact Sheets in LeanIX Enterprise Architecture Management
Interface Fact Sheets in LeanIX Enterprise Architecture ManagementInterface Fact Sheets in LeanIX Enterprise Architecture Management
Interface Fact Sheets in LeanIX Enterprise Architecture Management
LeanIX GmbH
 
Developing dynamics 365 reports in dynamics 365
Developing dynamics 365 reports in dynamics 365Developing dynamics 365 reports in dynamics 365
Developing dynamics 365 reports in dynamics 365
Magnifez Technologies
 
Introdution to Dataops and AIOps (or MLOps)
Introdution to Dataops and AIOps (or MLOps)Introdution to Dataops and AIOps (or MLOps)
Introdution to Dataops and AIOps (or MLOps)
Adrien Blind
 
MBSE and the Business of Engineering
MBSE and the Business of EngineeringMBSE and the Business of Engineering
MBSE and the Business of Engineering
Aras
 
Microservices Architecture & Testing Strategies
Microservices Architecture & Testing StrategiesMicroservices Architecture & Testing Strategies
Microservices Architecture & Testing Strategies
Araf Karsh Hamid
 
Implementing Effective Enterprise Architecture
Implementing Effective Enterprise ArchitectureImplementing Effective Enterprise Architecture
Implementing Effective Enterprise Architecture
Leo Shuster
 
TOGAF 9 Architectural Artifacts
TOGAF 9  Architectural ArtifactsTOGAF 9  Architectural Artifacts
TOGAF 9 Architectural Artifacts
Maganathin Veeraragaloo
 
AIOps: Anomalies Detection of Distributed Traces
AIOps: Anomalies Detection of Distributed TracesAIOps: Anomalies Detection of Distributed Traces
AIOps: Anomalies Detection of Distributed Traces
Jorge Cardoso
 
Dynamics 365 CRM Javascript Customization
Dynamics 365 CRM Javascript CustomizationDynamics 365 CRM Javascript Customization
Dynamics 365 CRM Javascript Customization
Sanjaya Prakash Pradhan
 
Intro to Enterprise Architecture (EA)
Intro to Enterprise Architecture (EA)Intro to Enterprise Architecture (EA)
Intro to Enterprise Architecture (EA)
Fahmi Abdul Latip
 
Driving the Telecom Digital Transformation through Open Digital Architecture
Driving the Telecom Digital Transformation through Open Digital ArchitectureDriving the Telecom Digital Transformation through Open Digital Architecture
Driving the Telecom Digital Transformation through Open Digital Architecture
SanjeewaRavi
 
SAP Reference Architecture based on LeanIX
SAP Reference Architecture based on LeanIXSAP Reference Architecture based on LeanIX
SAP Reference Architecture based on LeanIX
LeanIX GmbH
 

What's hot (20)

Operational Data Vault
Operational Data VaultOperational Data Vault
Operational Data Vault
 
PLM - ERP integration
PLM - ERP integrationPLM - ERP integration
PLM - ERP integration
 
Salim Adamon: Dynamics CRM overview & architecture
Salim Adamon: Dynamics CRM overview & architectureSalim Adamon: Dynamics CRM overview & architecture
Salim Adamon: Dynamics CRM overview & architecture
 
IMPLEMENTATION BEST PRACTICES Sep 22.pdf
IMPLEMENTATION BEST PRACTICES Sep 22.pdfIMPLEMENTATION BEST PRACTICES Sep 22.pdf
IMPLEMENTATION BEST PRACTICES Sep 22.pdf
 
The Enterprise Reference Architecture and Tools
The Enterprise Reference Architecture and ToolsThe Enterprise Reference Architecture and Tools
The Enterprise Reference Architecture and Tools
 
Business-IT Alignment
Business-IT AlignmentBusiness-IT Alignment
Business-IT Alignment
 
Intro Microsoft Dynamics 365
Intro Microsoft Dynamics 365Intro Microsoft Dynamics 365
Intro Microsoft Dynamics 365
 
Interface Fact Sheets in LeanIX Enterprise Architecture Management
Interface Fact Sheets in LeanIX Enterprise Architecture ManagementInterface Fact Sheets in LeanIX Enterprise Architecture Management
Interface Fact Sheets in LeanIX Enterprise Architecture Management
 
Developing dynamics 365 reports in dynamics 365
Developing dynamics 365 reports in dynamics 365Developing dynamics 365 reports in dynamics 365
Developing dynamics 365 reports in dynamics 365
 
Introdution to Dataops and AIOps (or MLOps)
Introdution to Dataops and AIOps (or MLOps)Introdution to Dataops and AIOps (or MLOps)
Introdution to Dataops and AIOps (or MLOps)
 
MBSE and the Business of Engineering
MBSE and the Business of EngineeringMBSE and the Business of Engineering
MBSE and the Business of Engineering
 
Microservices Architecture & Testing Strategies
Microservices Architecture & Testing StrategiesMicroservices Architecture & Testing Strategies
Microservices Architecture & Testing Strategies
 
Implementing Effective Enterprise Architecture
Implementing Effective Enterprise ArchitectureImplementing Effective Enterprise Architecture
Implementing Effective Enterprise Architecture
 
Architecture Document Template
Architecture Document TemplateArchitecture Document Template
Architecture Document Template
 
TOGAF 9 Architectural Artifacts
TOGAF 9  Architectural ArtifactsTOGAF 9  Architectural Artifacts
TOGAF 9 Architectural Artifacts
 
AIOps: Anomalies Detection of Distributed Traces
AIOps: Anomalies Detection of Distributed TracesAIOps: Anomalies Detection of Distributed Traces
AIOps: Anomalies Detection of Distributed Traces
 
Dynamics 365 CRM Javascript Customization
Dynamics 365 CRM Javascript CustomizationDynamics 365 CRM Javascript Customization
Dynamics 365 CRM Javascript Customization
 
Intro to Enterprise Architecture (EA)
Intro to Enterprise Architecture (EA)Intro to Enterprise Architecture (EA)
Intro to Enterprise Architecture (EA)
 
Driving the Telecom Digital Transformation through Open Digital Architecture
Driving the Telecom Digital Transformation through Open Digital ArchitectureDriving the Telecom Digital Transformation through Open Digital Architecture
Driving the Telecom Digital Transformation through Open Digital Architecture
 
SAP Reference Architecture based on LeanIX
SAP Reference Architecture based on LeanIXSAP Reference Architecture based on LeanIX
SAP Reference Architecture based on LeanIX
 

Viewers also liked

CRM Architecture
CRM ArchitectureCRM Architecture
Software architecture & design patterns for MS CRM Developers
Software architecture & design patterns for MS CRM  Developers Software architecture & design patterns for MS CRM  Developers
Software architecture & design patterns for MS CRM Developers
sebedatalabs
 
Designing a Modern CRM
Designing a Modern CRMDesigning a Modern CRM
Designing a Modern CRM
Tyler Tate
 
MS Dynamics CRM as Application Development Platform
MS Dynamics CRM as Application Development PlatformMS Dynamics CRM as Application Development Platform
MS Dynamics CRM as Application Development Platform
Petr Cermak
 
Building a CRM Application
Building a CRM ApplicationBuilding a CRM Application
Building a CRM Application
Iron Speed
 
CRM: Modelling Customer Relationships
CRM: Modelling Customer RelationshipsCRM: Modelling Customer Relationships
CRM: Modelling Customer Relationshipsdavidpuckey
 
Web service architetture e standard - Tesi - cap1
Web service architetture e standard - Tesi - cap1Web service architetture e standard - Tesi - cap1
Web service architetture e standard - Tesi - cap1
pma77
 
Dot net framework 2
Dot net framework 2Dot net framework 2
Dot net framework 2
Felice Pescatore
 
CRMUG UK November 2015 - Dynamics CRM Security Modelling and Performance by A...
CRMUG UK November 2015 - Dynamics CRM Security Modelling and Performance by A...CRMUG UK November 2015 - Dynamics CRM Security Modelling and Performance by A...
CRMUG UK November 2015 - Dynamics CRM Security Modelling and Performance by A...
Wesleyan
 
Dynamics CRM Security Overview
Dynamics CRM Security OverviewDynamics CRM Security Overview
Dynamics CRM Security OverviewSteve Harf
 
Code your Own: Authentication Provider for Blackboard Learn
Code your Own: Authentication Provider for Blackboard LearnCode your Own: Authentication Provider for Blackboard Learn
Code your Own: Authentication Provider for Blackboard Learn
Dan Rinzel
 
Salesforce & SAP Integration
Salesforce & SAP IntegrationSalesforce & SAP Integration
Salesforce & SAP Integration
Raymond Gao
 
Ms dynamics crm consultant
Ms dynamics crm consultantMs dynamics crm consultant
BEG-Dynamics CRM Marketing Presentation with Click Dimensions
BEG-Dynamics CRM Marketing Presentation with Click DimensionsBEG-Dynamics CRM Marketing Presentation with Click Dimensions
BEG-Dynamics CRM Marketing Presentation with Click DimensionsAdnan Jalees
 
Dynamics Crm Reference Architecture Version 1.0
Dynamics Crm Reference Architecture Version 1.0Dynamics Crm Reference Architecture Version 1.0
Dynamics Crm Reference Architecture Version 1.0dekini
 
Microsoft dynamics crm 2011 planning guide
Microsoft dynamics crm 2011 planning guideMicrosoft dynamics crm 2011 planning guide
Microsoft dynamics crm 2011 planning guidemichael_dubois
 
Microsoft Dynamics CRM Multi - Tier Architecture
Microsoft Dynamics CRM Multi - Tier ArchitectureMicrosoft Dynamics CRM Multi - Tier Architecture
Microsoft Dynamics CRM Multi - Tier Architecture
Naveen Kumar
 
XRM solutions (MS Dynamics CRM platform) for large broker agency
XRM solutions (MS Dynamics CRM platform)  for large broker agencyXRM solutions (MS Dynamics CRM platform)  for large broker agency
XRM solutions (MS Dynamics CRM platform) for large broker agency
Petr Cermak
 
Meet ATG
Meet ATGMeet ATG
Meet ATG
Jay Allen
 
CRM Online 2016 Portal Capabilities
CRM Online 2016 Portal CapabilitiesCRM Online 2016 Portal Capabilities
CRM Online 2016 Portal Capabilities
CloudFronts Technologies LLP.
 

Viewers also liked (20)

CRM Architecture
CRM ArchitectureCRM Architecture
CRM Architecture
 
Software architecture & design patterns for MS CRM Developers
Software architecture & design patterns for MS CRM  Developers Software architecture & design patterns for MS CRM  Developers
Software architecture & design patterns for MS CRM Developers
 
Designing a Modern CRM
Designing a Modern CRMDesigning a Modern CRM
Designing a Modern CRM
 
MS Dynamics CRM as Application Development Platform
MS Dynamics CRM as Application Development PlatformMS Dynamics CRM as Application Development Platform
MS Dynamics CRM as Application Development Platform
 
Building a CRM Application
Building a CRM ApplicationBuilding a CRM Application
Building a CRM Application
 
CRM: Modelling Customer Relationships
CRM: Modelling Customer RelationshipsCRM: Modelling Customer Relationships
CRM: Modelling Customer Relationships
 
Web service architetture e standard - Tesi - cap1
Web service architetture e standard - Tesi - cap1Web service architetture e standard - Tesi - cap1
Web service architetture e standard - Tesi - cap1
 
Dot net framework 2
Dot net framework 2Dot net framework 2
Dot net framework 2
 
CRMUG UK November 2015 - Dynamics CRM Security Modelling and Performance by A...
CRMUG UK November 2015 - Dynamics CRM Security Modelling and Performance by A...CRMUG UK November 2015 - Dynamics CRM Security Modelling and Performance by A...
CRMUG UK November 2015 - Dynamics CRM Security Modelling and Performance by A...
 
Dynamics CRM Security Overview
Dynamics CRM Security OverviewDynamics CRM Security Overview
Dynamics CRM Security Overview
 
Code your Own: Authentication Provider for Blackboard Learn
Code your Own: Authentication Provider for Blackboard LearnCode your Own: Authentication Provider for Blackboard Learn
Code your Own: Authentication Provider for Blackboard Learn
 
Salesforce & SAP Integration
Salesforce & SAP IntegrationSalesforce & SAP Integration
Salesforce & SAP Integration
 
Ms dynamics crm consultant
Ms dynamics crm consultantMs dynamics crm consultant
Ms dynamics crm consultant
 
BEG-Dynamics CRM Marketing Presentation with Click Dimensions
BEG-Dynamics CRM Marketing Presentation with Click DimensionsBEG-Dynamics CRM Marketing Presentation with Click Dimensions
BEG-Dynamics CRM Marketing Presentation with Click Dimensions
 
Dynamics Crm Reference Architecture Version 1.0
Dynamics Crm Reference Architecture Version 1.0Dynamics Crm Reference Architecture Version 1.0
Dynamics Crm Reference Architecture Version 1.0
 
Microsoft dynamics crm 2011 planning guide
Microsoft dynamics crm 2011 planning guideMicrosoft dynamics crm 2011 planning guide
Microsoft dynamics crm 2011 planning guide
 
Microsoft Dynamics CRM Multi - Tier Architecture
Microsoft Dynamics CRM Multi - Tier ArchitectureMicrosoft Dynamics CRM Multi - Tier Architecture
Microsoft Dynamics CRM Multi - Tier Architecture
 
XRM solutions (MS Dynamics CRM platform) for large broker agency
XRM solutions (MS Dynamics CRM platform)  for large broker agencyXRM solutions (MS Dynamics CRM platform)  for large broker agency
XRM solutions (MS Dynamics CRM platform) for large broker agency
 
Meet ATG
Meet ATGMeet ATG
Meet ATG
 
CRM Online 2016 Portal Capabilities
CRM Online 2016 Portal CapabilitiesCRM Online 2016 Portal Capabilities
CRM Online 2016 Portal Capabilities
 

Similar to Dynamics CRM 2011 Architecture Overview

Introduction to microsoft dynamic crm
Introduction to microsoft dynamic crmIntroduction to microsoft dynamic crm
Introduction to microsoft dynamic crm
Akila Iroshan
 
Actively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net DeveloperActively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net Developer
Karthik Reddy
 
Actively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net DeveloperActively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net Developer
Karthik Reddy
 
Keynote - The Benefits of an Open Service Oriented Architecture in the Enterpr...
Keynote - The Benefits of an Open Service Oriented Architecture in the Enterpr...Keynote - The Benefits of an Open Service Oriented Architecture in the Enterpr...
Keynote - The Benefits of an Open Service Oriented Architecture in the Enterpr...
mfrancis
 
Developing RIAs... 10 reasons to use Adobe Flex
Developing RIAs... 10 reasons to use Adobe FlexDeveloping RIAs... 10 reasons to use Adobe Flex
Developing RIAs... 10 reasons to use Adobe Flex
Matthias Zeller
 
Architecting RIAs
Architecting RIAsArchitecting RIAs
Architecting RIAs
Mark Nankman
 
Private Cloud with Microsoft Technologies
Private Cloud with Microsoft TechnologiesPrivate Cloud with Microsoft Technologies
Private Cloud with Microsoft Technologies
Chris Avis
 
Oracle ADF Tutorial
Oracle ADF TutorialOracle ADF Tutorial
Oracle ADF Tutorial
Deepak Bhagat
 
SAP Net Weaver Architecture,
SAP Net Weaver Architecture, SAP Net Weaver Architecture,
SAP Net Weaver Architecture,
Tapas Bhattacharya
 
Cloud computing & .NET 4.0 overview
Cloud computing & .NET 4.0 overviewCloud computing & .NET 4.0 overview
Cloud computing & .NET 4.0 overview
Dhirendra Singh
 
TechNet Event: August 2011 Private Cloud
TechNet Event: August 2011 Private CloudTechNet Event: August 2011 Private Cloud
TechNet Event: August 2011 Private Cloud
Harold Wong
 
SAP/Microsoft Interoperability Tutorial
SAP/Microsoft Interoperability TutorialSAP/Microsoft Interoperability Tutorial
SAP/Microsoft Interoperability Tutorial
Kristian Kalsing
 
Web based booking a car taxi5
Web based booking a car taxi5Web based booking a car taxi5
Web based booking a car taxi5
priyadharshini murugan
 
Intro to SharePoint for Developers
Intro to SharePoint for DevelopersIntro to SharePoint for Developers
Intro to SharePoint for Developers
Rob Wilson
 
SAP Microsoft Interoperability - Business Process Solutions
SAP Microsoft Interoperability - Business Process SolutionsSAP Microsoft Interoperability - Business Process Solutions
SAP Microsoft Interoperability - Business Process Solutions
Kristian Kalsing
 
Cookbook for Building An App
Cookbook for Building An AppCookbook for Building An App
Cookbook for Building An App
Manish Jain
 
Flex In Dot Net
Flex In Dot NetFlex In Dot Net
Flex In Dot Netpradeepfdo
 
e-SUAP - Pubblicazione scientifica per evento Inista 2014 (International Symp...
e-SUAP - Pubblicazione scientifica per evento Inista 2014 (International Symp...e-SUAP - Pubblicazione scientifica per evento Inista 2014 (International Symp...
e-SUAP - Pubblicazione scientifica per evento Inista 2014 (International Symp...
Sabino Labarile
 
Notes On Software Development, Platform And Modernisation
Notes On Software Development, Platform And ModernisationNotes On Software Development, Platform And Modernisation
Notes On Software Development, Platform And ModernisationAlan McSweeney
 

Similar to Dynamics CRM 2011 Architecture Overview (20)

Introduction to microsoft dynamic crm
Introduction to microsoft dynamic crmIntroduction to microsoft dynamic crm
Introduction to microsoft dynamic crm
 
Actively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net DeveloperActively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net Developer
 
Actively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net DeveloperActively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net Developer
 
Keynote - The Benefits of an Open Service Oriented Architecture in the Enterpr...
Keynote - The Benefits of an Open Service Oriented Architecture in the Enterpr...Keynote - The Benefits of an Open Service Oriented Architecture in the Enterpr...
Keynote - The Benefits of an Open Service Oriented Architecture in the Enterpr...
 
Internship
InternshipInternship
Internship
 
Developing RIAs... 10 reasons to use Adobe Flex
Developing RIAs... 10 reasons to use Adobe FlexDeveloping RIAs... 10 reasons to use Adobe Flex
Developing RIAs... 10 reasons to use Adobe Flex
 
Architecting RIAs
Architecting RIAsArchitecting RIAs
Architecting RIAs
 
Private Cloud with Microsoft Technologies
Private Cloud with Microsoft TechnologiesPrivate Cloud with Microsoft Technologies
Private Cloud with Microsoft Technologies
 
Oracle ADF Tutorial
Oracle ADF TutorialOracle ADF Tutorial
Oracle ADF Tutorial
 
SAP Net Weaver Architecture,
SAP Net Weaver Architecture, SAP Net Weaver Architecture,
SAP Net Weaver Architecture,
 
Cloud computing & .NET 4.0 overview
Cloud computing & .NET 4.0 overviewCloud computing & .NET 4.0 overview
Cloud computing & .NET 4.0 overview
 
TechNet Event: August 2011 Private Cloud
TechNet Event: August 2011 Private CloudTechNet Event: August 2011 Private Cloud
TechNet Event: August 2011 Private Cloud
 
SAP/Microsoft Interoperability Tutorial
SAP/Microsoft Interoperability TutorialSAP/Microsoft Interoperability Tutorial
SAP/Microsoft Interoperability Tutorial
 
Web based booking a car taxi5
Web based booking a car taxi5Web based booking a car taxi5
Web based booking a car taxi5
 
Intro to SharePoint for Developers
Intro to SharePoint for DevelopersIntro to SharePoint for Developers
Intro to SharePoint for Developers
 
SAP Microsoft Interoperability - Business Process Solutions
SAP Microsoft Interoperability - Business Process SolutionsSAP Microsoft Interoperability - Business Process Solutions
SAP Microsoft Interoperability - Business Process Solutions
 
Cookbook for Building An App
Cookbook for Building An AppCookbook for Building An App
Cookbook for Building An App
 
Flex In Dot Net
Flex In Dot NetFlex In Dot Net
Flex In Dot Net
 
e-SUAP - Pubblicazione scientifica per evento Inista 2014 (International Symp...
e-SUAP - Pubblicazione scientifica per evento Inista 2014 (International Symp...e-SUAP - Pubblicazione scientifica per evento Inista 2014 (International Symp...
e-SUAP - Pubblicazione scientifica per evento Inista 2014 (International Symp...
 
Notes On Software Development, Platform And Modernisation
Notes On Software Development, Platform And ModernisationNotes On Software Development, Platform And Modernisation
Notes On Software Development, Platform And Modernisation
 

Recently uploaded

Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
Roshan Dwivedi
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
Google
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 

Recently uploaded (20)

Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 

Dynamics CRM 2011 Architecture Overview

  • 1. ARCHITECTURE OVERVIEW OF BUSINESS SYSTEMS: MS DYNAMICS CRM Dmytro Golodiuk / Corporate IT – Business applications / Architecture committee Nov 16, 2014
  • 2. ARCHITECTURE VIEWPOINTS by Rozanski & Woods Context Viewpoint Functional Viewpoint Informational Viewpoint Development Viewpoint Deployment Viewpoint Concurrency Viewpoint Operational Viewpoint 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 2
  • 3. WHAT IS MS DYNAMICS CRM 2011? The End-to-End Solution Marketing Effectiveness Extended CRM Applications 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 3
  • 4. MICROSOFT CRM DESIGN GOALS Provide low total cost of ownership (TCO) Provide low-cost product customization Scale up and out to hosted environments Scale down to a single user desktop Separate, but equal, application and platform tiers 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 4
  • 5. THE METADATA AND DATA MODELS In Microsoft Dynamics CRM Metadata object Description Entity An entity is a container for data, similar to a table in a traditional database. Each entity contains a set of attributes. For Microsoft Dynamics CRM, there are a set of entities that exist when you first install. Some of these are customizable. In addition, you can create custom entities to contain business data. Attribute An attribute is a container for a piece of data in an entity. Microsoft Dynamics CRM supports a wide variety of attribute types. Relationship A relationship defines an association between two entities: one-to-many, many-to-one, many-to-many, and self-referential. Option Set An option set defines a set of options provided for a picklist. Several picklist attributes may use a global option set so that the options they provide are always the same and can be maintained in one location. Option An option is one of the values available in an option set. Each option in an option set has a unique integer value and an associated set of localized labels. 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 5
  • 6. THE METADATA AND DATA MODELS Out of Box Entities Administration and Security Entities (Organization, Business Unit, User, Team, Privilege, Role, Field Security) Activity Feeds Entities Customer Entities (Account, Contact) Business Management Entities Service Entities (Contract, Incident, Knowledge Base) Sales Entities (Lead, Opportunity, Competitor, Quote, Order, Invoice) Marketing Entities (Campaign, List) Activity Entities Goal Management Entities Product Catalog Entities Sales Literature Entities Schedule and Appointment Entities Template Entities Annotation (Note) Entity UserQuery (Saved View) Entity 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 6
  • 7. THE METADATA AND DATA MODELS Audit Entity Data Changes Detect Duplicate Data Delete Data in Bulk Import Data Manage Your Data 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 7
  • 8. THE SECURITY MODEL Business Unit Security Role Privilege (access rights) Access Level F(BU, SR, P, AL) 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 8
  • 9. THE SECURITY MODEL  Provide users with the access only to the appropriate levels of information that is required to do their jobs.  Categorize users by role and restrict access based on those roles.  Support data sharing so that users and teams can be granted access to records that they do not own for a specified collaborative effort.  Prevent a user's access to records the user does not own or share. 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 9 Goals
  • 10. THE SECURITY MODEL Roles Privileges Create Read Write Delete Append Append To Assign Share Access Levels Global  Organization Deep  Parent: Child BU Local  BU Basic  User None  No access 11/20/2014 Subject 10 Role-based security
  • 11. THE SECURITY MODEL Record-Based Security Access Rights Sharing Records Assigning Records Access Rights Read Write Assign Append Append To Share Delete 11/20/2014 Subject 11
  • 12. THE SECURITY MODEL Field-level security Which Security Roles Allow You to See Secured Fields? How Do Secured Fields Behave for Retrieve and RetrieveMultiple? When a Secured Attribute is in the Column Set When a Secured Attribute is in the Filter Condition When Grouping on Secured Attributes When Ordering on Secured Attributes How Do Secured Fields Behave for Create or Update? How Do Secured Fields Behave When Records are Shared? How Do Secured Fields Behave for Filtered Views? How Do Secured Fields Behave for Offline Synchronization? 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 12
  • 13. THE EXTENSIBILITY MODEL Dynamics CRM Puts Innovation at the Center Personalize TAILOR CRM TO YOUR UNIQUE NEEDS Connect SEAMLESSLY INTEGRATE CRM TO EXISTING SYSTEMS Build RAPIDLY BUILD OTHER LOB APPLICATIONS 11/20/2014 Subject 13
  • 14. GENERAL MULTY LAYER ARCHITECTURE Presentation Layer UI Components UI Process Components Service Layer Interfaces Message Types Business Layer Application Façade Business Workflow Business Components Business Entities Data Layer Data Access Components Data Helpers / Utilities Service Agents Cross Cutting Security Operational Management Communication … 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 14
  • 15. CRM 2011 ARCHITECTURE DRILL DOWN Reporting (Dashboards, Charts, Excel, FetchXML and SRS) Integrated Applications Web Outlook Mobile Tablet Extensible Application: Form and client side events, Ribbon, Sitemap, Web Resources, JS libraries… Web Services Front End Integration Pre-Event Plug-ins (.NET Assemblies) Post-Event Plug-ins (.NET Assemblies) Custom Workflow (.NET Assemblies) Backend Integration Server-to- Server Synchronous and Asynchronous Business Logic Business Entity Components Data Access Components Data Access Platform Metadata Data Filtered SQL Views Workflow Security 11/20/2014 Subject 15
  • 16. THE EXTENSIBILITY MODEL CRM / xRM Developer Platform Rapid Development .NET 4 & WF4 Solution Packaging Strong types & LINQ Visualizations Rich Platform Services Web Services - WCF / REST / OData Transaction Support SharePoint, Office Claims Authentication Cloud Custom code on Server Sandbox with external calls Azure Integration Global Markets 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 16
  • 17. THE EXTENSIBILITY MODEL What is the .NET Framework? 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 17
  • 18. THE EXTENSIBILITY MODEL .NET Framework: Objectives Consistent object-oriented programming environment Code-execution environment • Minimize software deployment and versioning conflicts • Safe code execution • Elimination the performance problems of scripted or interpreted environments Consistency across widely varying types of applications (such as Windows-based applications and Web-based applications) .NET-based code integration 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 18
  • 19. THE EXTENSIBILITY MODEL .NET Framework Architecture Visual Studio 2012+ ASP.NET (Web Form, MVC, Web Page, SPA) Windows Store Apps Base Class Library WPF Languages (C#, VB.NET, etc.) Windows Desktop Apps (Windows Forms) Silverlight Dynamics Language Runtime ASO.NET LINQ Managed Extensibility Framework Entity Framework Parallel Extension Portable Class Library WCF Signair Portable Class Library ASP.NET Web API WF WinRT Common Language Runtime Operating System 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 19
  • 20. THE EXTENSIBILITY MODEL Common Language Runtime This acts as the execution engine for the .NET Framework. All .NET programs executes under the supervision of CLR. 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 20 Components of .NET Framework 4.5 Architecture
  • 21. THE EXTENSIBILITY MODEL Base Class Library This is a library of functionalities which are available to all languages using the .NET Framework. It consists of classes, interfaces of reusable types that integrates with CLR 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 21 Components of .NET Framework 4.5 Architecture
  • 22. THE EXTENSIBILITY MODEL Portable Class Library This is a library of functionalities which are available to all languages using the .NET Framework. It consists of classes, interfaces of reusable types that integrates with CLR 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 22 Components of .NET Framework 4.5 Architecture
  • 23. THE EXTENSIBILITY MODEL Managed Extensibility Framework (MEF) MEF is a library for creating lightweight, extensible applications. It allows application developers to discover and use extensions with no configuration required. 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 23 Components of .NET Framework 4.5 Architecture
  • 24. THE EXTENSIBILITY MODEL Dynamic Language Runtime This provides the runtime environment for dynamic languages like python etc. for executing under the full control of CLR. 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 24 Components of .NET Framework 4.5 Architecture
  • 25. THE EXTENSIBILITY MODEL WinRT WinRT or Windows Runtime APIs provides the user interface elements for building Windows Store apps, and provides access to Windows 8 or Windows RT OS features. WinRT supports development in C and other managed languages C# and VB.NET, as well as JavaScript and TypeScript. 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 25 Components of .NET Framework 4.5 Architecture
  • 26. THE EXTENSIBILITY MODEL Asp.Net This is used to build rich internet based web application. 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 26 Components of .NET Framework 4.5 Architecture
  • 27. THE EXTENSIBILITY MODEL Windows Store Apps (Metro Style Apps) A Windows Store app is a new type of application that runs on Windows 8 devices and can take advantage of new WinRT APIs. These can only be distributed in the Windows 8 store. 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 27 Components of .NET Framework 4.5 Architecture
  • 28. THE EXTENSIBILITY MODEL Desktop Apps (Windows Forms) A Windows Desktop app is traditional Windows Forms application with a new name. Software developed for Windows XP, Windows Vista and Windows 7 will be categorized as a Windows Desktop app when running in Windows 8. Examples of Windows Desktop apps are Microsoft Office families products, notepad etc. 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 28 Components of .NET Framework 4.5 Architecture
  • 29. THE EXTENSIBILITY MODEL WPF WPF is used to create applications with a rich user experience. It includes application UI, 2D graphics, 3D graphics and multimedia. It takes advantage of hardware acceleration of modern graphic cards. WPF makes the UI faster, scalable and resolution independent. 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 29 Components of .NET Framework 4.5 Architecture
  • 30. THE EXTENSIBILITY MODEL Silver Light This is a cross-browser web based technology which allows designers and developers to deliver Rich Internet Applications (RIA) embedded in Web pages. 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 30 Components of .NET Framework 4.5 Architecture
  • 31. THE EXTENSIBILITY MODEL Ado.Net This is used to create Data Access Layer to query and manipulate data from underlying data source like SQL Server, Oracle, and DB2 etc. 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 31 Components of .NET Framework 4.5 Architecture
  • 32. THE EXTENSIBILITY MODEL LINQ This allows you to query the data from the various data sources (like SQL databases, XML documents, Ado.Net Datasets, Various Web services and any other objects such as Collections, Generics etc.) using a SQL Query like syntax with .Net framework languages like C# and VB. 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 32 Components of .NET Framework 4.5 Architecture
  • 33. THE EXTENSIBILITY MODEL Entity Framework This is used to query and store data into to the relational databases (like SQL Server, Oracle, DB2 etc.) in ORM fashion. 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 33 Components of .NET Framework 4.5 Architecture
  • 34. THE EXTENSIBILITY MODEL Parallel Extension This allows you to distribute your work code across multiple processors to take advantage of the hardware. 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 34 Components of .NET Framework 4.5 Architecture
  • 35. THE EXTENSIBILITY MODEL WCF This is used for building and developing services based on WS-* standards. 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 35 Components of .NET Framework 4.5 Architecture
  • 36. THE EXTENSIBILITY MODEL Asp.Net WebAPI Asp.Net Web API is a framework for building HTTP services that can be consume by a broad range of clients including browsers, mobiles, iphone and tablets. 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 36 Components of .NET Framework 4.5 Architecture
  • 37. THE EXTENSIBILITY MODEL SignalR ASP.NET SignalR is a library that simplifies the process of adding real-time web functionality to applications. Real-time web functionality is the ability to have server code push content to connected clients instantly as it becomes available, rather than having the server wait for a client to request new data. 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 37 Components of .NET Framework 4.5 Architecture
  • 38. THE EXTENSIBILITY MODEL WF This is used to build process oriented business workflow and rules engine. 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 38 Components of .NET Framework 4.5 Architecture
  • 39. THE EXTENSIBILITY MODEL Visual Studio 2012 The Visual Studio IDE offers a set of tools that help you to write and modify the code for your programs, and also detect and correct errors in your programs. Using Visual Studio 2012 you can build Windows Store apps, desktop apps, mobile apps, ASP.NET web apps, and web services. 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 39 Components of .NET Framework 4.5 Architecture
  • 40. THE EXTENSIBILITY MODEL Streamlined API with a focused set of methods Use of standard .NET Types in most cases Fast processing through binary serialization Improved performance, security, testability, etc. Benefits WCF Web Services 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 40
  • 41. THE EXTENSIBILITY MODEL Interoperability via Web Services 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 41
  • 42. THE EXTENSIBILITY MODEL Windows Workflow Foundation Durable timers Benefits Visualizing user process Better collaboration between technical and non-technical people Comprehensive technology stack Reusability and integrations 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 42
  • 43. THE EXTENSIBILITY MODEL Supported Extensions (SE) Using MS Dynamics Web App. Customizations Using the Microsoft Dynamics CRM SDK Plugins Processes Form Scripting Reporting Services Filtered Views with external apps Ribbon Customi zation ISV Config. (depreca ted) Unsupported Customizations (UC) Extensions for Microsoft Dynamics CRM 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 43
  • 44. THE EXTENSIBILITY MODEL SE | Customizations Using the Microsoft Dynamics CRM SDK 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 44
  • 45. THE EXTENSIBILITY MODEL SE | Customizations Using the Microsoft Dynamics CRM SDK Discovery Service Organization Data Service Organization Service Deployment Service 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 45
  • 46. THE EXTENSIBILITY MODEL An extension mechanism for custom platform-based business logic Support an event handler interface that is based on a pipeline execution model Improved event processing subsystem Event framework API Backwards compatibility Synchronous and asynchronous execution SE | SDK | Plug-ins 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 46
  • 47. THE EXTENSIBILITY MODEL SE | SDK | Plug-ins: Architecture and Related Components 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 47
  • 48. THE EXTENSIBILITY MODEL SE | SDK | Plugins: Pipeline Stages Event Stage name Stage number Description Pre-Event Pre-validation 10 Stage in the pipeline for plug-ins that are to execute before the main system operation. Plug-ins registered in this stage may execute outside the database transaction. Pre-Event Pre-operation 20 Stage in the pipeline for plug-ins that are to execute before the main system operation. Plug-ins registered in this stage are executed within the database transaction. Platform Core Operation MainOperation 30 In-transaction main operation of the system, such as create, update, delete, and so on. No custom plug-ins can be registered in this stage. For internal use only. Post-Event Post-operation 40 Stage in the pipeline for plug-ins which are to execute after the main operation. Plug-ins registered in this stage are executed within the database transaction. Post-Event Post-operation (Deprecated) 50 Stage in the pipeline for plug-ins which are to execute after the main operation. Plug-ins registered in this stage may execute outside the database transaction. This stage only supports Microsoft Dynamics CRM 4.0 based plug-ins. 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 48
  • 49. THE EXTENSIBILITY MODEL Process Workflow Customization Custom Workflow Activities (all deployments) System.Activities (System.Workflow.Activities) XAML (Declarative) Workflows (on-premises deployments only) Dialog Customization Custom Workflow Activities (all deployments) System.Activities (System.Workflow.Activities) SE | SDK | Processes (formerly Workflows) 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 49
  • 50. THE EXTENSIBILITY MODEL SE | SDK | Processes vs Dialogs Workflows Dialogs Can be either started by a user or can be automated. Must be started by a user. Are asynchronous processes, and do not require user input to run to completion. These processes run in the background. Are synchronous processes, and require user input to run to completion. When you run these processes, a wizard-like interface is presented to you so you can make appropriate selections to run the processes. The entity that stores the details about a running workflow is AsyncOperation. The entity that stores information generated by a running dialog is the ProcessSession (dialog session) entity. Both Windows Workflow Foundation 4 and Windows Workflow Foundation 3.5 custom activities are supported. Only Windows Workflow Foundation 4 custom activities are supported. Triggers are supported for workflows. For a list of supported triggers, see Supported Types, Triggers, and Entities for Processes (Workflows and Dialogs). Triggers are not supported for dialogs. Workflows that are created or updated outside of Microsoft Dynamics CRM by creating or updating the underlying XAML file are supported in Microsoft Dynamics CRM. For information about these custom XAML workflows, see Custom XAML Workflows for Microsoft Dynamics CRM 2011. Dialogs that are created or updated outside of Microsoft Dynamics CRM by creating or updating the underlying XAML file are not supported in Microsoft Dynamics CRM. 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 50
  • 51. THE EXTENSIBILITY MODEL SE | SDK | Process Architecture Diagram 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 51
  • 52. THE EXTENSIBILITY MODEL SE | SDK | Process Life Cycle: Workflow Create WF in Draft state, Activation WF • Subscription to specific events • Event is triggered • Add operation to the async service queue manager  WF exec. job • Awaits execution in the queue in the Ready state Creation of WF instance by WWF run-time engine • Change state from Ready to Locked Update the asynchronous operation on each transition • Set Suspended state • Remove from memory • Satisfying Suspended state conditions Set state Completed when all workflow activities have completed successfully 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 52
  • 53. THE EXTENSIBILITY MODEL SE | SDK | Process Life Cycle: Dialog Create dialog in Draft state, Activation of Dialog Start dialog from its primary entity or by URL • Create process (dialog) session instance Complete running the dialog: Complete or Incomplete state 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 53
  • 54. THE EXTENSIBILITY MODEL SE | SDK | Form Scripting Xrm.Page Object Model Data Access Using JavaScript Use an IFRAME and Web Resource Controls on a Form 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 54
  • 55. THE EXTENSIBILITY MODEL SE | SDK | Form Scripting | Xrm.Page Object Model 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 55
  • 56. THE EXTENSIBILITY MODEL SE | SDK | Form Scripting | Data Access Using JavaScript Task Web Service Create, Retrieve, Update and Delete records. REST Endpoint Associate and Disassociate records REST Endpoint Assign Records SOAP Endpoint Retrieve Metadata SOAP Endpoint Execute Messages SOAP Endpoint OrgOarngiaznaitzioanti oDna Stae Srveicrveice 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 56
  • 57. THE EXTENSIBILITY MODEL SE | SDK | Form Scripting | Use an IFRAME and Web Resource Controls on a Form Image (JPG, PNG, GIF, ICO) Web Resources Web Page (HTML) Web Resources Silverlight (XAP) Web Resources 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 57
  • 58. THE EXTENSIBILITY MODEL SE | SDK | Filtered Views SELECT TOP 1000 AccountNumber, Name FROM [zeppelin_MSCRM].[dbo].[AccountBase] SELECT TOP 1000 AccountNumber, Name FROM [zeppelin_MSCRM].[dbo].[Account] 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 58
  • 59. THE EXTENSIBILITY MODEL SE | SDK | Filtered Views SELECT TOP 1000 AccountNumber, Name FROM [zeppelin_MSCRM].[dbo].[FilteredAccount] 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 59
  • 60. THE EXTENSIBILITY MODEL Reporting Advanced Find SSRS SQL-based Filtered Views Only for on-premise Fetch-based FetchXml RDL sandboxing Custom code SE | SDK | Reporting 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 60
  • 61. THE EXTENSIBILITY MODEL Unsupported Customization Modifications to any files in the wwwroot Modifications to MS CRM site Use of client certificates Modifications to the physical schema of the database Data changes in the database using SQL commands or any technology other than those described in the Microsoft Dynamics CRM SDK. Reuse of any MS Dynamics CRM JavaScript code, including ribbon commands Use of custom HttpModules to inject HTML/DHTML into the Microsoft Dynamics CRM Forms. Silverlight Application Library Caching 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 61
  • 62. PRODUCTION FOCUS Deployment options On-premise • Own data center • Internet-facing deployment (IFD) – only when users outside internal network Partner-hosted • Partner's data center • Customer access to CRM is usually achieved by IFD Online • Customer subscribes to the Microsoft Dynamics CRM Online service that is hosted by Microsoft in its data centers 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 62
  • 63. PRODUCTION FOCUS Deployment differences 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 Maximum number of the workflow processes Unlimited 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 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 63
  • 64. PRODUCTION FOCUS MS Dynamics CRM 2011 Deployment: Server roles Server Role Description Server Group Discovery Web Service Finds the organization that a user belongs to in a multi-tenant deployment. Front End Server Organization Web Service Supports running applications that use the methods described in the Microsoft Dynamics CRM SDK. Front End Server Web Application Server Runs the Web Application Server that is used to connect users to Microsoft Dynamics CRM data. The Web Application Server role requires the Organization Web Service role. Front End Server Help Server Makes Microsoft Dynamics CRM Help available to users. Front End Server Asynchronous Service Processes queued asynchronous events, such as workflows, bulk e-mail, or data import. Back End Server Sandbox Processing Service Enables an isolated environment to allow for the execution of custom code, such as plug-ins. This isolated environment reduces the possibility of custom code affecting the operation of the organizations. Back End Server Deployment Web Service Manages the deployment by using the methods described in the Microsoft Dynamics CRM SDK. Deployment Administration Server Deployment Tools Consists of the Deployment Manager and Windows PowerShell cmdlets. Microsoft Dynamics CRM administrators can use the Windows PowerShell cmdlets to automate Deployment Manager tasks. Deployment Manager is a Microsoft Management Console (MMC) snap-in that system administrators can use to manage organizations, servers, and licenses for deployments of Microsoft Dynamics CRM. Deployment Administration Server Microsoft Dynamics CRM Reporting Extensions Provides reporting functionality by interfacing with the Microsoft Dynamics CRM system and Microsoft SQL Server Reporting Services. N/A SQL Server Installs the MSCRM_CONFIG database on the SQL Server. N/A 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 64
  • 65. PRODUCTION FOCUS Email Router Outlook client Language MUIs Update Rollups List Component for MS SharePoint 3d party apps Related tools 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 65
  • 66. PRODUCTION FOCUS Integration Organization Service Protocol: SOAP http(s)://{ServerName}/{OrgName}/XRMServices/2011/Organization.svc Organization Data Service Protocol: OData (REST) http(s)://{ServerName}/{OrgName}/XRMServices/2011/OrganizationData.svc 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 66
  • 67. SOAP VS REST REST WS SOAP WS Abbreviation Representational State Transfer Simple Object Access Protocol Standard No standard Declarative (standard WSDL is used) Support Numerous content types Only XML Reliability Application specific WS- Reliable messaging Caching Get operations can be cached if desired. No Size of message Lightweight Comparatively heavy Implementation Simple Complex Application areas Limited bandwidth and resources Totally stateless operations Caching situations Asynchronous processing and invocation Formal contracts Stateful operations Developer view Resource oriented Object oriented Transport protocol support HTTP HTTP, SMTP, JMS 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 67
  • 68. PRODUCTION FOCUS Integrating Microsoft Dynamics CRM & SharePoint 2013 Document Integration Extensibility Analytics with PowerView Business Connectivity Services 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 68
  • 69. PRODUCTION FOCUS SharePoint & CRM are Complementary Structured & Semi-structured Data Social Engagement & Collaboration Information Evolution & Storage Informal Rules Enterprise Search Across Teams & Domains Structured Relational Data Social Interactions & Tasks Information Generation & Analytics Formalized Processes Data Query & Filter Within Teams & Domains SharePoint CRM 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 69
  • 70. PRODUCTION FOCUS Document Integration  Out of Box Document Integration  Works with Online & On-Premises (SharePoint & CRM)  Update for other Browsers (Firefox, Chrome, etc) coming in December Native SharePoint Actions (Check-in, Checkout, …) Native CRM View of Documents 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 70
  • 71. PRODUCTION FOCUS Document Integration  Document Library Structure  Document Library per CRM Entity  Separate Folder for each CRM Record Open in SharePoint button Documents reside in SharePoint Manually Change Locations if need be 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 71
  • 72. PRODUCTION FOCUS Windows Authentication Claims-based authentication: internal access Claims-based authentication: external access Claims-based authentication: internal and external access Authentication 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 72
  • 73. PRODUCTION FOCUS Authentication Authentication model Scenario Windows Authentication Clients authentication using NTLM or Kerberos. Windows Authentication is used in an intranet environment where all users are members of your Active Directory domain. Claims-based authentication: internal access If you have a multiple domain environment where trust does not exist between the domains, or where some users exist in a different attribute store such as a partner organization, you can use claims-based authentication to handle internal user authentication. Claims-based authentication: external access Accessing Microsoft Dynamics CRM data over the Internet through an Internet-facing deployment (IFD) is now done with claims-based authentication. 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 73
  • 74. PRODUCTION FOCUS Authentication | Supported authentication scenarios Deployment Authentication model Microsoft Dynamics CRM Online Claims-based or Active Directory (through federation) authentication Microsoft Dynamics CRM 2013 on-premises Claims-based or Active Directory authentication Microsoft Dynamics CRM 2013 Internet-facing deployment (IFD) Claims-based or Active Directory authentication 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 74
  • 75. PRODUCTION FOCUS Authentication | AD/ADFS Diagrams Windows Authentication Internal ADFS External ADFS Other Identity Stores, AD, Windows Live, Oracle Etc 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 75
  • 76. SUMMARY  Microsoft Dynamics CRM 2011 has a multi-tier architecture that provides high scalability, flexibility, and extensibility.  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 is 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. 11/20/2014 MS Dynamics CRM 2011: Architecture Overview 76
  • 77. Dmytro Golodiuk Microsoft Certified Professional Senior SDE Zeppelin SBU Construction equipment CIS Corporate IT Mob. +380 (97) 53 88 621 Skype: dimanngo Dmytro.Golodiuk@zeppelin.com dimanngo@hotmail.com www.zeppelin.com www.zeppelin.ua

Editor's Notes

  1. Microsoft’s approach to CRM is simple: we provide a powerful set of solutions—from sales, customer service, marketing, and extended CRM capabilities—deployed in the cloud or private cloud that can be consumed via traditional PCs, browsers or mobile devices. Extended CRM means we provide easy-to-use tools to extend the application to support any type of scenario you want to manage. The toolset allows you to extend to particular industries and the capabilities are immense. Key Points: Microsoft Dynamics CRM 2011 helps deliver marketing effectiveness, sales productivity, customer care, and extended CRM applications. Notes: Microsoft Dynamics CRM 2011 has four main areas of capability: Marketing effectiveness: Marketing effectiveness is built around tools that function across the campaign lifecycle to help you create, target, manage, and track campaigns better. Sales productivity: sales productivity streamlines administrative tasks and sales processes so that sales people can focus their time on selling. Customer care: customer care provides intuitive tools and automation that helps customer care representatives provide superior service while controlling operational costs. Extended CRM applications: Extended CRM is about helping organizations extend CRM beyond customers to manage any kind of business relationship at all. All these capabilities are accessible through Outlook, the browser, or mobile devices. All of these capabilities take advantage of a technology called the xRM Framework, which provides a rich set of extensibility capabilities for customizing relationships and data, and data entities. The xRM Framework enables you to customize and tailor interactions across a number of different channels to fit the ways that different people, processes, and systems work together. It includes workflow and process automation along with business intelligence capabilities. The xRM Framework is the core technical capability for delivering all of this, and runs in all versions of Microsoft Dynamics CRM, whether on-premises, hosted in our data center, or in the cloud.
  2. Provide low total cost of ownership (TCO). The product must be manageable, allow customization, and be easy to deploy and upgrade, and be well supported by both Microsoft and the independent software vendors community at large. Provide low-cost product customization. Product customizations are very important in a CRM environment. No single, out-of-box solution can meet every customer’s needs, so Microsoft CRM has been designed to make customizations very simple and affordable. Scale up and out to hosted environments. While Microsoft CRM is not sold as a hosted solution, the product was designed with this deployment model in mind. The hosted application model imposes very high demands on an application, and Microsoft CRM was built to meet this demand. Even if your particular situation does not demand this level of scalability, you can feel secure knowing that Microsoft CRM can easily grow with your business. Scale down to a single user desktop. A CRM solution is not as effective as it could be unless the product is also available in a disconnected model. Microsoft CRM can be deployed inside of Microsoft Outlook® in both connected and disconnected models. The product was designed so that you can deliver your customizations automatically from your intranet-based solution to your desktop clients, smoothly and efficiently. Separate, but equal, application and platform tiers. Multiple tiers separate business logic from application rendering logic from data management logic.
  3. Microsoft CRM lowers TCO by implementing a metadata-driven architecture. This model allows customers to extend the underlying database schema easily, without having to change any application or platform code. The data structure can change without requiring any change to code in the Microsoft Dynamics CRM server or client applications. All the information necessary for Microsoft Dynamics CRM server to operate is stored in the Microsoft Dynamics CRM metadata. This includes information about entities, attributes, relationships, and option sets.
  4. Organizations need to track changes made to business data for maintaining security, examining the history of a particular data record, documenting modifications for future analysis and record keeping, and being in compliance with regulations. Microsoft Dynamics CRM 2011 supports auditing of entity and attribute data changes on a per organization basis. Duplicate detection lets organizations set duplicate detection policies and create duplicate detection rules for business and custom entities. You can clean the data by deleting, deactivating, or merging the duplicates reported by a duplicate detection job. Data import lets you upload data from various customer relationship management systems and data sources into Microsoft Dynamics CRM. Microsoft Dynamics CRM includes a Web application tool called Import Data Wizard. You use this tool to import data records from one or more comma-separated values (.csv), XML Spreadsheet 2003 (.xml), or text files.
  5. Microsoft Dynamics CRM 2011 provide a security model that protects data integrity and privacy, and supports efficient data access and collaboration. Business Unit A scoping mechanism that defines a grouping of users for security modeling purposes; business units are hierarchical in nature. Business Units are a framework upon which a security model is built. Security Role A collection of privileges (that are given a name) that reflect common user roles of your organization and/or business units; security roles are assigned to users or owner teams. See below for more details on Security Roles. Privilege (access rights)The definition of a specific type of data access or action that can be granted as a right; privileges are granted through a security role and are cumulative. Access Level While the Privilege defines the type of data access, the Access Level defines exactly to which records the privileges apply.
  6. In Microsoft Dynamics CRM 2011 the fundamental concept in role-based security is that a role contains privileges that define a set of actions that can be performed within the organization. All the business units in the hierarchy inherit the roles you create for your business unit. A privilege is a permission to perform an action. Privileges apply to an entire class of objects, rather than individual instances of objects. Privileges are "built in" to the product and are used throughout the application and platform layers. You cannot add or remove privileges, or change how privileges are used to grant access to certain functionality, but you can construct new roles from the existing privilege set. Each privilege can have up to four access levels: Basic, Local, Deep, and Global.
  7. Record-based security in Microsoft Dynamics CRM and Microsoft Dynamics CRM Online applies to individual records. It is provided by using access rights. The relationship between an access right and a privilege is that access rights apply only after privileges have taken effect. For example, if a user does not have the privilege to read accounts, that user is unable to read any account, regardless of the access rights another user might grant to a specific account through sharing. An access right is granted to a user for a particular record.
  8. Field-level security to restrict access to high business impact fields to specific users and teams.
  9. The extensibility platform is the heart of Microsoft Dynamics CRM 2011 and Microsoft Dynamics CRM Online. When you develop an application that uses the Microsoft Dynamics CRM server, you use Web services to communicate with the underlying 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 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 CRM. The xRM platform 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).
  10. Common service data tier The data tier is the lowest level and consists of a database (loosely speaking) and a well-defined data access layer. The data management tier with Microsoft CRM supports Microsoft SQL Server 2008 as the primary data store. The data access layer provides a consistent programming interface for the service developer, which abstracts platform business logic from the underlying data source. The domain tier is the only direct consumer of the common service data layer. Application and custom business logic Just as there are two distinct presentation clients in Microsoft CRM, there are also two application layers. For the Outlook-based client, a lightweight application framework was built to support the Web-based application logic, but in a disconnected mode. The browser client uses Microsoft ASP.NET application components within an application framework. There is little business logic within the application tiers; the majority of application logic revolves around rendering and data validation. The Microsoft CRM application layer only adds a small amount of customized business logic; the majority was "built-in" to the platform itself. Both application tiers use XML messages to communicate with the underlying platform layer. Communication between the application tier and the platform tier uses SOAP for both Outlook- and browser-based clients. Service tier: domain logic The service tier is responsible for creating problem domain-specific objects. This layer 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 within the domain can be assumed to implement more extensible logic, such as the Quote to Order to Invoice processing and pricing logic. The service tier contains more than just the Microsoft CRM business objects. It’s responsible for controlling access to objects and the database, raising events for workflow processes and custom business logic implementations. The user interface and presentation tier Microsoft CRM has two distinct presentation components, Microsoft Internet Explorer as the rich, Web-based4 user experience; and Microsoft Outlook as the rich, Microsoft Windows operating system-based experience. Both components make use of the rendering technology built into Internet Explorer. The internal rendering engine is hosted inside Outlook to present the same general look and feel as the Web application, but without the need for a Web server.
  11. The .NET Framework is a technology that supports building and running of applications and services.
  12. The .NET Framework is designed to fulfill the following objectives: - To provide a consistent object-oriented programming environment whether object code is stored and executed locally, executed locally but Internet-distributed, or executed remotely. - To provide a code-execution environment that minimizes software deployment and versioning conflicts. - To provide a code-execution environment that promotes safe execution of code, including code created by an unknown or semi-trusted third party. - To provide a code-execution environment that eliminates the performance problems of scripted or interpreted environments. - To make the developer experience consistent across widely varying types of applications, such as Windows-based applications and Web-based applications. - To build all communication on industry standards to ensure that code based on the .NET Framework can integrate with any other code.
  13. Microsoft Dynamics CRM provides a dynamic Web service interface for applications to use to access and manipulate platform data, metadata, and to interact with platform services, implemented using the Windows Communication Foundation (WCF). These services allow you to write .NET applications using Microsoft Visual Studio or non-.NET applications using other developer tools by simply referencing the Web services. The Web services exposed by the platform are WSI BP 1.1 compliant. This compliance support makes the Web services interoperable with non-Microsoft platforms. Dynamics CRM 2011 introduces a new streamlined WCF endpoint that takes the place of the prior web services. The WCF endpoint is a consolidated API that includes both the CRM Service and the Metadata Service API in prior versions. The WSDL (service contract definition) is static and is the same for any organization.
  14. The Microsoft Windows Workflow Foundation provides a programming framework and tools for developing and executing a wide variety of workflow-based applications. Visualizing user process Designing workflows visually make orchestration easier, as we say "one picture is worth a thousand words". This allow you to focus on user process so it has direct impact on user experience. Instead of getting application that "just works", users will get application oriented on their goals, which will offer much better UX. Better collaboration between technical and non-technical people Visual representation of application makes easier to collaborate for technical and non-technical people, because diagrams are the common language. It means that developers, UX experts, business people are speaking the same precise language which is more expressive than code or just speaking in English. Moreover, because activities on the workflow are representation of business activities, design is naturally more user-oriented. Comprehensive technology stack In version 4.5 of WWF Microsoft done really good job! The previous versions were criticized, for example in early versions designer was not very useful, also often crashes. But version 4.5 is very good and designer works fine. WWF offers many components that allow you quickly design workflow visually and put it on production. The tooling is very comprehensive from designing workflow in VS.NET to re-hosting workflow designer in separate application so that end users can adjust workflows themselves. Rich integration with WCF is great feature and allow to build workflow-driven WCF services without writing any code. Also workflows versioning and updating its definition at runtime are very powerful features, so you can easier maintain new releases and bug fixes for your workflow applications. Cool feature is visual debugging! You can place breakpoints on specific activities and jump between them or just step through the workflow. Here is full list of new features in WWF 4.5. Reusability and integrations The fact that workflow consists of activities dropped on designer surface from toolbox, you can focus on building libraries of reusable activities that might be used across many applications. Of course reusability might be achieved on code level, but visualizing orchestration makes easier to discovering general business activities. Also integrations are easier because you can build reusable component libraries for most popular APIs like Google Analytics, Facebook, MailChimp or any other and integrate it with your applications by dropping specific activities on workflow designer. Durable timers This is super feature. You can use build-in Delay activity to postpone workflow execution. In combination with out-of-the-box persistence feature in WWF you can quickly implement workflow that will be persisted for even long period of time to resume execution automatically. It is very common task in human workflows, e.g. when someone takes trial of your application you can remind him to upgrade plan or in ecommerce you can remind user to place pending order. External signaling Another great feature that in conjunction with previous one allows you to wake up your workflow by external event. It might be web service call, file upload, specific message arrived on the messaging bus or just user action. For example in procurement it might be approval process or performing data import when file is uploaded, also intra-process communication. Composition Every workflow is an activity so you can compose workflows consisting of different workflows. In that way you can structure complex processes from smaller ones to deal with complexity.
  15. Microsoft Dynamics CRM provides an extension mechanism for implementing validation and custom platform-based business logic. You can construct business logic that is integrated with Microsoft Dynamics CRM and executes in response to a particular system event for a specific entity. 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. The ability to create custom business logic using the plug-in mechanism described in the Microsoft Dynamics CRM SDK is fully supported and upgradeable. This feature is available for all Microsoft Dynamics CRM deployments, including on-premises, IFD, and Online.
  16. The following figure illustrates the overall architecture of the Microsoft Dynamics CRM platform with respect to both synchronous and asynchronous event processing. The event execution pipeline processes events either synchronously or asynchronously. The platform core operation and any plug-ins registered for synchronous execution are executed immediately. Synchronous plug-ins that are registered for the event are executed in a well-defined order. Plug-ins registered for asynchronous execution are queued by the Asynchronous Queue Agent and executed at a later time by the asynchronous service. Important: Regardless of whether a plug-in executes synchronously or asynchronously, there is a 2-minute time limit imposed on the execution of a plug-in registered in the sandbox. If the execution of your plug-in logic exceeds the time limit, a System.TimeoutException is thrown. If a plug-in needs more processing time than the 2-minute time limit, consider using a workflow or other background process to accomplish the intended task.
  17. The event pipeline is divided into multiple stages, of which 4 are available to register custom developed or 3rd party plug-ins. Multiple plug-ins that are registered in each stage can be further be ordered (ranked) within that stage during plug-in registration. Message Processing Whenever application code or a workflow invokes a Microsoft Dynamics CRM Web service method, a state change in the system occurs that raises an event. The information passed as a parameter to the Web service method is internally packaged up into a OrganizationRequest message and processed by the pipeline. The information in the OrganizationRequest message is passed to the first plug-in registered for that event where it can be read or modified before being passed to the next registered plug-in for that event and so on. Plug-ins receive the message information in the form of context that is passed to their Execute method. The message is also passed to the platform core operation. Plug-in Registration Plug-ins can be registered to execute before or after the core platform operation. Pre-event registered plug-ins receive the OrganizationRequest message first and can modify the message information before the message is passed to the core operation. After the core platform operation has completed, the message is then known as the OrganizationResponse. The response is passed to the registered post-event plug-ins. Post-event plug-ins have the opportunity to modify the message before a copy of the response is passed to any registered asynchronous plug-ins. Finally, the response is returned to the application or workflow that invoked the original Web service method call. Because a single Microsoft Dynamics CRM server can host more than one organization, the execution pipeline is organization specific. There is a virtual pipeline for every organization. Plug-ins registered with the pipeline can only process business data for a single organization. A plug-in that is designed to work with multiple organizations must be registered with each organization's execution pipeline. Any registered plug-in that executes during the database transaction and that passes an exception back to the platform cancels the core operation. This results in a rollback of the core operation. In addition, any pre-event or post event registered plug-ins that have not yet executed and any workflow that is triggered by the same event that the plug-in was registered for will not execute.
  18. Business processes are an integral part of any enterprise software application. A business process can be of two types: automated processes that rely solely on communication among applications based on a set of rules, and interactive processes that also rely on people to initiate and run the process, and to make the appropriate decisions during the running of the process. While the name has been changed to process, the entity that is used to implement a process is still called workflow. A Microsoft Dynamics CRM process provides many out-of-the-box components that business users and administrators can use to model their business processes. Microsoft Dynamics CRM also offers developers a mechanism to extend and customize the standard behavior of processes to achieve the functionality that their business applications require by allowing them to develop custom components. Processes are built on top of Windows Workflow Foundation 4. For more information, see Windows Workflow Foundation. Windows Workflow Foundation provides a runtime engine, a framework, a base library of activities, and default implementations of the runtime services. The Windows Workflow Foundation runtime engine manages process execution, and supports processes that can remain active for extended periods. It preserves the state of process execution during computer shutdown and restart. Workflows. The automated or asynchronous processes that may require user input to start them. Further, these processes do not require user input to run them to completion. These processes run in the background. Dialogs. The interactive or synchronous processes that require user input to start and run them to completion. When you start the dialog process, a wizard-like interface is presented to you so you can make appropriate selections to run the process.
  19. Internal Components. The internal components that support the Microsoft Dynamics CRM process programming model include Web services, shared platform, and business logic. The shared platform consists of common Microsoft Dynamics CRM components that provide registration, metadata cache, and data access services. Business logic contains the implementation of business logic for Microsoft Dynamics CRM business entities. External Components. The external components are as follows: Windows Workflow Foundation object model, which contains a set of classes used to create and parse workflow process definitions in XAML format. Windows Workflow Foundation execution, which contains a set of classes used to execute workflow processes. Process Infrastructure. The Microsoft Dynamics CRM process infrastructure consists of the following components: Process entity model, which contains a set of classes that use the Windows Workflow Foundation object model and expose Microsoft Dynamics CRM workflow activities. Process business logic, which implements business logic for process-specific entities. Process execution, which provides workflow execution services, such as workflow hosting and persistence. Process Data. The Microsoft Dynamics CRM process programming model is supported by the following data: Business data, which contains information associated with Microsoft Dynamics CRM entities. Process configuration data, which includes workflow process definitions, compiled workflow processes, and workflow process settings. Process runtime data, which is required to execute workflow processes and implement workflow process features, such as persistence and notifications.
  20. 1. When you create a workflow, it is in the Draft state. You must activate the workflow before it can run. When you activate a workflow, it subscribes to specific Microsoft Dynamics CRM events. When these events are triggered in the platform, a snapshot of the workflow dependencies and input parameters are created and a new asynchronous operation is added to the asynchronous service queue manager. The asynchronous operation represents a workflow execution job and awaits execution in the queue in the Ready state. 2. When the asynchronous operation is processed, a workflow instance, associated with this operation, is created by the Windows Workflow Foundation run-time engine and the state of it is changed from Ready to Locked. 3. The asynchronous operation is updated with the workflow instance state status on each transition. When the asynchronous operation is blocked, the Windows Workflow Foundation run-time engine puts the workflow instance into the Suspended state and removes it from memory. When the Suspended state conditions are satisfied, the workflow instance is loaded back into memory. 4. The workflow execution resumes by putting the workflow instance into a Ready state and then into a Locked state. In the simple scenario, the workflow instance moves to a Completed state when all workflow activities have completed successfully. The state of asynchronous operations can also be changed by the user. For example, an asynchronous operation that is in a Suspended state can explicitly be restarted by the user.
  21. 1. When you create a dialog, it is in the Draft state. You must activate the dialog before it can be run. A dialog can be run from its primary entity form and grid, or directly by using the URL of the dialog. For more information, see Start Dialog by using an URL. 2. Every time that you run a dialog, a process session (dialog session) instance is created for the dialog. As you progress with running the dialog, the dialog session entity is updated with the actions performed during the running of the dialog. 3. If you completed running the dialog successfully, the corresponding dialog session record is created with a Complete status. If you canceled the dialog without completing it, the corresponding dialog session record is created with an Incomplete status.
  22. Microsoft JScript functions that are associated through the customization tools to the available events in the form are supported. Interaction with data in the form is supported when performed using documented objects and methods available within the Xrm.Page.data object. Interaction with the form appearance and behavior is supported when performed using documented objects and methods available within the Xrm.Page.ui object. However, any direct interaction with the HTML Document Object Model (DOM) will probably not be upgradable. The structure of forms and HTML elements used in the forms could change in future releases.
  23. context Provides methods to retrieve information specific to an organization, a user, or parameters that were passed to the form in a query string. data Provides access to the entity data. ui Contains methods to retrieve information about the user interface, in addition to collections for several sub components of the form.
  24. There are two web services you can use to access data by using JavaScript. The REST endpoint provides a ‘RESTful’ web service using OData to provide a programming environment that is familiar to many developers. It is the recommended web service to use for tasks that involve creating, retrieving, updating and deleting records. However, in this release of Microsoft Dynamics CRM the capabilities of this Web service are limited to these actions. Future versions of Microsoft Dynamics CRM will enhance the capabilities of the REST endpoint. The SOAP endpoint provides access to all the messages defined in the Organization service. However, only the types defined within the WSDL will be returned. There is no strong type support. While the SOAP endpoint is also capable of performing create, retrieve, update and delete operations, the REST endpoint provides a better developer experience. In this release of Microsoft Dynamics CRM the SOAP endpoint provides an alternative way to perform operations that the REST endpoint is not yet capable of.
  25. The IFRAME element defines an inline frame for the inclusion of external objects including other HTML documents. The designs you choose for the form are also used for the Microsoft Dynamics CRM for Microsoft Office Outlook reading pane and read-optimized forms. Web resources and IFRAMEs are not displayed using the Microsoft Dynamics CRM for Outlook reading pane, but IFRAMEs are displayed in read-optimized forms. If your IFRAME depends on access to the Xrm.Page object of the page or any form event handlers, you should configure the IFRAME so that it is not visible by default.
  26. Microsoft Dynamics CRM data and metadata are stored in a Microsoft SQL Server database named <organization_name>_MSCRM on the server that is running Microsoft SQL Server in the Microsoft Dynamics CRM installation. SQL-based reports in Microsoft Dynamics CRM use the filtered views provided for each entity to retrieve data for the reports. Filtered views are fully compliant with the Microsoft Dynamics CRM security model. When you run a report that obtains data from filtered views, the Microsoft Dynamics CRM security role determines what data you can view in the report. Data in filtered views is restricted at these levels: the organization, the business unit, the owner, and at the field level. Filtered views exist for all Microsoft Dynamics CRM entities, including custom entities. Your custom SQL-based reports cannot read data directly from the Microsoft Dynamics CRM database tables. Instead, you must use the filtered views to retrieve data for your custom SQL-based reports.
  27. Reporting Services is a server-based reporting platform that provides comprehensive reporting functionality for a variety of data sources. Reporting Services includes a complete set of tools for you to create, manage, and deliver reports, and APIs that enable developers to integrate or extend data and report processing in custom applications. Reporting Services tools work within the Microsoft Visual Studio environment and are fully integrated with SQL Server tools and components. SQL-based These reports use SQL queries to securely retrieve data for reports from filtered views defined by the system. These are the same reports that have been available for previous versions of Microsoft Dynamics CRM. The default reports that are shipped with Microsoft Dynamics CRM 2011 are SQL-based reports. For security reasons, you cannot deploy custom SQL-based reports to Microsoft Dynamics CRM Online. Fetch-based These reports are introduced in Microsoft Dynamics CRM 2011 and use FetchXML queries to retrieve data for reports. You can deploy custom fetch-based reports to Microsoft Dynamics CRM Online and to on-premises Microsoft Dynamics CRM 2011. All reports that are created using the Report Wizard in the Microsoft Dynamics CRM 2011 are Fetch-based reports. Reports in Microsoft Dynamics CRM Online run in sandbox mode, and this is done by enabling RDL sandboxing in Microsoft SQL Server Reporting Services. As a result, certain features might not be available in Microsoft Dynamics CRM Online. For example, custom code in your report definition will not work. For more information, see Enabling and Disabling RDL Sandboxing .
  28. 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.
  29. Internet Lead Capture with CRM 2011 for non-US customers/partners - This feature creates a page that enable us to capture web leads with Microsoft Dynamics CRM 2011.
  30. In Microsoft Dynamics CRM Server 2011, you can install specific server functionality, components, and services on different computers. These components and services correspond to specific server roles.
  31. The integration framework within Dynamics CRM is built on Windows Communication Foundation (WCF) endpoints that have been streamlined to provide a set of tools to simplify the development of integrated solutions. This framework supports Language Integrated Query (LINQ) queries to retrieve data from Microsoft Dynamics CRM. The REST endpoint for AJAX and Microsoft Silverlight clients provides an alternative interface that can be leveraged to work with Microsoft Dynamics CRM data. Rather than directly invoking a Simple Object Access Protocol (SOAP)-based Web service, requests can be executed using a service that is based on a URI. SOAP defines a standard communication protocol (set of rules) specification for XML-based message exchange. SOAP uses different transport protocols, such as HTTP and SMTP. The standard protocol HTTP makes it easier for SOAP model to tunnel across firewalls and proxies without any modifications to the SOAP protocol. SOAP can sometimes be slower than middleware technologies like CORBA or ICE due to its verbose XML format. REST describes a set of architectural principles by which data can be transmitted over a standardized interface (such as HTTP). REST does not contain an additional messaging layer and focuses on design rules for creating stateless services. A client can access the resource using the unique URI and a representation of the resource is returned. With each new resource representation, the client is said to transfer state. While accessing RESTful resources with HTTP protocol, the URL of the resource serves as the resource identifier and GET, PUT, DELETE, POST and HEAD are the standard HTTP operations to be performed on that resource.
  32. Dynamics CRM 2011 now has built-in integration with SharePoint for document management. From CRM it is now possible to associate Microsoft SharePoint Document locations to a CRM record. Once associated, users are able to collaborate on documents in the context of CRM records. Microsoft SharePoint integration can be enabled for both built-in and custom entities using the following dialog. Once SharePoint is enabled for an entity and SharePoint also has the CRM List components installed, folders are automatically created as users work with the records in CRM.
  33. User authentication in Dynamics CRM 2011 is based on Windows Identity Foundation that forms the basis for claims based authentication, allowing a user to present their identity as a set of claims. Your choice of authentication method depends on your organization's design and deployment goals.
  34. After deploying claims-based authentication, internal users can continue to use Windows Authentication to access Microsoft Dynamics CRM data (for example, using http://<crmserver:port>/orgname). Before deploying claims-based authentication in a production environment, first test your deployment settings in a test environment. Claims-based identity is a common way for applications to acquire the identity information they need about users inside their organization, in other organizations, and on the Internet. It also provides a consistent approach for applications running on-premises or in the cloud. Claims-based authentication provides an industry standard security protocol to authenticate a user on a host computer. Claims-based authentication is a set of WS-* standards describing the use of a Security Assertion Markup Language (SAML) token. Claims-based authentication requires the availability of a security token service (STS) running on a server. An STS server can be based on Active Directory Federation Services (AD FS) V2, or any platform that provides the official STS protocol. A claim is a statement that one subject, such as a person or organization, makes about itself or another subject. For example the statement can be about a name, group, buying preference, ethnicity, privilege, association or capability. The subject making the claim or claims is the provider. Claims are packaged into one or more tokens that are then issued by an issuer (provider), commonly known as a Security Token Service (STS). Security Assertions Markup Language (SAML) tokens are XML representations of claims.