SlideShare a Scribd company logo
1 of 36
Enterprise Data Integration for
  Microsoft Dynamics CRM

                                  Daniel Cai

                http://danielcai.blogspot.com
About me


• Daniel Cai
  – Developer @KingswaySoft
     • a software company offering integration software and
       solutions

  – Main interests
     •   Microsoft Dynamics CRM
     •   Business Intelligence
     •   .NET
     •   Enterprise Architecture

  – Microsoft Dynamics CRM MVP – 2011, 2012
Agenda

• Challenges

• Data Migration vs. Data Integration

• Data Migration Processes

• Data Migration / Integration Approaches
   –   CRM Import Wizard
   –   Custom Development
   –   ETL
   –   Service Bus / BizTalk

• Tips, tricks and traps
The Challenges of Data Migration / Integration

• Data migration/integration is complex
    –   The diversity of data and systems
    –   Data integrity
    –   Time-consuming for large data set
    –   The complexity and intricacy when working with Microsoft Dynamics CRM
        web service interfaces

• Data migration/integration is often overlooked
    – Data migration may not appear as important as the application itself
    – Last minute rush often causes poor planning, which could further delay your
      go-live date
    – Improper implementation of data migration can cause “surprises” down the
      road

• Data quality is a key to user adoption
    – Lack of quality data can make the system unusable
    – New business processes often depend on quality data to support them
Data Integration vs. Data Migration


Data        Often a “One-Off”     • Often large volume of data in initial load
Migration   activity              • Cost to fix any data issues thereafter is high
                                  • Often significant data cleansing effort is
                                    required
Data        On-going data         • Managing incremental changes
Integration synchronization and   • Different requirements call for different design
            replication               • Real-time
                                      • Batch
                                      • Messaging
                                  • Usually need to be done within a time window
Data Migration Process


         • Data Extraction
  1       Extra data from different data sources


         • Data Mapping
  2       Transform and map data from source to the target system


         • Data Validation
  3       Validate data

Page 6
         • Data Load
  4       Load data into the target system
Data Migration/Integration Approaches

• Leverage existing technologies and tools
   – CRM Import Data Wizard

   – ETL tools
       •   SSIS
       •   Informatica
       •   Scribe
       •   Connectors for Microsoft Dynamics
       •   etc.

   – BizTalk / Service Bus

   – Other tools

• Write your own
   – Program against CRM Web Service Interfaces (SDK Programming)
CRM Import Data Wizard
CRM 2011 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
CRM 2011 Import Data Wizard
Custom Integration Development
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
           •   Standalone applications (Console, Windows Form, and probably third-party apps)

•   Cons
     – Could be an exhaustive effort, particularly when infrastructure coding is involved
           •   Scheduling
           •   Threading
           •   Intricacies of 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
Choices – Custom Development

• Service Interfaces
  – SOAP 2011
  – SOAP 2007
     • Not support by Office 365 CRM Online
     • Could be retired by Microsoft anytime soon

• Programming Styles
  – Early bound
  – Late bound

• Performance Improvement
  – Multi-threading
  – Bulk Data Load API
Early-bound vs. Late-bound
                         Early-bound                                        Late-bound
Pros   •   Compile-time validation through strongly-   •   Slightly better performance comparing to early-
           typed entity classes and fields                 bound
       •   Intellisense                                •   More flexibility
       •   CRM LINQ query APIs                         •   Smaller binary delivery
Cons   •   Small performance overhead                  •   No compile-time validation or intellisense
       •   Dependency on command-line tool when        •   Less productive CRM LINQ query APIs
           CRM metadata has been updated
       •   Larger binary delivery
Data Integration through CRM Web Service




Demo
ETL
ETL Tools
•   What’s ETL
     – Extract, Transform, Load

•   Pros
     –   Development Productivity
     –   Visual development environment for data flows and control flow tasks
     –   Scheduling engine
     –   Performance
     –   Scalability
     –   Extensibility
     –   Can be part of your overall BI and data warehousing strategies

•   Cons
     – Learning curve of the ETL tool
     – Extra license cost of the ETL tool and/or the adapters
     – Probably not ideal solution for real-time requirements

•   Options
     –   SSIS (SQL Server Integration Services)
     –   Informatica
     –   Scribe
     –   Connectors for Microsoft Dynamics
     –   …
SSIS Integration Toolkit for Microsoft Dynamics CRM

• Why SSIS?
   – SSIS is Microsoft’s answer to enterprise data
     integration
   – Scalability
   – Performance
   – Extensibility
   – Easy to work with
   – Accessible technical resources
   – Fits your overall business intelligence strategies

• What’s SSIS Integration Toolkit?
   – A cost effective and easy-to-use SSIS adapter
       • Support for Microsoft Dynamics CRM 2011, 4.0 and 3.0
       • Support for all deployments, including Office 365

• Free developer edition available at
  www.kingswaysoft.com
