SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Tendances

Salesforce online training || Salesforce Integration | salesforce lightning
Salesforce online training || Salesforce Integration | salesforce lightningSalesforce online training || Salesforce Integration | salesforce lightning
Salesforce online training || Salesforce Integration | salesforce lightningsuresh
 
Building a modern data warehouse
Building a modern data warehouseBuilding a modern data warehouse
Building a modern data warehouseJames Serra
 
How to design and implement a data ops architecture with sdc and gcp
How to design and implement a data ops architecture with sdc and gcpHow to design and implement a data ops architecture with sdc and gcp
How to design and implement a data ops architecture with sdc and gcpJoseph Arriola
 
CRM magic with data migration & integration (Presentation at CRMUG Summit 2013)
CRM magic with data migration & integration (Presentation at CRMUG Summit 2013)CRM magic with data migration & integration (Presentation at CRMUG Summit 2013)
CRM magic with data migration & integration (Presentation at CRMUG Summit 2013)Daniel Cai
 
Data Mesh Part 4 Monolith to Mesh
Data Mesh Part 4 Monolith to MeshData Mesh Part 4 Monolith to Mesh
Data Mesh Part 4 Monolith to MeshJeffrey T. Pollock
 
What is an Enterprise Information Model?
What is an Enterprise Information Model? What is an Enterprise Information Model?
What is an Enterprise Information Model? Bram Wessel
 
PL-900 Microsoft Power Platform Fundamentals
PL-900 Microsoft Power Platform FundamentalsPL-900 Microsoft Power Platform Fundamentals
PL-900 Microsoft Power Platform FundamentalsNanddeep Nachan
 
Salim Adamon: Dynamics CRM overview & architecture
Salim Adamon: Dynamics CRM overview & architectureSalim Adamon: Dynamics CRM overview & architecture
Salim Adamon: Dynamics CRM overview & architectureMSDEVMTL
 
How to govern and secure a Data Mesh?
How to govern and secure a Data Mesh?How to govern and secure a Data Mesh?
How to govern and secure a Data Mesh?confluent
 
Power Platform Architecture Corrections
Power Platform Architecture CorrectionsPower Platform Architecture Corrections
Power Platform Architecture CorrectionsYusuke Ohira
 
Master Data Management - Gartner Presentation
Master Data Management - Gartner PresentationMaster Data Management - Gartner Presentation
Master Data Management - Gartner Presentation303Computing
 
Integrating SIS’s with Salesforce: An Accidental Integrator’s Guide
Integrating SIS’s with Salesforce: An Accidental Integrator’s GuideIntegrating SIS’s with Salesforce: An Accidental Integrator’s Guide
Integrating SIS’s with Salesforce: An Accidental Integrator’s GuideSalesforce.org
 
Intro Microsoft Dynamics 365
Intro Microsoft Dynamics 365Intro Microsoft Dynamics 365
Intro Microsoft Dynamics 365Juan Fabian
 
Data Lakehouse Symposium | Day 4
Data Lakehouse Symposium | Day 4Data Lakehouse Symposium | Day 4
Data Lakehouse Symposium | Day 4Databricks
 
Data Lake Overview
Data Lake OverviewData Lake Overview
Data Lake OverviewJames Serra
 
Data Warehouse Best Practices
Data Warehouse Best PracticesData Warehouse Best Practices
Data Warehouse Best PracticesEduardo Castro
 
Data Mesh in Azure using Cloud Scale Analytics (WAF)
Data Mesh in Azure using Cloud Scale Analytics (WAF)Data Mesh in Azure using Cloud Scale Analytics (WAF)
Data Mesh in Azure using Cloud Scale Analytics (WAF)Nathan Bijnens
 

Tendances (20)

Salesforce online training || Salesforce Integration | salesforce lightning
Salesforce online training || Salesforce Integration | salesforce lightningSalesforce online training || Salesforce Integration | salesforce lightning
Salesforce online training || Salesforce Integration | salesforce lightning
 
Building a modern data warehouse
Building a modern data warehouseBuilding a modern data warehouse
Building a modern data warehouse
 
