SlideShare a Scribd company logo
1 of 35
CRM Magic with Data Migration &
Integration
Daniel Cai
http://www.kingswaysoft.com
http://danielcai.blogspot.com
#CRMUGsummit
About me
• Daniel Cai
– Principal Developer @KingswaySoft
• An independent software company offering integration software and solutions
• Main interests
– Microsoft Dynamics CRM
– Business Intelligence
– .NET
– Enterprise Architecture
• Microsoft Dynamics CRM MVP – 2011, 2012, 2013
#CRMUGsummit
Agenda
• Challenges
• Data Migration vs. Data Integration
• Data Migration / Integration Approaches
– CRM Import Wizard
– Custom Integration Development
– ETL
– Service Bus / BizTalk
• Get data into CRM faster!
• Closing notes
#CRMUGsummit
Challenges of Data Migration / Integration
• Diversity of data and systems
• Complexity and intricacy associated with working with
CRM web service interfaces
• An often overlooked piece of work in CRM projects
• Limited space for performance tuning
#CRMUGsummit
Data Integration vs. Data Migration
Data
Migration
A “One-Off” activity • Often large volume of data in initial load
• Cost to fix any data issues thereafter is high
• Data cleansing is usually part of the effort
• Time sensitive
Data
Integration
On-going data
synchronization or
replication
• Managing incremental changes
• Different requirements call for different design
• Real-time
• Batch
• Messaging
• Need to be done fast in order to minimize performance
impact on production system
#CRMUGsummit
Available options
• Leverage existing technologies and tools
– CRM Import Data Wizard
– ETL tools
• SSIS
• Informatica
• Scribe
• Connectors for Microsoft Dynamics
• etc.
– BizTalk / Service Bus
• Custom integration solution development
– Program against CRM Web Service Interfaces (SDK Programming)
#CRMUGsummit
CRM Import Data Wizard
#CRMUGsummit
CRM Import Data Wizard
• What’s it?
– Free utilities offered by the platform
• Pros
– Works for simple and small data import scenarios
– Works within application, available for CRM users for self-served data imports
– Undoable
• works well for new insert, but not update though
– Free
• Cons
– No delete
• don’t confuse with the above undo capability
– No transformation
– No scheduling, no automation
– Difficult to manage incremental changes
– Maximum number of records is constrained by file size
– Limited capability of handling relationship
– Exceptions to be expected when used for some special entities, fields
#CRMUGsummit
CRM Import Data Wizard
#CRMUGsummit
Custom Integration Development
#CRMUGsummit
Custom Integration Development
• How does it work?
– Write custom code against CRM web service interfaces using SDK or service references
• Pros
– Leverage your .NET programming (C# or VB.NET) skills
– More granular control
– Flexible integration points
• Plugins
• Workflows / Processes
• Standalone applications (Console, Windows Form, and probably third-party apps)
• Cons
– Could be an exhaustive effort due to large amount of coding effort
• Scheduling
• Threading
• Intricacies associated with working with CRM web service interfaces
– Most likely much higher maintenance cost down the road
– Often the case, the implementation ends up with a tightly-coupled architecture style, which leads to poor
maintainability
#CRMUGsummit
Decisions – Custom Integration Development
• SDK assemblies
– v6.0 can be used to talk to either CRM 2013 or 2011
– v5.0 can also be used to talk to either CRM 2013 or 2011, however with no access to CRM 2013
specific features
• entityimage field
• Programming Styles
– Early-bound
– Late-bound
• Performance Considerations
– Multi-threading
– Bulk Data Load API
#CRMUGsummit
Programming Styles – Early-bound vs. Late-bound
Early-bound Late-bound
Pros • Compile-time validation through
strongly-typed entity classes and fields
• Intellisense
• CRM LINQ query APIs
• Slightly better performance comparing
to early-bound
• More flexibility
• Smaller binary delivery
Cons • Small performance overhead
• Dependency on command-line tool
whenever CRM metadata has been
changed
• Larger binary delivery
• No compile-time validation or
intellisense
• Less productive CRM LINQ query APIs
#CRMUGsummit
Custom Integration Development
• Demo
– Data integration through CRM Web Service
Interfaces utilizing CRM SDK
#CRMUGsummit
ETL
#CRMUGsummit
ETL Tools
• What’s ETL
– Extract, Transform, Load
• Pros
– Development productivity
– Integration automation with scheduling engine
– Performance, scalability and extensibility
– Can be part of your overall BI and data warehousing strategies
• Cons
– Learning curve of the ETL tool
– License cost of the ETL tool and/or the adapters
– Probably not the ideal solution for real-time requirements
• Options
– SSIS (SQL Server Integration Services)
– Informatica
– Scribe
– Connectors for Microsoft Dynamics
– …
#CRMUGsummit
SSIS as CRM Data Integration Platform
• Why SSIS?
– SSIS is Microsoft’s answer to enterprise data integration
– Scalability
– Performance
– Extensibility
– Easy to work with
– Works for almost any data source or target
– Accessible technical resources
• A third-party adapter is required
– KingswaySoft SSIS Integration Toolkit for Microsoft Dynamics CRM
• Free developer edition available at www.kingswaysoft.com
• 4 SSIS components included
#CRMUGsummit
ETL
• Demo
– Data integration using KingswaySoft SSIS
Integration Toolkit for Microsoft Dynamics CRM
#CRMUGsummit
Connectors for Microsoft Dynamics
• A small footprint ETL engine
• Support the integration between Microsoft Dynamics
CRM and most of Microsoft Dynamics ERP applications
(AX, NAV, GP, SL)
• SDK is available to develop your own adapters
• Offered under free license since its v3.0 release
#CRMUGsummit
Connectors for Microsoft Dynamics (cont.)
Image from MSDN article: http://msdn.microsoft.com/en-us/library/gg502460.aspx
#CRMUGsummit
Service Bus / BizTalk
#CRMUGsummit
Service Bus / BizTalk – Messaging-based integration
• What’s service bus?
– A software architecture model used for designing and implementing the interaction and
communication between mutually interacting software applications in service-oriented architecture
(SOA)
– A messaging-based integration solution
• Pros
– Optimized to move single transactions between different systems or processes in near real time or
real time
– Decoupled integration architectural model
• Best suited for decoupled heterogeneous systems by using Service Bus or BizTalk as the middleware
• Cons
– Probably not best fit with large volume data load
– Performance overhead due to serialization and deserialization
– Complexity associated with the messaging platform
#CRMUGsummit
Service Bus Implementation Patterns
• Various Implementation Patterns (Azure Service Bus)
– Queue
• No active listener is required
• destructive read vs. non-destructive read
• two types of queues
– message buffer queue
– persistent queue
– One Way
• requires an active listener
• retries through asynchronous system job
– Two Way
• requires an active listener
• a string value can be returned
– REST
• essentially a two-way listener in REST style
– Topic
• Similar to a queue, except that listener(s) can subscribe to receive messages from the topic
#CRMUGsummit
Service Bus Integration for Microsoft Dynamics CRM
Image from MSDN article: http://msdn.microsoft.com/en-us/library/gg334766.aspx
#CRMUGsummit
CRM Service Bus Integration
• Integration Points
– Plugin
– Workflow
• Some Limitations
– There is no way to use custom messages
• You publish the entire execution context, which could contain unnecessary information for other parties
• Remove sensitive information from the context object if necessary
– Although you can host Windows Service Bus on-premise, there isn’t a way to talk to your service bus
on-premise from CRM plug-in or Workflow
– It is possible to write listener to listen to service bus, and push the data (messages) to CRM server,
however this is not currently an out-of-the-box feature provided by the platform
– There will be some technical challenges if you want to utilize a third-party service bus solution
#CRMUGsummit
CRM + Azure Service Bus
• Demo
– Service Bus integration in CRM Plugin
#CRMUGsummit
Get data into CRM faster!
#CRMUGsummit
Why?
• Web service interface is generally slow
• It is never faster enough to load data
#CRMUGsummit
Multi-threading
Make sure to update your .config file in order to
overcome the connection limit of concurrent
service calls
<configuration>
...
<system.net>
<connectionManagement>
<add address="*" maxconnection="100"/>
</connectionManagement>
</system.net>
</configuration>
The SSIS way
#CRMUGsummit
Leverage multi-node cluster
#CRMUGsummit
Bulk API
• Bulk API is more beneficial
when network latency is high
• There is an API throttling
with CRM Online
– At most 2 concurrent
ExecuteMultiple requests
per organization
#CRMUGsummit
Other considerations
• Minimize the number of fields you work with when reading from or writing to CRM
• Mind the performance impact that your plugins or workflows may have on the system
– disable them if you don’t need them in initial load
• Watch out your query (if any) performance during data migration/integration
– make sure database indexes are available for the queries
– add custom indexes if needed
• Watch out the resource usage on your integration server, CRM server and database server
– Poor performance could be caused by poor infrastructure
– More often, poor performance can be caused by poorly-written custom code in plugins or
workflows
#CRMUGsummit
Closing Notes
#CRMUGsummit
How to survive your CRM data migration/integration
• Don’t ever try to write to CRM database directly at any time!
• Choose the right tools, and know your tools
– there is often more than one way to get a job done
• Know your data
– both source and target
– document and establish the mapping between your source data and target data
• Error happens
– define a proper error handling strategy
– and possibly implement a retry mechanism if necessary, particularly if you are working with CRM online
• Define your data quality standards
– make sure your data migration/integration adhere to the standards
• Plan ahead, expect changes
#CRMUGsummit
Q & A
Daniel Cai
KingswaySoft, http://www.kingswaysoft.com
Personal Blog: http://danielcai.blogspot.com
Email: daniel.cai@kingswaysoft.com

More Related Content

What's hot

Migration to Flows – Getting it Right!
Migration to Flows – Getting it Right!Migration to Flows – Getting it Right!
Migration to Flows – Getting it Right!
panayaofficial
 
Microsoft dynamics-crm-online-overview-ppt
Microsoft dynamics-crm-online-overview-pptMicrosoft dynamics-crm-online-overview-ppt
Microsoft dynamics-crm-online-overview-ppt
Mohammed Badruddin
 
SAP Testing Services
SAP Testing ServicesSAP Testing Services
SAP Testing Services
r_shanki
 

What's hot (20)

Migration to Flows – Getting it Right!
Migration to Flows – Getting it Right!Migration to Flows – Getting it Right!
Migration to Flows – Getting it Right!
 
Development Best Practices
Development Best PracticesDevelopment Best Practices
Development Best Practices
 
Introduction to data migration
Introduction to data migrationIntroduction to data migration
Introduction to data migration
 
Microsoft dynamics-crm-online-overview-ppt
Microsoft dynamics-crm-online-overview-pptMicrosoft dynamics-crm-online-overview-ppt
Microsoft dynamics-crm-online-overview-ppt
 
Customize the New Salesforce Mobile App with Lightning App Builder
Customize the New Salesforce Mobile App with Lightning App BuilderCustomize the New Salesforce Mobile App with Lightning App Builder
Customize the New Salesforce Mobile App with Lightning App Builder
 
Salesforce integration best practices columbus meetup
Salesforce integration best practices   columbus meetupSalesforce integration best practices   columbus meetup
Salesforce integration best practices columbus meetup
 
DYNAMICS 365 SALES
DYNAMICS 365 SALESDYNAMICS 365 SALES
DYNAMICS 365 SALES
 
Salesforce Cross-Cloud Architecture
Salesforce Cross-Cloud ArchitectureSalesforce Cross-Cloud Architecture
Salesforce Cross-Cloud Architecture
 
Salesforce crm and its cloud services ppt converted
Salesforce crm and its cloud services ppt convertedSalesforce crm and its cloud services ppt converted
Salesforce crm and its cloud services ppt converted
 
Ms Dynamics 365 vs Salesforce CRM
Ms Dynamics 365 vs Salesforce CRMMs Dynamics 365 vs Salesforce CRM
Ms Dynamics 365 vs Salesforce CRM
 
Data governance Program PowerPoint Presentation Slides
Data governance Program PowerPoint Presentation Slides Data governance Program PowerPoint Presentation Slides
Data governance Program PowerPoint Presentation Slides
 
Dynamics 365 introduction and functional
Dynamics 365 introduction and functionalDynamics 365 introduction and functional
Dynamics 365 introduction and functional
 
Technology in Society-CRM-(Salesforce)-Business Strategy
Technology in Society-CRM-(Salesforce)-Business Strategy Technology in Society-CRM-(Salesforce)-Business Strategy
Technology in Society-CRM-(Salesforce)-Business Strategy
 
Reports and dashboards @salesforce
Reports and dashboards @salesforceReports and dashboards @salesforce
Reports and dashboards @salesforce
 
Top 10 Checklist For Successful Salesforce Implementation
Top 10 Checklist For Successful Salesforce ImplementationTop 10 Checklist For Successful Salesforce Implementation
Top 10 Checklist For Successful Salesforce Implementation
 
Sample - Data Warehouse Requirements
Sample -  Data Warehouse RequirementsSample -  Data Warehouse Requirements
Sample - Data Warehouse Requirements
 
Circles of success - So you have created or acquired a mess - now what (1)
Circles of success - So you have created or acquired a mess - now what (1)Circles of success - So you have created or acquired a mess - now what (1)
Circles of success - So you have created or acquired a mess - now what (1)
 
What Is Salesforce? | Salesforce Training - What Does Salesforce Do? | Salesf...
What Is Salesforce? | Salesforce Training - What Does Salesforce Do? | Salesf...What Is Salesforce? | Salesforce Training - What Does Salesforce Do? | Salesf...
What Is Salesforce? | Salesforce Training - What Does Salesforce Do? | Salesf...
 
The Salesforce Advantage: Understanding the Why (August 17, 2015)
The Salesforce Advantage: Understanding the Why (August 17, 2015)The Salesforce Advantage: Understanding the Why (August 17, 2015)
The Salesforce Advantage: Understanding the Why (August 17, 2015)
 
SAP Testing Services
SAP Testing ServicesSAP Testing Services
SAP Testing Services
 

Viewers also liked

CGG Data Management Services Overview_LinkedIn
CGG Data Management Services Overview_LinkedInCGG Data Management Services Overview_LinkedIn
CGG Data Management Services Overview_LinkedIn
Dwight N. Brown
 
2014 IST-Deloitte Case Study Challenge
2014 IST-Deloitte Case Study Challenge2014 IST-Deloitte Case Study Challenge
2014 IST-Deloitte Case Study Challenge
Tyler Focht
 
Deloitte proseminar presentation 09172013
Deloitte proseminar presentation 09172013Deloitte proseminar presentation 09172013
Deloitte proseminar presentation 09172013
edermike
 
ERP Data Migration Methodologies
ERP Data Migration MethodologiesERP Data Migration Methodologies
ERP Data Migration Methodologies
Ahmed M. Rafik
 

Viewers also liked (20)

Enterprise Data Integration for Microsoft Dynamics CRM
Enterprise Data Integration for Microsoft Dynamics CRMEnterprise Data Integration for Microsoft Dynamics CRM
Enterprise Data Integration for Microsoft Dynamics CRM
 
Preparing a data migration plan: A practical guide
Preparing a data migration plan: A practical guidePreparing a data migration plan: A practical guide
Preparing a data migration plan: A practical guide
 
CGG Data Management Services Overview_LinkedIn
CGG Data Management Services Overview_LinkedInCGG Data Management Services Overview_LinkedIn
CGG Data Management Services Overview_LinkedIn
 
CRM Data Management Services
CRM Data Management ServicesCRM Data Management Services
CRM Data Management Services
 
2014 IST-Deloitte Case Study Challenge
2014 IST-Deloitte Case Study Challenge2014 IST-Deloitte Case Study Challenge
2014 IST-Deloitte Case Study Challenge
 
Deloitte consulting case study
Deloitte consulting case studyDeloitte consulting case study
Deloitte consulting case study
 
Hybrid Cloud Service on the ThinkFree Mobile Android Platform
Hybrid Cloud Service on the ThinkFree Mobile Android PlatformHybrid Cloud Service on the ThinkFree Mobile Android Platform
Hybrid Cloud Service on the ThinkFree Mobile Android Platform
 
Integration with Microsoft CRM using Mule ESB
Integration with Microsoft CRM using Mule ESBIntegration with Microsoft CRM using Mule ESB
Integration with Microsoft CRM using Mule ESB
 
Deloitte proseminar presentation 09172013
Deloitte proseminar presentation 09172013Deloitte proseminar presentation 09172013
Deloitte proseminar presentation 09172013
 
My Sql Data Migration
My Sql Data MigrationMy Sql Data Migration
My Sql Data Migration
 
8 myths About Moving from Siebel to Salesforce
8 myths About Moving from Siebel to Salesforce8 myths About Moving from Siebel to Salesforce
8 myths About Moving from Siebel to Salesforce
 
Modernize Siebel CRM with Open UI
Modernize Siebel CRM with Open UIModernize Siebel CRM with Open UI
Modernize Siebel CRM with Open UI
 
Microsoft Dynamics CRM For Healthcare
Microsoft Dynamics CRM For HealthcareMicrosoft Dynamics CRM For Healthcare
Microsoft Dynamics CRM For Healthcare
 
Data migration blueprint legacy to sap
Data migration blueprint  legacy to sapData migration blueprint  legacy to sap
Data migration blueprint legacy to sap
 
Lessons Learned: Building IBM's Next Generation CRM Architecture
Lessons Learned: Building IBM's Next Generation CRM ArchitectureLessons Learned: Building IBM's Next Generation CRM Architecture
Lessons Learned: Building IBM's Next Generation CRM Architecture
 
Mann India Technologies 2010 Corporate presentation
Mann India Technologies 2010 Corporate presentationMann India Technologies 2010 Corporate presentation
Mann India Technologies 2010 Corporate presentation
 
ERP Data Migration Methodologies
ERP Data Migration MethodologiesERP Data Migration Methodologies
ERP Data Migration Methodologies
 
How Data.com Drives Data Quality
How Data.com Drives Data QualityHow Data.com Drives Data Quality
How Data.com Drives Data Quality
 
A Roadmap to Data Migration Success
A Roadmap to Data Migration SuccessA Roadmap to Data Migration Success
A Roadmap to Data Migration Success
 
Management Information Systems in the Banking Sector
Management Information Systems in the Banking SectorManagement Information Systems in the Banking Sector
Management Information Systems in the Banking Sector
 

Similar to CRM magic with data migration & integration (Presentation at CRMUG Summit 2013)

1588487811-chp-11-c-enterprise-application-integration.ppt
1588487811-chp-11-c-enterprise-application-integration.ppt1588487811-chp-11-c-enterprise-application-integration.ppt
1588487811-chp-11-c-enterprise-application-integration.ppt
KalsoomTahir2
 

Similar to CRM magic with data migration & integration (Presentation at CRMUG Summit 2013) (20)

Getting data into microsoft dynamics crm faster
Getting data into microsoft dynamics crm fasterGetting data into microsoft dynamics crm faster
Getting data into microsoft dynamics crm faster
 
Jean-René Roy: Integrate Legacy App with Dynamic CRM
Jean-René Roy: Integrate Legacy App with Dynamic CRMJean-René Roy: Integrate Legacy App with Dynamic CRM
Jean-René Roy: Integrate Legacy App with Dynamic CRM
 
Marketing Automation at Scale: How Marketo Solved Key Data Management Challen...
Marketing Automation at Scale: How Marketo Solved Key Data Management Challen...Marketing Automation at Scale: How Marketo Solved Key Data Management Challen...
Marketing Automation at Scale: How Marketo Solved Key Data Management Challen...
 
Micro service architecture
Micro service architecture  Micro service architecture
Micro service architecture
 
Big Data Analytics on the Cloud Oracle Applications AWS Redshift & Tableau
Big Data Analytics on the Cloud Oracle Applications AWS Redshift & TableauBig Data Analytics on the Cloud Oracle Applications AWS Redshift & Tableau
Big Data Analytics on the Cloud Oracle Applications AWS Redshift & Tableau
 
L19 Application Architecture
L19 Application ArchitectureL19 Application Architecture
L19 Application Architecture
 
EAI (Integration) and Mulesoft
EAI (Integration) and MulesoftEAI (Integration) and Mulesoft
EAI (Integration) and Mulesoft
 
Azure Application Architecture Guide
Azure Application Architecture GuideAzure Application Architecture Guide
Azure Application Architecture Guide
 
Cloud computing
Cloud computing Cloud computing
Cloud computing
 
Marco 2014 iib90_overview_port
Marco 2014 iib90_overview_portMarco 2014 iib90_overview_port
Marco 2014 iib90_overview_port
 
Integration with Dynamics CRM
Integration with Dynamics CRMIntegration with Dynamics CRM
Integration with Dynamics CRM
 
One-Click Deployments - CRMUG London 2014
One-Click Deployments - CRMUG London 2014One-Click Deployments - CRMUG London 2014
One-Click Deployments - CRMUG London 2014
 
Pros & Cons of Microservices Architecture
Pros & Cons of Microservices ArchitecturePros & Cons of Microservices Architecture
Pros & Cons of Microservices Architecture
 
Le novità di sql server 2019
Le novità di sql server 2019Le novità di sql server 2019
Le novità di sql server 2019
 
1588487811-chp-11-c-enterprise-application-integration.ppt
1588487811-chp-11-c-enterprise-application-integration.ppt1588487811-chp-11-c-enterprise-application-integration.ppt
1588487811-chp-11-c-enterprise-application-integration.ppt
 
--Enterprise-Application-Integration.ppt
--Enterprise-Application-Integration.ppt--Enterprise-Application-Integration.ppt
--Enterprise-Application-Integration.ppt
 
Effective admin and development in iib
Effective admin and development in iibEffective admin and development in iib
Effective admin and development in iib
 
Lecture 9: Dynamic web application
Lecture 9: Dynamic web applicationLecture 9: Dynamic web application
Lecture 9: Dynamic web application
 
CRM Integration Options–Scribe, SmartConnect, Microsoft Connector. What's the...
CRM Integration Options–Scribe, SmartConnect, Microsoft Connector. What's the...CRM Integration Options–Scribe, SmartConnect, Microsoft Connector. What's the...
CRM Integration Options–Scribe, SmartConnect, Microsoft Connector. What's the...
 
Introduction and Basics to web technology .pptx
Introduction and Basics to web technology .pptxIntroduction and Basics to web technology .pptx
Introduction and Basics to web technology .pptx
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Recently uploaded (20)

MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 

CRM magic with data migration & integration (Presentation at CRMUG Summit 2013)

  • 1. CRM Magic with Data Migration & Integration Daniel Cai http://www.kingswaysoft.com http://danielcai.blogspot.com
  • 2. #CRMUGsummit About me • Daniel Cai – Principal Developer @KingswaySoft • An independent software company offering integration software and solutions • Main interests – Microsoft Dynamics CRM – Business Intelligence – .NET – Enterprise Architecture • Microsoft Dynamics CRM MVP – 2011, 2012, 2013
  • 3. #CRMUGsummit Agenda • Challenges • Data Migration vs. Data Integration • Data Migration / Integration Approaches – CRM Import Wizard – Custom Integration Development – ETL – Service Bus / BizTalk • Get data into CRM faster! • Closing notes
  • 4. #CRMUGsummit Challenges of Data Migration / Integration • Diversity of data and systems • Complexity and intricacy associated with working with CRM web service interfaces • An often overlooked piece of work in CRM projects • Limited space for performance tuning
  • 5. #CRMUGsummit Data Integration vs. Data Migration Data Migration A “One-Off” activity • Often large volume of data in initial load • Cost to fix any data issues thereafter is high • Data cleansing is usually part of the effort • Time sensitive Data Integration On-going data synchronization or replication • Managing incremental changes • Different requirements call for different design • Real-time • Batch • Messaging • Need to be done fast in order to minimize performance impact on production system
  • 6. #CRMUGsummit Available options • Leverage existing technologies and tools – CRM Import Data Wizard – ETL tools • SSIS • Informatica • Scribe • Connectors for Microsoft Dynamics • etc. – BizTalk / Service Bus • Custom integration solution development – Program against CRM Web Service Interfaces (SDK Programming)
  • 8. #CRMUGsummit CRM Import Data Wizard • What’s it? – Free utilities offered by the platform • Pros – Works for simple and small data import scenarios – Works within application, available for CRM users for self-served data imports – Undoable • works well for new insert, but not update though – Free • Cons – No delete • don’t confuse with the above undo capability – No transformation – No scheduling, no automation – Difficult to manage incremental changes – Maximum number of records is constrained by file size – Limited capability of handling relationship – Exceptions to be expected when used for some special entities, fields
  • 11. #CRMUGsummit Custom Integration Development • How does it work? – Write custom code against CRM web service interfaces using SDK or service references • Pros – Leverage your .NET programming (C# or VB.NET) skills – More granular control – Flexible integration points • Plugins • Workflows / Processes • Standalone applications (Console, Windows Form, and probably third-party apps) • Cons – Could be an exhaustive effort due to large amount of coding effort • Scheduling • Threading • Intricacies associated with working with CRM web service interfaces – Most likely much higher maintenance cost down the road – Often the case, the implementation ends up with a tightly-coupled architecture style, which leads to poor maintainability
  • 12. #CRMUGsummit Decisions – Custom Integration Development • SDK assemblies – v6.0 can be used to talk to either CRM 2013 or 2011 – v5.0 can also be used to talk to either CRM 2013 or 2011, however with no access to CRM 2013 specific features • entityimage field • Programming Styles – Early-bound – Late-bound • Performance Considerations – Multi-threading – Bulk Data Load API
  • 13. #CRMUGsummit Programming Styles – Early-bound vs. Late-bound Early-bound Late-bound Pros • Compile-time validation through strongly-typed entity classes and fields • Intellisense • CRM LINQ query APIs • Slightly better performance comparing to early-bound • More flexibility • Smaller binary delivery Cons • Small performance overhead • Dependency on command-line tool whenever CRM metadata has been changed • Larger binary delivery • No compile-time validation or intellisense • Less productive CRM LINQ query APIs
  • 14. #CRMUGsummit Custom Integration Development • Demo – Data integration through CRM Web Service Interfaces utilizing CRM SDK
  • 16. #CRMUGsummit ETL Tools • What’s ETL – Extract, Transform, Load • Pros – Development productivity – Integration automation with scheduling engine – Performance, scalability and extensibility – Can be part of your overall BI and data warehousing strategies • Cons – Learning curve of the ETL tool – License cost of the ETL tool and/or the adapters – Probably not the ideal solution for real-time requirements • Options – SSIS (SQL Server Integration Services) – Informatica – Scribe – Connectors for Microsoft Dynamics – …
  • 17. #CRMUGsummit SSIS as CRM Data Integration Platform • Why SSIS? – SSIS is Microsoft’s answer to enterprise data integration – Scalability – Performance – Extensibility – Easy to work with – Works for almost any data source or target – Accessible technical resources • A third-party adapter is required – KingswaySoft SSIS Integration Toolkit for Microsoft Dynamics CRM • Free developer edition available at www.kingswaysoft.com • 4 SSIS components included
  • 18. #CRMUGsummit ETL • Demo – Data integration using KingswaySoft SSIS Integration Toolkit for Microsoft Dynamics CRM
  • 19. #CRMUGsummit Connectors for Microsoft Dynamics • A small footprint ETL engine • Support the integration between Microsoft Dynamics CRM and most of Microsoft Dynamics ERP applications (AX, NAV, GP, SL) • SDK is available to develop your own adapters • Offered under free license since its v3.0 release
  • 20. #CRMUGsummit Connectors for Microsoft Dynamics (cont.) Image from MSDN article: http://msdn.microsoft.com/en-us/library/gg502460.aspx
  • 22. #CRMUGsummit Service Bus / BizTalk – Messaging-based integration • What’s service bus? – A software architecture model used for designing and implementing the interaction and communication between mutually interacting software applications in service-oriented architecture (SOA) – A messaging-based integration solution • Pros – Optimized to move single transactions between different systems or processes in near real time or real time – Decoupled integration architectural model • Best suited for decoupled heterogeneous systems by using Service Bus or BizTalk as the middleware • Cons – Probably not best fit with large volume data load – Performance overhead due to serialization and deserialization – Complexity associated with the messaging platform
  • 23. #CRMUGsummit Service Bus Implementation Patterns • Various Implementation Patterns (Azure Service Bus) – Queue • No active listener is required • destructive read vs. non-destructive read • two types of queues – message buffer queue – persistent queue – One Way • requires an active listener • retries through asynchronous system job – Two Way • requires an active listener • a string value can be returned – REST • essentially a two-way listener in REST style – Topic • Similar to a queue, except that listener(s) can subscribe to receive messages from the topic
  • 24. #CRMUGsummit Service Bus Integration for Microsoft Dynamics CRM Image from MSDN article: http://msdn.microsoft.com/en-us/library/gg334766.aspx
  • 25. #CRMUGsummit CRM Service Bus Integration • Integration Points – Plugin – Workflow • Some Limitations – There is no way to use custom messages • You publish the entire execution context, which could contain unnecessary information for other parties • Remove sensitive information from the context object if necessary – Although you can host Windows Service Bus on-premise, there isn’t a way to talk to your service bus on-premise from CRM plug-in or Workflow – It is possible to write listener to listen to service bus, and push the data (messages) to CRM server, however this is not currently an out-of-the-box feature provided by the platform – There will be some technical challenges if you want to utilize a third-party service bus solution
  • 26. #CRMUGsummit CRM + Azure Service Bus • Demo – Service Bus integration in CRM Plugin
  • 28. #CRMUGsummit Why? • Web service interface is generally slow • It is never faster enough to load data
  • 29. #CRMUGsummit Multi-threading Make sure to update your .config file in order to overcome the connection limit of concurrent service calls <configuration> ... <system.net> <connectionManagement> <add address="*" maxconnection="100"/> </connectionManagement> </system.net> </configuration> The SSIS way
  • 31. #CRMUGsummit Bulk API • Bulk API is more beneficial when network latency is high • There is an API throttling with CRM Online – At most 2 concurrent ExecuteMultiple requests per organization
  • 32. #CRMUGsummit Other considerations • Minimize the number of fields you work with when reading from or writing to CRM • Mind the performance impact that your plugins or workflows may have on the system – disable them if you don’t need them in initial load • Watch out your query (if any) performance during data migration/integration – make sure database indexes are available for the queries – add custom indexes if needed • Watch out the resource usage on your integration server, CRM server and database server – Poor performance could be caused by poor infrastructure – More often, poor performance can be caused by poorly-written custom code in plugins or workflows
  • 34. #CRMUGsummit How to survive your CRM data migration/integration • Don’t ever try to write to CRM database directly at any time! • Choose the right tools, and know your tools – there is often more than one way to get a job done • Know your data – both source and target – document and establish the mapping between your source data and target data • Error happens – define a proper error handling strategy – and possibly implement a retry mechanism if necessary, particularly if you are working with CRM online • Define your data quality standards – make sure your data migration/integration adhere to the standards • Plan ahead, expect changes
  • 35. #CRMUGsummit Q & A Daniel Cai KingswaySoft, http://www.kingswaysoft.com Personal Blog: http://danielcai.blogspot.com Email: daniel.cai@kingswaysoft.com