SSIS Integration Toolkit for Microsoft Dynamics CRM
    (Cont.)
•    CRM Connection Manager
      –   Support for all deployment types (On-premise, IFD, Office 365 and Online)

      –   Support for SOAP 2011, 2007 and 2006 Service Endpoints

•    CRM Source Component
      –   Support for using CRM entity or FetchXML as data source
            •   Any complex FetchXML query, including full metadata from linked entities
            •   Support for parameterized FetchXML query

•    CRM Destination Component
      –   Five actions
            •   Create
            •   Update
            •   Delete
            •   Upsert
            •   ExecuteWorkflow

      –   Support of Bulk API

      –   Support for CRM many-to-many relationship without requiring you to a single line of code

      –   Unique Text Lookup feature, and many more …

•    CRM OptionSet Mapping Component
      –   Translation of input values to valid CRM option set values

      –   Ability to create new option when no match is found
SSIS Integration Toolkit for Microsoft Dynamics CRM




Demo
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
Connectors for Microsoft Dynamics (cont.)




   Image from MSDN article: http://msdn.microsoft.com/en-us/library/gg502460.aspx
Service Bus / BizTalk
Service Bus / BizTalk

• 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)

• Pros
   – Messaging based approach
         • 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 a middleware

• Cons
   – Probably not best fit with large volume data load
   – Performance overhead due to serialization and deserialization
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 (new)

    – 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 (new in UR12 and December 2012 Service Update)
        • Similar to a queue, except that listener(s) can subscribe to receive messages from the
          topic
Windows Azure
CRM + Azure Service Bus




          Image from MSDN article: http://msdn.microsoft.com/en-us/library/gg334766.aspx



      • Integration points
         – Plugin
         – Workflow
CRM + Azure Service Bus




Demo
Walkthrough available at http://www.youtube.com/watch?v=qXPEFZXgasE
Some Limitations – CRM + Azure Integration

• 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, you can’t
  use the service endpoint offered by the platform to talk to your
  service bus on-premise from CRM plug-in or Workflow

• If you need to push data (messages) in to CRM when they arrive in
  Azure Service Bus, you would need to write a listener service to do
  so, this is not currently provided by the platform

• There will be some technical challenges if you want to utilize third-
  party service bus solution for CRM Online
CRM On-Premise + Service Bus for Windows Server

• Scenarios
   – You don’t want a service bus that’s hosted on the cloud

• Benefits
   – It is a service bus on-premise
   – Better network connectivity if the service bus is for internal
     integration purposes only

• Caveats / tricks
   – CRM on-premise only, cannot be run in a sandbox runtime
   – We use plugin class static members to avoid constant
     initialization of message factory, which is expensive


   Demo
Tips, Tricks and Treats
Common Technical Issues

•   Microsoft Dynamics CRM as target
     – References (Lookup fields)
          •   Design your program or data flow based upon the dependency

     – OptionSet (Picklist)
          •   Integer values vs. text values
          •   Translation of Option Set values between the source and the target

     – Special Entities
          •   connection
          •   principleobjectaccess
          •   …

     – Special Fields
          •   statecode
          •   statuscode
          •   ownerid
          •   activityparty fields
          •   …

     – Entity Type Code
          •   It could change across environments for custom entities

     – Mind the performance impact with different cascading behavior
Common Technical Issues (cont.)

• Microsoft Dynamics CRM as source
  – Incremental changes
     • CreatedOn, ModifiedOn, VersionNumber
     • Use custom field


  – ActivityParty fields
     • What you get is an entity collection


  – Virtual Fields
     • Read from FormattedValues
How to maximize your data load performance?

•   Minimize the number of fields you select when reading from or writing to CRM

•   Utilize Bulk Data Load API introduced in UR13 and December 2012 Service Update
     –   500%-900% performance improvement for CRM online

•   Use multi-threading to write to CRM in parallel
     –   BDD in SSIS

•   Write to multi-node in parallel if you have a cluster

•   Mind your network latency between your integration client and CRM server

•   Mind the impact that your plugins or workflows may have on data load performance
     –   Disable them if you don’t need them in initial load
     –   Use attribute filtering
     –   Watch out the growth of CRM workflow log table (AsyncOperationBase), and delete completed workflow jobs as
         necessary

•   SQL Performance Optimization
     –   Disk IO, Memory
     –   DB maintenance jobs to REBUILD or REORGANIZE indexes on a regular basis
     –   Consider adding custom indexes if needed

•   Many more tips from CRM whitepapers and the community
Rules of Thumb

• Know your data
    – both the source and target

• Know your tool
    – There are often more than one way to get a job done using one tool

• Define a proper error handling strategy and probably a retry
  mechanism should intermittent error happens

• Possibly use data migration/integration as the venue to clean up your
  data

• Define proper strategies that can help you avoid infinite loops when
  you need to do two-way integration

• Plan ahead, expect changes, particularly metadata changes
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