How to design and implement a data ops architecture with sdc and gcp
How to design and implement a data ops architecture with sdc and gcpHow to design and implement a data ops architecture with sdc and gcp
How to design and implement a data ops architecture with sdc and gcp
 
CRM magic with data migration & integration (Presentation at CRMUG Summit 2013)
CRM magic with data migration & integration (Presentation at CRMUG Summit 2013)CRM magic with data migration & integration (Presentation at CRMUG Summit 2013)
CRM magic with data migration & integration (Presentation at CRMUG Summit 2013)
 
Data Mesh Part 4 Monolith to Mesh
Data Mesh Part 4 Monolith to MeshData Mesh Part 4 Monolith to Mesh
Data Mesh Part 4 Monolith to Mesh
 
What is an Enterprise Information Model?
What is an Enterprise Information Model? What is an Enterprise Information Model?
What is an Enterprise Information Model?
 
PL-900 Microsoft Power Platform Fundamentals
PL-900 Microsoft Power Platform FundamentalsPL-900 Microsoft Power Platform Fundamentals
PL-900 Microsoft Power Platform Fundamentals
 
Salim Adamon: Dynamics CRM overview & architecture
Salim Adamon: Dynamics CRM overview & architectureSalim Adamon: Dynamics CRM overview & architecture
Salim Adamon: Dynamics CRM overview & architecture
 
How to govern and secure a Data Mesh?
How to govern and secure a Data Mesh?How to govern and secure a Data Mesh?
How to govern and secure a Data Mesh?
 
Power Platform Architecture Corrections
Power Platform Architecture CorrectionsPower Platform Architecture Corrections
Power Platform Architecture Corrections
 
Master Data Management - Gartner Presentation
Master Data Management - Gartner PresentationMaster Data Management - Gartner Presentation
Master Data Management - Gartner Presentation
 
Integrating SIS’s with Salesforce: An Accidental Integrator’s Guide
Integrating SIS’s with Salesforce: An Accidental Integrator’s GuideIntegrating SIS’s with Salesforce: An Accidental Integrator’s Guide
Integrating SIS’s with Salesforce: An Accidental Integrator’s Guide
 
Intro Microsoft Dynamics 365
Intro Microsoft Dynamics 365Intro Microsoft Dynamics 365
Intro Microsoft Dynamics 365
 
Data Lakehouse Symposium | Day 4
Data Lakehouse Symposium | Day 4Data Lakehouse Symposium | Day 4
Data Lakehouse Symposium | Day 4
 
Microsoft dynamics
Microsoft dynamicsMicrosoft dynamics
Microsoft dynamics
 
Ebook - The Guide to Master Data Management
Ebook - The Guide to Master Data Management Ebook - The Guide to Master Data Management
Ebook - The Guide to Master Data Management
 
Data Lake Overview
Data Lake OverviewData Lake Overview
Data Lake Overview
 
Data Migration to Azure
Data Migration to AzureData Migration to Azure
Data Migration to Azure
 
Data Warehouse Best Practices
Data Warehouse Best PracticesData Warehouse Best Practices
Data Warehouse Best Practices
 
Data Mesh in Azure using Cloud Scale Analytics (WAF)
Data Mesh in Azure using Cloud Scale Analytics (WAF)Data Mesh in Azure using Cloud Scale Analytics (WAF)
Data Mesh in Azure using Cloud Scale Analytics (WAF)
 

En vedette

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
 

En vedette (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
 

Similaire à 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
 
Data Migration Done Right for Microsoft Dynamics 365/CRM
Data Migration Done Right for Microsoft Dynamics 365/CRMData Migration Done Right for Microsoft Dynamics 365/CRM
Data Migration Done Right for Microsoft Dynamics 365/CRMDaniel Cai
 
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
 

Similaire à 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
 
Data Migration Done Right for Microsoft Dynamics 365/CRM
Data Migration Done Right for Microsoft Dynamics 365/CRMData Migration Done Right for Microsoft Dynamics 365/CRM
Data Migration Done Right for Microsoft Dynamics 365/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...
 

Dernier

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 

Dernier (20)

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 

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