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

Agile Pricing Models (webinar by Luxoft Agile Practice)
Agile Pricing Models (webinar by Luxoft Agile Practice)Agile Pricing Models (webinar by Luxoft Agile Practice)
Agile Pricing Models (webinar by Luxoft Agile Practice)Sergey Prokhorenko
 
Introduction to Customization in dynamics crm 2016
Introduction to Customization in dynamics crm 2016Introduction to Customization in dynamics crm 2016
Introduction to Customization in dynamics crm 2016Firoz Muhammed
 
Best practices for effective doors implementation-Ashwini Patil
Best practices for effective doors implementation-Ashwini PatilBest practices for effective doors implementation-Ashwini Patil
Best practices for effective doors implementation-Ashwini PatilRoopa Nadkarni
 
ITSM (IT Service Management) & ITIL V3 Foundation
ITSM (IT Service Management) & ITIL V3 FoundationITSM (IT Service Management) & ITIL V3 Foundation
ITSM (IT Service Management) & ITIL V3 FoundationPrudentialSolutions
 
SharePoint 2013 Client-Side Rendering (CSR) & JSLink Templates
SharePoint 2013 Client-Side Rendering (CSR) & JSLink TemplatesSharePoint 2013 Client-Side Rendering (CSR) & JSLink Templates
SharePoint 2013 Client-Side Rendering (CSR) & JSLink TemplatesMuawiyah Shannak
 
Service level management
Service level managementService level management
Service level managementYasir Karam
 
ITIL Foundation in IT Service Management
ITIL Foundation in IT Service Management ITIL Foundation in IT Service Management
ITIL Foundation in IT Service Management Alkesh Mishra
 
Large Scale Lakehouse Implementation Using Structured Streaming
Large Scale Lakehouse Implementation Using Structured StreamingLarge Scale Lakehouse Implementation Using Structured Streaming
Large Scale Lakehouse Implementation Using Structured StreamingDatabricks
 
Gateways to Power BI, Connect PowerBI.com to your On-Prem Data
Gateways to Power BI, Connect PowerBI.com to your On-Prem DataGateways to Power BI, Connect PowerBI.com to your On-Prem Data
Gateways to Power BI, Connect PowerBI.com to your On-Prem DataJean-Pierre Riehl
 
Time to Talk about Data Mesh
Time to Talk about Data MeshTime to Talk about Data Mesh
Time to Talk about Data MeshLibbySchulze
 
Platform Events by Tim Taylor
Platform Events by Tim TaylorPlatform Events by Tim Taylor
Platform Events by Tim TaylorChristine Smith
 
Apply MLOps at Scale
Apply MLOps at ScaleApply MLOps at Scale
Apply MLOps at ScaleDatabricks
 
Zipline—Airbnb’s Declarative Feature Engineering Framework
Zipline—Airbnb’s Declarative Feature Engineering FrameworkZipline—Airbnb’s Declarative Feature Engineering Framework
Zipline—Airbnb’s Declarative Feature Engineering FrameworkDatabricks
 
IT Service Catalogue Overview
IT Service Catalogue OverviewIT Service Catalogue Overview
IT Service Catalogue Overviewcesilia_123
 

Tendances (20)

Agile Pricing Models (webinar by Luxoft Agile Practice)
Agile Pricing Models (webinar by Luxoft Agile Practice)Agile Pricing Models (webinar by Luxoft Agile Practice)
Agile Pricing Models (webinar by Luxoft Agile Practice)
 
Introduction to Customization in dynamics crm 2016
Introduction to Customization in dynamics crm 2016Introduction to Customization in dynamics crm 2016
Introduction to Customization in dynamics crm 2016
 
Best practices for effective doors implementation-Ashwini Patil
Best practices for effective doors implementation-Ashwini PatilBest practices for effective doors implementation-Ashwini Patil
Best practices for effective doors implementation-Ashwini Patil
 
ITSM (IT Service Management) & ITIL V3 Foundation
ITSM (IT Service Management) & ITIL V3 FoundationITSM (IT Service Management) & ITIL V3 Foundation
ITSM (IT Service Management) & ITIL V3 Foundation
 
SharePoint 2013 Client-Side Rendering (CSR) & JSLink Templates
SharePoint 2013 Client-Side Rendering (CSR) & JSLink TemplatesSharePoint 2013 Client-Side Rendering (CSR) & JSLink Templates
SharePoint 2013 Client-Side Rendering (CSR) & JSLink Templates
 
Service level management
Service level managementService level management
Service level management
 
ITIL Foundation in IT Service Management
ITIL Foundation in IT Service Management ITIL Foundation in IT Service Management
ITIL Foundation in IT Service Management
 
Large Scale Lakehouse Implementation Using Structured Streaming
Large Scale Lakehouse Implementation Using Structured StreamingLarge Scale Lakehouse Implementation Using Structured Streaming
Large Scale Lakehouse Implementation Using Structured Streaming
 
Microsoft Dynamics 365- field services
Microsoft Dynamics  365- field servicesMicrosoft Dynamics  365- field services
Microsoft Dynamics 365- field services
 
Microsoft Dynamics 365 for customer services
Microsoft Dynamics 365 for customer servicesMicrosoft Dynamics 365 for customer services
Microsoft Dynamics 365 for customer services
 
Gateways to Power BI, Connect PowerBI.com to your On-Prem Data
Gateways to Power BI, Connect PowerBI.com to your On-Prem DataGateways to Power BI, Connect PowerBI.com to your On-Prem Data
Gateways to Power BI, Connect PowerBI.com to your On-Prem Data
 
Time to Talk about Data Mesh
Time to Talk about Data MeshTime to Talk about Data Mesh
Time to Talk about Data Mesh
 
Platform Events by Tim Taylor
Platform Events by Tim TaylorPlatform Events by Tim Taylor
Platform Events by Tim Taylor
 
Apply MLOps at Scale
Apply MLOps at ScaleApply MLOps at Scale
Apply MLOps at Scale
 
ITIL Service Level Agreement Template
ITIL Service Level Agreement TemplateITIL Service Level Agreement Template
ITIL Service Level Agreement Template
 
Domain Driven Design
Domain Driven Design Domain Driven Design
Domain Driven Design
 
ITIL4 and ServiceNow
ITIL4 and ServiceNowITIL4 and ServiceNow
ITIL4 and ServiceNow
 
Zipline—Airbnb’s Declarative Feature Engineering Framework
Zipline—Airbnb’s Declarative Feature Engineering FrameworkZipline—Airbnb’s Declarative Feature Engineering Framework
Zipline—Airbnb’s Declarative Feature Engineering Framework
 
IT Service Catalogue Overview
IT Service Catalogue OverviewIT Service Catalogue Overview
IT Service Catalogue Overview
 
ITIL V3 Overview
ITIL V3 OverviewITIL V3 Overview
ITIL V3 Overview
 

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

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
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
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
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
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
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
 
"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
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 

Dernier (20)

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
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
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
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
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
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
 
"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
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 

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