Salesforce DevOps: Where Do You Start?
Salesforce DevOps: Where Do You Start?Salesforce DevOps: Where Do You Start?
Salesforce DevOps: Where Do You Start?Chandler Anderson
 
Take the Next Step to S/4HANA with "RISE with SAP"
Take the Next Step to S/4HANA with "RISE with SAP"Take the Next Step to S/4HANA with "RISE with SAP"
Take the Next Step to S/4HANA with "RISE with SAP"panayaofficial
 
Salesforce Service Cloud - An overview
Salesforce Service Cloud - An overviewSalesforce Service Cloud - An overview
Salesforce Service Cloud - An overviewAjay Balakrishnan
 
SAP S4HANA : Learn From Our Implementation Journey
SAP S4HANA : Learn From Our Implementation JourneySAP S4HANA : Learn From Our Implementation Journey
SAP S4HANA : Learn From Our Implementation JourneyAnup Lakra
 
Copado - SoftClouds | Expertise
Copado - SoftClouds | ExpertiseCopado - SoftClouds | Expertise
Copado - SoftClouds | ExpertiseSoftClouds LLC
 
Dynamics 365 introduction and functional
Dynamics 365 introduction and functionalDynamics 365 introduction and functional
Dynamics 365 introduction and functionalSatish Reddy
 
GV2-TM-CM-PR-Cutover Strategy Template-V1.ppt
GV2-TM-CM-PR-Cutover Strategy Template-V1.pptGV2-TM-CM-PR-Cutover Strategy Template-V1.ppt
GV2-TM-CM-PR-Cutover Strategy Template-V1.pptCarlosRodriguez703287
 
SAP An Introduction
SAP An IntroductionSAP An Introduction
SAP An Introductionsh_neha252
 
Microsoft Dynamics 365
Microsoft Dynamics 365Microsoft Dynamics 365
Microsoft Dynamics 365IOZ AG
 
Getting started with Microsoft dynamics crm 2016
Getting started with Microsoft dynamics crm 2016Getting started with Microsoft dynamics crm 2016
Getting started with Microsoft dynamics crm 2016Firoz Muhammed
 
End to End Process Transformation with Signavio.pdf
End to End Process Transformation with Signavio.pdfEnd to End Process Transformation with Signavio.pdf
End to End Process Transformation with Signavio.pdfIgnacioPeredoCL
 
Data Migration Steps PowerPoint Presentation Slides
Data Migration Steps PowerPoint Presentation Slides Data Migration Steps PowerPoint Presentation Slides
Data Migration Steps PowerPoint Presentation Slides SlideTeam
 
Data migration methodology for sap v2
Data migration methodology for sap v2Data migration methodology for sap v2
Data migration methodology for sap v2cvcby
 
BPMN 2.0 overview
BPMN 2.0 overviewBPMN 2.0 overview
BPMN 2.0 overviewsolomd
 
Strategic Approach To Data Migration Project Plan
Strategic Approach To Data Migration Project PlanStrategic Approach To Data Migration Project Plan
Strategic Approach To Data Migration Project PlanSlideTeam
 

What's hot (20)

Define an EA Operating Model
Define an EA Operating ModelDefine an EA Operating Model
Define an EA Operating Model
 
Salesforce DevOps: Where Do You Start?
Salesforce DevOps: Where Do You Start?Salesforce DevOps: Where Do You Start?
Salesforce DevOps: Where Do You Start?
 
Take the Next Step to S/4HANA with "RISE with SAP"
Take the Next Step to S/4HANA with "RISE with SAP"Take the Next Step to S/4HANA with "RISE with SAP"
Take the Next Step to S/4HANA with "RISE with SAP"
 
Salesforce Service Cloud - An overview
Salesforce Service Cloud - An overviewSalesforce Service Cloud - An overview
Salesforce Service Cloud - An overview
 
SAP S4HANA : Learn From Our Implementation Journey
SAP S4HANA : Learn From Our Implementation JourneySAP S4HANA : Learn From Our Implementation Journey
SAP S4HANA : Learn From Our Implementation Journey
 
SAP PI PO
SAP PI POSAP PI PO
SAP PI PO
 
Moving to SAP S/4HANA
Moving to SAP S/4HANAMoving to SAP S/4HANA
Moving to SAP S/4HANA
 
Copado - SoftClouds | Expertise
Copado - SoftClouds | ExpertiseCopado - SoftClouds | Expertise
Copado - SoftClouds | Expertise
 
Salesforce
SalesforceSalesforce
Salesforce
 
Dynamics 365 introduction and functional
Dynamics 365 introduction and functionalDynamics 365 introduction and functional
Dynamics 365 introduction and functional
 
GV2-TM-CM-PR-Cutover Strategy Template-V1.ppt
GV2-TM-CM-PR-Cutover Strategy Template-V1.pptGV2-TM-CM-PR-Cutover Strategy Template-V1.ppt
GV2-TM-CM-PR-Cutover Strategy Template-V1.ppt
 
