enterprise data integration strategies for microsoft dynamics crm

25
Enterprise Data Integration Strategies for Microsoft Dynamics CRM Jean-René Roy Salim Adamon

Upload: duc

Post on 14-Feb-2016

60 views

Category:

Documents


1 download

DESCRIPTION

Enterprise Data Integration Strategies for Microsoft Dynamics CRM. Jean-Ren é Roy Salim Adamon. Who is Jean-Rene Roy?. Independent Consultant SQL Server MVP Software Architect and team lead for many enterprises Program Lead for OttawaSQL.Net and .NET Ottawa Community - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Enterprise Data Integration Strategies for Microsoft Dynamics CRM

Enterprise Data Integration Strategies for Microsoft Dynamics

CRM

Jean-René RoySalim Adamon

Page 2: Enterprise Data Integration Strategies for Microsoft Dynamics CRM

Who is Jean-Rene Roy?

• Independent Consultant• SQL Server MVP• Software Architect and team lead for many enterprises• Program Lead for OttawaSQL.Net and .NET Ottawa

Community• Founder of SQLTeach and DevTeach• SQL Server / CRM Dev / TFS Specialist• System Architect for TBS, HoC, CCA

Page 3: Enterprise Data Integration Strategies for Microsoft Dynamics CRM

Who is Salim Adamon?

• CRM Consultant @ “A Hundred Answers”• CRM and Technology Solution Architect• Microsoft Dynamics CRM MVP• CRM Blogger

Page 4: Enterprise Data Integration Strategies for Microsoft Dynamics CRM

Agenda

• Introduction to Dynamics CRM

• Data Migration vs Data Integration

• Data Migration & Integration Strategies

Examples and Challenges

• Pitfalls of developing with Dynamics CRM

Page 5: Enterprise Data Integration Strategies for Microsoft Dynamics CRM

What is Dynamics CRM?

• Dynamics CRM is a COTS product• Flexible Client Relationship Management platform

Allows for complex configuration Provides deep customization framework

• Customizations are limited by the CRM framework

Live by the FrameworkOr

Die by the Framework

Page 6: Enterprise Data Integration Strategies for Microsoft Dynamics CRM

CRM vs T-SQL

• Entity = DB Table• Entity Fields = Table Fields• Relationship 1 - N, N- N, N-1 = SQL Server Index• Bulk Edit = T-SQL Update statement • Workflow ~ T-SQL Triggers

Introduction to the CRM Database

Page 7: Enterprise Data Integration Strategies for Microsoft Dynamics CRM

DEMO

Introduction to the CRM Database

Page 8: Enterprise Data Integration Strategies for Microsoft Dynamics CRM

• Let’s take a look at CRM Database• What’s the type of the Primary key in Tables?• What’s a Dynamic View?• What is the Lookup Concept? (Advanced Find)

Introduction to the GUID Concept in CRM

Page 9: Enterprise Data Integration Strategies for Microsoft Dynamics CRM

Data Migration & Data Integration

Data migration/integration Very complex (diversity of data, integrity, downtime) Forgotten about (overlooked, treated as less important)

User adoption is driven by the quality of your data!

Page 10: Enterprise Data Integration Strategies for Microsoft Dynamics CRM

Data Migration vs Data IntegrationData Migration

• “One and done” activity

• Initial data load

• Moving large volume of data

• Get it right

• Bring in only relevant data

• Cost to fix data issues is high

Data Integration

• On-going replication or

synchronization of data

• Different needs:

• Real Time

• Batch (scheduled based)

• On-demand (messaging/queue)

• Needs to be maintained as the

application evolves

Page 11: Enterprise Data Integration Strategies for Microsoft Dynamics CRM

Data Migration / Integration Strategies

• CRM Data Import Wizard

• ETL Tools SSIS + 3rd Party CRM Connector

Scribe

Connectors for MS Dynamics

More…

• Custom Integration Development Write your own using CRM web services SDK or service reference

• BizTalk / MSMQ (Message queue)

Page 12: Enterprise Data Integration Strategies for Microsoft Dynamics CRM

CRM Data Import Wizard

• Using XML/CSV Templates• Configure mapping and Import data into CRM

DEMO

Data Migration/Integration Strategies

Page 13: Enterprise Data Integration Strategies for Microsoft Dynamics CRM

ETL Tools• Leverage SQL Server Integration Services (SSIS)

Performance Scalability Extensibility Scheduling capabilities

