SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

Introduction to power apps
Introduction to power appsIntroduction to power apps
Introduction to power appsRezaDorrani1
 
Azure Logic Apps
Azure Logic AppsAzure Logic Apps
Azure Logic AppsBizTalk360
 
Power Platform Governance Webinar
Power Platform Governance WebinarPower Platform Governance Webinar
Power Platform Governance WebinarRunpipe
 
Microsoft 365 Business Applications
Microsoft 365  Business ApplicationsMicrosoft 365  Business Applications
Microsoft 365 Business ApplicationsCloudCoverIT
 
Lessons from implementing Salesforce Industries / Vlocity in Insurance, Jiří ...
Lessons from implementing Salesforce Industries / Vlocity in Insurance, Jiří ...Lessons from implementing Salesforce Industries / Vlocity in Insurance, Jiří ...
Lessons from implementing Salesforce Industries / Vlocity in Insurance, Jiří ...CzechDreamin
 
Microsoft dynamics-crm-online-overview-ppt
Microsoft dynamics-crm-online-overview-pptMicrosoft dynamics-crm-online-overview-ppt
Microsoft dynamics-crm-online-overview-pptMohammed Badruddin
 
All Plans Comparison - Office 365 and Microsoft 365 Plans
All Plans Comparison - Office 365 and Microsoft 365 PlansAll Plans Comparison - Office 365 and Microsoft 365 Plans
All Plans Comparison - Office 365 and Microsoft 365 PlansGetMax DMCC
 
Intelligent automation with Microsoft Power Automate
Intelligent automation with Microsoft Power AutomateIntelligent automation with Microsoft Power Automate
Intelligent automation with Microsoft Power AutomateDaniel Laskewitz
 
Intro Microsoft Dynamics 365
Intro Microsoft Dynamics 365Intro Microsoft Dynamics 365
Intro Microsoft Dynamics 365Juan Fabian
 
Explore Microsoft Power Platform Center of Excellence
Explore Microsoft Power Platform Center of ExcellenceExplore Microsoft Power Platform Center of Excellence
Explore Microsoft Power Platform Center of ExcellenceNanddeep Nachan
 
Azure AD Presentation - @ BITPro - Ajay
Azure AD Presentation - @ BITPro - AjayAzure AD Presentation - @ BITPro - Ajay
Azure AD Presentation - @ BITPro - AjayAnoop Nair
 
Architecture of Dynamics CRM with Office 365 and Azure
Architecture of Dynamics CRM with Office 365 and AzureArchitecture of Dynamics CRM with Office 365 and Azure
Architecture of Dynamics CRM with Office 365 and AzurePedro Azevedo
 
Innovation morning power platform
Innovation morning power platformInnovation morning power platform
Innovation morning power platformClaudia Angelelli
 
Azure active directory
Azure active directoryAzure active directory
Azure active directoryRaju Kumar
 

Was ist angesagt? (20)

Introduction to power apps
Introduction to power appsIntroduction to power apps
Introduction to power apps
 
Azure Logic Apps
Azure Logic AppsAzure Logic Apps
Azure Logic Apps
 
Power Platform Governance Webinar
Power Platform Governance WebinarPower Platform Governance Webinar
Power Platform Governance Webinar
 
Microsoft Dynamics 365 for customer services
Microsoft Dynamics 365 for customer servicesMicrosoft Dynamics 365 for customer services
Microsoft Dynamics 365 for customer services
 
Microsoft 365 Business Applications
Microsoft 365  Business ApplicationsMicrosoft 365  Business Applications
Microsoft 365 Business Applications
 
Lessons from implementing Salesforce Industries / Vlocity in Insurance, Jiří ...
Lessons from implementing Salesforce Industries / Vlocity in Insurance, Jiří ...Lessons from implementing Salesforce Industries / Vlocity in Insurance, Jiří ...
Lessons from implementing Salesforce Industries / Vlocity in Insurance, Jiří ...
 
Microsoft dynamics-crm-online-overview-ppt
Microsoft dynamics-crm-online-overview-pptMicrosoft dynamics-crm-online-overview-ppt
Microsoft dynamics-crm-online-overview-ppt
 
All Plans Comparison - Office 365 and Microsoft 365 Plans
All Plans Comparison - Office 365 and Microsoft 365 PlansAll Plans Comparison - Office 365 and Microsoft 365 Plans
All Plans Comparison - Office 365 and Microsoft 365 Plans
 
Intelligent automation with Microsoft Power Automate
Intelligent automation with Microsoft Power AutomateIntelligent automation with Microsoft Power Automate
Intelligent automation with Microsoft Power Automate
 
Intro Microsoft Dynamics 365
Intro Microsoft Dynamics 365Intro Microsoft Dynamics 365
Intro Microsoft Dynamics 365
 
Azure logic app
Azure logic appAzure logic app
Azure logic app
 
Explore Microsoft Power Platform Center of Excellence
Explore Microsoft Power Platform Center of ExcellenceExplore Microsoft Power Platform Center of Excellence
Explore Microsoft Power Platform Center of Excellence
 
Understanding Azure AD
Understanding Azure ADUnderstanding Azure AD
Understanding Azure AD
 
Azure AD Presentation - @ BITPro - Ajay
Azure AD Presentation - @ BITPro - AjayAzure AD Presentation - @ BITPro - Ajay
Azure AD Presentation - @ BITPro - Ajay
 
Introduction to Microsoft Azure 101
Introduction to Microsoft Azure 101Introduction to Microsoft Azure 101
Introduction to Microsoft Azure 101
 
Architecture of Dynamics CRM with Office 365 and Azure
Architecture of Dynamics CRM with Office 365 and AzureArchitecture of Dynamics CRM with Office 365 and Azure
Architecture of Dynamics CRM with Office 365 and Azure
 
Innovation morning power platform
Innovation morning power platformInnovation morning power platform
Innovation morning power platform
 
Azure active directory
Azure active directoryAzure active directory
Azure active directory
 
Power platform power automate in a day
Power platform   power automate in a dayPower platform   power automate in a day
Power platform power automate in a day
 
DevOps introduction
DevOps introductionDevOps introduction
DevOps introduction
 

Andere mochten auch

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

Andere mochten auch (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
 
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)
 
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...
 

Ähnlich wie 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
 

Ähnlich wie 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...
 

Kürzlich hochgeladen

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 

Kürzlich hochgeladen (20)

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 

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