S4HANA Migration Overview
S4HANA Migration OverviewS4HANA Migration Overview
S4HANA Migration Overview
 
SAP An Introduction
SAP An IntroductionSAP An Introduction
SAP An Introduction
 
Microsoft Dynamics 365
Microsoft Dynamics 365Microsoft Dynamics 365
Microsoft Dynamics 365
 
Getting started with Microsoft dynamics crm 2016
Getting started with Microsoft dynamics crm 2016Getting started with Microsoft dynamics crm 2016
Getting started with Microsoft dynamics crm 2016
 
End to End Process Transformation with Signavio.pdf
End to End Process Transformation with Signavio.pdfEnd to End Process Transformation with Signavio.pdf
End to End Process Transformation with Signavio.pdf
 
Data Migration Steps PowerPoint Presentation Slides
Data Migration Steps PowerPoint Presentation Slides Data Migration Steps PowerPoint Presentation Slides
Data Migration Steps PowerPoint Presentation Slides
 
Data migration methodology for sap v2
Data migration methodology for sap v2Data migration methodology for sap v2
Data migration methodology for sap v2
 
BPMN 2.0 overview
BPMN 2.0 overviewBPMN 2.0 overview
BPMN 2.0 overview
 
Strategic Approach To Data Migration Project Plan
Strategic Approach To Data Migration Project PlanStrategic Approach To Data Migration Project Plan
Strategic Approach To Data Migration Project Plan
 

Viewers also liked

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 ESBSanjeet Pandey
 
Integration bwtween Dynamics CRM 2011 and SAP with BizTalk Server 2010
Integration bwtween Dynamics CRM 2011 and SAP with BizTalk Server 2010Integration bwtween Dynamics CRM 2011 and SAP with BizTalk Server 2010
Integration bwtween Dynamics CRM 2011 and SAP with BizTalk Server 2010Uwe Heinz
 
Microsoft CRM Dynamics - NEORIS
Microsoft CRM Dynamics - NEORISMicrosoft CRM Dynamics - NEORIS
Microsoft CRM Dynamics - NEORISNEORIS
 
Microsoft Dynamics CRM Technical Training for Dicker Data Resellers
Microsoft Dynamics CRM Technical Training for Dicker Data ResellersMicrosoft Dynamics CRM Technical Training for Dicker Data Resellers
Microsoft Dynamics CRM Technical Training for Dicker Data ResellersDavid Blumentals
 
Bootstrap & Mura: A Match Made in Heaven
Bootstrap & Mura: A Match Made in HeavenBootstrap & Mura: A Match Made in Heaven
Bootstrap & Mura: A Match Made in HeavenDavid Panzarella
 
MuraCon 2012 - Creating a Mura CMS plugin with FW/1
MuraCon 2012 - Creating a Mura CMS plugin with FW/1MuraCon 2012 - Creating a Mura CMS plugin with FW/1
MuraCon 2012 - Creating a Mura CMS plugin with FW/1jpanesar
 
Content First: A workflow for building Mura sites with content in mind
Content First: A workflow for building Mura sites with content in mindContent First: A workflow for building Mura sites with content in mind
Content First: A workflow for building Mura sites with content in mindDavid Panzarella
 
Managing Data in MS Dynamics CRM 2015
Managing Data in MS Dynamics CRM 2015Managing Data in MS Dynamics CRM 2015
Managing Data in MS Dynamics CRM 2015Ashish Vishwakarma
 
Curso Implementacion de Gobierno Electrónico 2016-2017
Curso Implementacion de Gobierno Electrónico 2016-2017Curso Implementacion de Gobierno Electrónico 2016-2017
Curso Implementacion de Gobierno Electrónico 2016-2017🌐 Manuel Enrique Morales
 
Salesforce & SAP Integration
Salesforce & SAP IntegrationSalesforce & SAP Integration
Salesforce & SAP IntegrationRaymond Gao
 
CRM Data Management Services
CRM Data Management ServicesCRM Data Management Services
CRM Data Management ServicesCRMIT
 
CGG Data Management Services Overview_LinkedIn
CGG Data Management Services Overview_LinkedInCGG Data Management Services Overview_LinkedIn
CGG Data Management Services Overview_LinkedInDwight N. Brown
 
Lotus Notes Application to SharePoint Migration Process
Lotus Notes Application to SharePoint Migration ProcessLotus Notes Application to SharePoint Migration Process
Lotus Notes Application to SharePoint Migration ProcessTerrence Nguyen
 
Caribbean Integration
Caribbean Integration Caribbean Integration
Caribbean Integration Radha Sookram
 
Data migration methodology_for_sap_v01a
Data migration methodology_for_sap_v01aData migration methodology_for_sap_v01a
Data migration methodology_for_sap_v01aAbhaya Sarangi
 