• Dynamics CRM Platform restrictions: Allows to read data from database using System View Create, Update, Delete operations NOT allowed at the database level Create, Update, Delete must be done via CRM SDK or web service reference

• Solution Use 3rd party vendor (SSIS Integration Toolkit with CRM Connectors) Kingsway Software

Data Migration/Integration Strategies

Page 14: Enterprise Data Integration Strategies for Microsoft Dynamics CRM

ETL Tools• Best practices (why doing it like this?)

Done at the beginning Run every day and adjusted Why syncing the GUID

DEMOGUID-Sync ETL

Data Migration/Integration Strategies

Page 15: Enterprise Data Integration Strategies for Microsoft Dynamics CRM

Need a break?

Data Migration/Integration Strategies

Back in 15 minutes…

Page 16: Enterprise Data Integration Strategies for Microsoft Dynamics CRM

ETL Tools• Continuous Data Integration

Introduce the Sync Data Concept Sync Data in one direction vs two directions Why do we do this?

Data Migration/Integration Strategies

Page 17: Enterprise Data Integration Strategies for Microsoft Dynamics CRM

ETL Tools : Batch Data Processing

• Talk about the User Story for Check Payment• Show what can be a Batch Integration• Why doing it in Batch?• Show the SQL Server Agent Calling SSIS

DEMOBatch Check SSIS Package

Data Migration/Integration Strategies

Page 18: Enterprise Data Integration Strategies for Microsoft Dynamics CRM

Custom Development

• Using .NET Code with XRM SDK or Service Reference CRUD operations Data Integration using multiple sources You are the ultimate decider!

• Why custom development? Real-time integration Keep all components as part of a single “CRM Solution” (no additional

components to deploy) Leverage internal resources strengths Learning curve and cost of external integration tools

Data Migration/Integration Strategies

Page 19: Enterprise Data Integration Strategies for Microsoft Dynamics CRM

Custom Development

• Real-time Integration using Plugins Custom Business Logic (code .NET/C# or VB) Event handles for events fired by Dynamics CRM

Example of events: Create, Update, Delete, Set State etc.

DEMO

Data Migration/Integration Strategies

Page 20: Enterprise Data Integration Strategies for Microsoft Dynamics CRM

Custom Development

• Other Possibilities Workflows

Asynchronous or Synchronous Configurable (screen editor) Functionality can be extended with Custom Code No execution timeout

Dialogs Interactive and synchronous process Requires user input to start and run to completion Functionality can be extended with Custom Code

Data Migration/Integration Strategies

Page 21: Enterprise Data Integration Strategies for Microsoft Dynamics CRM

Pitfalls of developing with Dynamics CRM

• Traditional Software Development : 25 Analyze 75% coding

75%

25%

25%

75%• Development with CRM :

75% Analyze 25% coding

Page 22: Enterprise Data Integration Strategies for Microsoft Dynamics CRM

Pitfalls of developing with Dynamics CRM

• Using CRM for high volume data: plan carefully

• Using COST product to build custom process can take a long time.

Need an adapted development process

• Involve users early (UAT/Training)

• Define source control strategies early

• Re-design existing process for the framework can be challenging Remodel your processes to best use the out of the box features

Page 23: Enterprise Data Integration Strategies for Microsoft Dynamics CRM

Questions?

Page 24: Enterprise Data Integration Strategies for Microsoft Dynamics CRM

Contact Info

• Jean-René Roy Email: [email protected] Blog: http://www.softdesign.ca/blog/

• Salim Adamon Email: [email protected] Blog: http://thedynamicscrmblog.wordpress.com/

Page 25: Enterprise Data Integration Strategies for Microsoft Dynamics CRM

References• Third party:•  https://www.kingswaysoft.com•  https://www.kingswaysoft.com/products/ssis-integration-toolkit-for-microsoft-dynamics-crm/purchase•  • Blogs / Forum:•  http://danielcai.blogspot.ca/2012/02/improve-crm-data-load-performance-by.html•  http://danielcai.blogspot.ca/•  http://petecrm2011.wordpress.com/page/2/•  http://guruprasadcrm.blogspot.com.au/2011/07/retrieving-optionset-lable-data-using.html•  http://stackoverflow.com/questions/10443253/how-to-set-option-set-value-in-crm-2011•  • SSIS BDD:• http://technet.microsoft.com/en-us/sqlserver/hh369962• http://www.microsoft.com/en-ca/download/details.aspx?id=4123•