Unlock SAP - Release the potential of your existing backend systems with Sale...
Unlock SAP - Release the potential of your existing backend systems with Sale...Unlock SAP - Release the potential of your existing backend systems with Sale...
Unlock SAP - Release the potential of your existing backend systems with Sale...Salesforce Deutschland
 

Viewers also liked (20)

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
 
Integration bwtween Dynamics CRM 2011 and SAP with BizTalk Server 2010
Integration bwtween Dynamics CRM 2011 and SAP with BizTalk Server 2010Integration bwtween Dynamics CRM 2011 and SAP with BizTalk Server 2010
Integration bwtween Dynamics CRM 2011 and SAP with BizTalk Server 2010
 
CRM Architecture
CRM ArchitectureCRM Architecture
CRM Architecture
 
Microsoft CRM Dynamics - NEORIS
Microsoft CRM Dynamics - NEORISMicrosoft CRM Dynamics - NEORIS
Microsoft CRM Dynamics - NEORIS
 
Microsoft Dynamics CRM Technical Training for Dicker Data Resellers
Microsoft Dynamics CRM Technical Training for Dicker Data ResellersMicrosoft Dynamics CRM Technical Training for Dicker Data Resellers
Microsoft Dynamics CRM Technical Training for Dicker Data Resellers
 
Bootstrap & Mura: A Match Made in Heaven
Bootstrap & Mura: A Match Made in HeavenBootstrap & Mura: A Match Made in Heaven
Bootstrap & Mura: A Match Made in Heaven
 
MuraCon 2012 - Creating a Mura CMS plugin with FW/1
MuraCon 2012 - Creating a Mura CMS plugin with FW/1MuraCon 2012 - Creating a Mura CMS plugin with FW/1
MuraCon 2012 - Creating a Mura CMS plugin with FW/1
 
Content First: A workflow for building Mura sites with content in mind
Content First: A workflow for building Mura sites with content in mindContent First: A workflow for building Mura sites with content in mind
Content First: A workflow for building Mura sites with content in mind
 
SAP EIM
SAP EIM SAP EIM
SAP EIM
 
Managing Data in MS Dynamics CRM 2015
Managing Data in MS Dynamics CRM 2015Managing Data in MS Dynamics CRM 2015
Managing Data in MS Dynamics CRM 2015
 
Curso Implementacion de Gobierno Electrónico 2016-2017
Curso Implementacion de Gobierno Electrónico 2016-2017Curso Implementacion de Gobierno Electrónico 2016-2017
Curso Implementacion de Gobierno Electrónico 2016-2017
 
Salesforce & SAP Integration
Salesforce & SAP IntegrationSalesforce & SAP Integration
Salesforce & SAP Integration
 
CRM Data Management Services
CRM Data Management ServicesCRM Data Management Services
CRM Data Management Services
 
CGG Data Management Services Overview_LinkedIn
CGG Data Management Services Overview_LinkedInCGG Data Management Services Overview_LinkedIn
CGG Data Management Services Overview_LinkedIn
 
Lotus Notes Application to SharePoint Migration Process
Lotus Notes Application to SharePoint Migration ProcessLotus Notes Application to SharePoint Migration Process
Lotus Notes Application to SharePoint Migration Process
 
Caribbean Integration
Caribbean Integration Caribbean Integration
Caribbean Integration
 
Data migration methodology_for_sap_v01a
Data migration methodology_for_sap_v01aData migration methodology_for_sap_v01a
Data migration methodology_for_sap_v01a
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Unlock SAP - Release the potential of your existing backend systems with Sale...
Unlock SAP - Release the potential of your existing backend systems with Sale...Unlock SAP - Release the potential of your existing backend systems with Sale...
Unlock SAP - Release the potential of your existing backend systems with Sale...
 
Caribbean+studies
Caribbean+studiesCaribbean+studies
Caribbean+studies
 

Similar to Enterprise Data Integration for Microsoft Dynamics CRM

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 CRMMSDEVMTL
 
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...BDO IT Solutions
 
Webinar: Successful Data Migration to Microsoft Dynamics 365 CRM | InSync
Webinar: Successful Data Migration to Microsoft Dynamics 365 CRM | InSyncWebinar: Successful Data Migration to Microsoft Dynamics 365 CRM | InSync
Webinar: Successful Data Migration to Microsoft Dynamics 365 CRM | InSyncAPPSeCONNECT
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to MicroservicesMahmoudZidan41
 
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.pptKalsoomTahir2
 
--Enterprise-Application-Integration.ppt
--Enterprise-Application-Integration.ppt--Enterprise-Application-Integration.ppt
--Enterprise-Application-Integration.ppteddielyndacanay0
 
Pros & Cons of Microservices Architecture
Pros & Cons of Microservices ArchitecturePros & Cons of Microservices Architecture
Pros & Cons of Microservices ArchitectureAshwini Kuntamukkala
 
Cloud Services and Infrastructure in 2017
Cloud Services and Infrastructure in 2017Cloud Services and Infrastructure in 2017
Cloud Services and Infrastructure in 2017Tyler James Johnson
 
Integration with Dynamics CRM
Integration with Dynamics CRMIntegration with Dynamics CRM
Integration with Dynamics CRMBizTalk360
 
Informatica Cloud Summer 2016 Release Webinar Slides
Informatica Cloud Summer 2016 Release Webinar SlidesInformatica Cloud Summer 2016 Release Webinar Slides
Informatica Cloud Summer 2016 Release Webinar SlidesInformatica Cloud
 
Choosing the Right Business Intelligence Tools for Your Data and Architectura...
Choosing the Right Business Intelligence Tools for Your Data and Architectura...Choosing the Right Business Intelligence Tools for Your Data and Architectura...
Choosing the Right Business Intelligence Tools for Your Data and Architectura...Victor Holman
 
Collateral: Cast Iron for BigMachines
Collateral: Cast Iron for BigMachinesCollateral: Cast Iron for BigMachines
Collateral: Cast Iron for BigMachinesSean O'Connell
 
SOA - Unit 1 - Introduction to SOA with Web Services
SOA - Unit   1 - Introduction to SOA with Web ServicesSOA - Unit   1 - Introduction to SOA with Web Services
SOA - Unit 1 - Introduction to SOA with Web Serviceshamsa nandhini
 
DesignMind SQL Server 2008 Migration
DesignMind SQL Server 2008 MigrationDesignMind SQL Server 2008 Migration
DesignMind SQL Server 2008 MigrationMark Ginnebaugh
 
The move from Siloed to Shared Infrastructure – and the future of the Data Ce...
The move from Siloed to Shared Infrastructure – and the future of the Data Ce...The move from Siloed to Shared Infrastructure – and the future of the Data Ce...
The move from Siloed to Shared Infrastructure – and the future of the Data Ce...NetApp
 
The Power of Two: Using IBM Standards Processing Engine for EDI Commerce or H...
The Power of Two: Using IBM Standards Processing Engine for EDI Commerce or H...The Power of Two: Using IBM Standards Processing Engine for EDI Commerce or H...
The Power of Two: Using IBM Standards Processing Engine for EDI Commerce or H...Brian Wilson
 

Similar to Enterprise Data Integration for Microsoft Dynamics CRM (20)

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
 
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...
 
RapidiOnline Salesforce-MS Dynamics NAV Presentation
RapidiOnline Salesforce-MS Dynamics NAV PresentationRapidiOnline Salesforce-MS Dynamics NAV Presentation
RapidiOnline Salesforce-MS Dynamics NAV Presentation
 
Webinar: Successful Data Migration to Microsoft Dynamics 365 CRM | InSync
Webinar: Successful Data Migration to Microsoft Dynamics 365 CRM | InSyncWebinar: Successful Data Migration to Microsoft Dynamics 365 CRM | InSync
Webinar: Successful Data Migration to Microsoft Dynamics 365 CRM | InSync
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
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
 
Pros & Cons of Microservices Architecture
Pros & Cons of Microservices ArchitecturePros & Cons of Microservices Architecture
Pros & Cons of Microservices Architecture
 
Cloud Services and Infrastructure in 2017
Cloud Services and Infrastructure in 2017Cloud Services and Infrastructure in 2017
Cloud Services and Infrastructure in 2017
 
System center seminar presentation
System center seminar presentationSystem center seminar presentation
System center seminar presentation
 
Lecture 9: Dynamic web application
Lecture 9: Dynamic web applicationLecture 9: Dynamic web application
Lecture 9: Dynamic web application
 
Integration with Dynamics CRM
Integration with Dynamics CRMIntegration with Dynamics CRM
Integration with Dynamics CRM
 
Informatica Cloud Summer 2016 Release Webinar Slides
Informatica Cloud Summer 2016 Release Webinar SlidesInformatica Cloud Summer 2016 Release Webinar Slides
Informatica Cloud Summer 2016 Release Webinar Slides
 
Choosing the Right Business Intelligence Tools for Your Data and Architectura...
Choosing the Right Business Intelligence Tools for Your Data and Architectura...Choosing the Right Business Intelligence Tools for Your Data and Architectura...
Choosing the Right Business Intelligence Tools for Your Data and Architectura...
 
Micro service architecture
Micro service architecture  Micro service architecture
Micro service architecture
 
Collateral: Cast Iron for BigMachines
Collateral: Cast Iron for BigMachinesCollateral: Cast Iron for BigMachines
Collateral: Cast Iron for BigMachines
 
SOA - Unit 1 - Introduction to SOA with Web Services
SOA - Unit   1 - Introduction to SOA with Web ServicesSOA - Unit   1 - Introduction to SOA with Web Services
SOA - Unit 1 - Introduction to SOA with Web Services
 
DesignMind SQL Server 2008 Migration
DesignMind SQL Server 2008 MigrationDesignMind SQL Server 2008 Migration
DesignMind SQL Server 2008 Migration
 
The move from Siloed to Shared Infrastructure – and the future of the Data Ce...
The move from Siloed to Shared Infrastructure – and the future of the Data Ce...The move from Siloed to Shared Infrastructure – and the future of the Data Ce...
The move from Siloed to Shared Infrastructure – and the future of the Data Ce...
 
The Power of Two: Using IBM Standards Processing Engine for EDI Commerce or H...
The Power of Two: Using IBM Standards Processing Engine for EDI Commerce or H...The Power of Two: Using IBM Standards Processing Engine for EDI Commerce or H...
The Power of Two: Using IBM Standards Processing Engine for EDI Commerce or H...
 

Recently uploaded

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
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 businesspanagenda
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
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.pptxRustici Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
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 DiscoveryTrustArc
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
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 Pakistandanishmna97
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 

Recently uploaded (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
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
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
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
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
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
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
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
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

Enterprise Data Integration for Microsoft Dynamics CRM

  • 1. Enterprise Data Integration for Microsoft Dynamics CRM Daniel Cai http://danielcai.blogspot.com
  • 2. About me • Daniel Cai – Developer @KingswaySoft • a software company offering integration software and solutions – Main interests • Microsoft Dynamics CRM • Business Intelligence • .NET • Enterprise Architecture – Microsoft Dynamics CRM MVP – 2011, 2012
  • 3. Agenda • Challenges • Data Migration vs. Data Integration • Data Migration Processes • Data Migration / Integration Approaches – CRM Import Wizard – Custom Development – ETL – Service Bus / BizTalk • Tips, tricks and traps
  • 4. The Challenges of Data Migration / Integration • Data migration/integration is complex – The diversity of data and systems – Data integrity – Time-consuming for large data set – The complexity and intricacy when working with Microsoft Dynamics CRM web service interfaces • Data migration/integration is often overlooked – Data migration may not appear as important as the application itself – Last minute rush often causes poor planning, which could further delay your go-live date – Improper implementation of data migration can cause “surprises” down the road • Data quality is a key to user adoption – Lack of quality data can make the system unusable – New business processes often depend on quality data to support them
  • 5. Data Integration vs. Data Migration Data Often a “One-Off” • Often large volume of data in initial load Migration activity • Cost to fix any data issues thereafter is high • Often significant data cleansing effort is required Data On-going data • Managing incremental changes Integration synchronization and • Different requirements call for different design replication • Real-time • Batch • Messaging • Usually need to be done within a time window
  • 6. Data Migration Process • Data Extraction 1 Extra data from different data sources • Data Mapping 2 Transform and map data from source to the target system • Data Validation 3 Validate data Page 6 • Data Load 4 Load data into the target system
  • 7. Data Migration/Integration Approaches • Leverage existing technologies and tools – CRM Import Data Wizard – ETL tools • SSIS • Informatica • Scribe • Connectors for Microsoft Dynamics • etc. – BizTalk / Service Bus – Other tools • Write your own – Program against CRM Web Service Interfaces (SDK Programming)
  • 9. CRM 2011 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
  • 10. CRM 2011 Import Data Wizard
  • 12. 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 • Standalone applications (Console, Windows Form, and probably third-party apps) • Cons – Could be an exhaustive effort, particularly when infrastructure coding is involved • Scheduling • Threading • Intricacies of 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
  • 13. Choices – Custom Development • Service Interfaces – SOAP 2011 – SOAP 2007 • Not support by Office 365 CRM Online • Could be retired by Microsoft anytime soon • Programming Styles – Early bound – Late bound • Performance Improvement – Multi-threading – Bulk Data Load API
  • 14. Early-bound vs. Late-bound Early-bound Late-bound Pros • Compile-time validation through strongly- • Slightly better performance comparing to early- typed entity classes and fields bound • Intellisense • More flexibility • CRM LINQ query APIs • Smaller binary delivery Cons • Small performance overhead • No compile-time validation or intellisense • Dependency on command-line tool when • Less productive CRM LINQ query APIs CRM metadata has been updated • Larger binary delivery
  • 15. Data Integration through CRM Web Service Demo
  • 16. ETL
  • 17. ETL Tools • What’s ETL – Extract, Transform, Load • Pros – Development Productivity – Visual development environment for data flows and control flow tasks – Scheduling engine – Performance – Scalability – Extensibility – Can be part of your overall BI and data warehousing strategies • Cons – Learning curve of the ETL tool – Extra license cost of the ETL tool and/or the adapters – Probably not ideal solution for real-time requirements • Options – SSIS (SQL Server Integration Services) – Informatica – Scribe – Connectors for Microsoft Dynamics – …
  • 18. SSIS Integration Toolkit for Microsoft Dynamics CRM • Why SSIS? – SSIS is Microsoft’s answer to enterprise data integration – Scalability – Performance – Extensibility – Easy to work with – Accessible technical resources – Fits your overall business intelligence strategies • What’s SSIS Integration Toolkit? – A cost effective and easy-to-use SSIS adapter • Support for Microsoft Dynamics CRM 2011, 4.0 and 3.0 • Support for all deployments, including Office 365 • Free developer edition available at www.kingswaysoft.com
  • 19. SSIS Integration Toolkit for Microsoft Dynamics CRM (Cont.) • CRM Connection Manager – Support for all deployment types (On-premise, IFD, Office 365 and Online) – Support for SOAP 2011, 2007 and 2006 Service Endpoints • CRM Source Component – Support for using CRM entity or FetchXML as data source • Any complex FetchXML query, including full metadata from linked entities • Support for parameterized FetchXML query • CRM Destination Component – Five actions • Create • Update • Delete • Upsert • ExecuteWorkflow – Support of Bulk API – Support for CRM many-to-many relationship without requiring you to a single line of code – Unique Text Lookup feature, and many more … • CRM OptionSet Mapping Component – Translation of input values to valid CRM option set values – Ability to create new option when no match is found
  • 20. SSIS Integration Toolkit for Microsoft Dynamics CRM Demo
  • 21. 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
  • 22. Connectors for Microsoft Dynamics (cont.) Image from MSDN article: http://msdn.microsoft.com/en-us/library/gg502460.aspx
  • 23. Service Bus / BizTalk
  • 24. Service Bus / BizTalk • 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) • Pros – Messaging based approach • 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 a middleware • Cons – Probably not best fit with large volume data load – Performance overhead due to serialization and deserialization
  • 25. 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 (new) – 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 (new in UR12 and December 2012 Service Update) • Similar to a queue, except that listener(s) can subscribe to receive messages from the topic
  • 27. CRM + Azure Service Bus Image from MSDN article: http://msdn.microsoft.com/en-us/library/gg334766.aspx • Integration points – Plugin – Workflow
  • 28. CRM + Azure Service Bus Demo Walkthrough available at http://www.youtube.com/watch?v=qXPEFZXgasE
  • 29. Some Limitations – CRM + Azure Integration • 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, you can’t use the service endpoint offered by the platform to talk to your service bus on-premise from CRM plug-in or Workflow • If you need to push data (messages) in to CRM when they arrive in Azure Service Bus, you would need to write a listener service to do so, this is not currently provided by the platform • There will be some technical challenges if you want to utilize third- party service bus solution for CRM Online
  • 30. CRM On-Premise + Service Bus for Windows Server • Scenarios – You don’t want a service bus that’s hosted on the cloud • Benefits – It is a service bus on-premise – Better network connectivity if the service bus is for internal integration purposes only • Caveats / tricks – CRM on-premise only, cannot be run in a sandbox runtime – We use plugin class static members to avoid constant initialization of message factory, which is expensive Demo
  • 32. Common Technical Issues • Microsoft Dynamics CRM as target – References (Lookup fields) • Design your program or data flow based upon the dependency – OptionSet (Picklist) • Integer values vs. text values • Translation of Option Set values between the source and the target – Special Entities • connection • principleobjectaccess • … – Special Fields • statecode • statuscode • ownerid • activityparty fields • … – Entity Type Code • It could change across environments for custom entities – Mind the performance impact with different cascading behavior
  • 33. Common Technical Issues (cont.) • Microsoft Dynamics CRM as source – Incremental changes • CreatedOn, ModifiedOn, VersionNumber • Use custom field – ActivityParty fields • What you get is an entity collection – Virtual Fields • Read from FormattedValues
  • 34. How to maximize your data load performance? • Minimize the number of fields you select when reading from or writing to CRM • Utilize Bulk Data Load API introduced in UR13 and December 2012 Service Update – 500%-900% performance improvement for CRM online • Use multi-threading to write to CRM in parallel – BDD in SSIS • Write to multi-node in parallel if you have a cluster • Mind your network latency between your integration client and CRM server • Mind the impact that your plugins or workflows may have on data load performance – Disable them if you don’t need them in initial load – Use attribute filtering – Watch out the growth of CRM workflow log table (AsyncOperationBase), and delete completed workflow jobs as necessary • SQL Performance Optimization – Disk IO, Memory – DB maintenance jobs to REBUILD or REORGANIZE indexes on a regular basis – Consider adding custom indexes if needed • Many more tips from CRM whitepapers and the community
  • 35. Rules of Thumb • Know your data – both the source and target • Know your tool – There are often more than one way to get a job done using one tool • Define a proper error handling strategy and probably a retry mechanism should intermittent error happens • Possibly use data migration/integration as the venue to clean up your data • Define proper strategies that can help you avoid infinite loops when you need to do two-way integration • Plan ahead, expect changes, particularly metadata changes
  • 36. Q&A Daniel Cai KingswaySoft, http://www.kingswaysoft.com Personal Blog: http://danielcai.blogspot.com Email: daniel.cai@kingswaysoft.com