Enterprise Data Integration for Microsoft Dynamics CRM

Similar documents
CRM Magic with Data Migration & Integration

Integration Architecture & (Hybrid) Cloud Scenarios on the Microsoft Business Platform. Gijs in t Veld CTO BizTalk Server MVP BTUG NL, June 7 th 2012

MDM and Data Warehousing Complement Each Other

Cloud Computing with Windows Azure using your Preferred Technology

Microsoft Dynamics CRM (on-premises) to Microsoft Dynamics Online Migration Guide

Building a BI Solution in the Cloud

SQL Azure and SqlBulkCopy

Course 10777A: Implementing a Data Warehouse with Microsoft SQL Server 2012

Microsoft Dynamics CRM Event Pipeline

Implementing a Data Warehouse with Microsoft SQL Server 2012

Pervasive Software + NetSuite = Seamless Cloud Business Processes

OWB Users, Enter The New ODI World

Implementing a Data Warehouse with Microsoft SQL Server 2012

Implementing a Data Warehouse with Microsoft SQL Server 2012 MOC 10777

Course Outline. Module 1: Introduction to Data Warehousing

High-Volume Data Warehousing in Centerprise. Product Datasheet

White paper. Planning for SaaS Integration

Building a Data Warehouse

Implementing a Data Warehouse with Microsoft SQL Server 2012 (70-463)

Jitterbit Technical Overview : Salesforce

COURSE 20463C: IMPLEMENTING A DATA WAREHOUSE WITH MICROSOFT SQL SERVER

Course Outline: Course: Implementing a Data Warehouse with Microsoft SQL Server 2012 Learning Method: Instructor-led Classroom Learning

Implementing a Data Warehouse with Microsoft SQL Server

Sentinet for BizTalk Server SENTINET

Advantage Integration Strategy Integrating for the Enterprise

Real-time Data Replication

Implementing a SQL Data Warehouse 2016

Course 10977A: Updating Your SQL Server Skills to Microsoft SQL Server 2014

Integrating Siebel CRM 8 with Oracle Applications

ENZO UNIFIED SOLVES THE CHALLENGES OF OUT-OF-BAND SQL SERVER PROCESSING

Agenda. SSIS - enterprise ready ETL

SCRIBE INSIGHT ARCHITECTURE OVERVIEW

Microsoft Dynamics CRM2015 Fast Track for developers

IBM WebSphere Cast Iron Cloud integration

Using multi-tenancy in Microsoft Dynamics CRM 2013 to address challenges in enterprise business environments

Service Oriented Data Management

EII - ETL - EAI What, Why, and How!

Data Integration Checklist

Implementing a Data Warehouse with Microsoft SQL Server 2012

Managing Data in Motion

Azure Scalability Prescriptive Architecture using the Enzo Multitenant Framework

Implementing a Data Warehouse with Microsoft SQL Server

Jitterbit Technical Overview : Microsoft Dynamics CRM

The ESB and Microsoft BI

Implement a Data Warehouse with Microsoft SQL Server 20463C; 5 days

This module provides an overview of service and cloud technologies using the Microsoft.NET Framework and the Windows Azure cloud.

Solving Business Pains with SQL Server Integration Services. SQL Server 2005 / 2008

Enterprise Enabler and the Microsoft Integration Stack

Monitor and Manage Your MicroStrategy BI Environment Using Enterprise Manager and Health Center

Implementing a Data Warehouse with Microsoft SQL Server 2014

Dynamics CRM with Azure and SharePoint a perfect match. Central and Eastern Europe

the smarter way to manage enterprise APIs for SYSPRO ebook

Implementing a Data Warehouse with Microsoft SQL Server

WHITEPAPER SECURITY APPROACHES AND SECURITY TECHNOLOGIES IN INTEGRATION CLOUD

Expert Reference Series of White Papers. Unlock the Power of Microsoft SQL Server 2012

Client. Applications. Middle Tier. Database. Infrastructure. Leading Vendors

Automatizace Private Cloud. Petr Košec, Microsoft MVP, MCT, MCSE

Storage Options in the AWS Cloud: Use Cases

SAS Enterprise Data Integration Server - A Complete Solution Designed To Meet the Full Spectrum of Enterprise Data Integration Needs

ORACLE DATA INTEGRATOR ENTERPRISE EDITION

Microsoft. Course 20463C: Implementing a Data Warehouse with Microsoft SQL Server

Salesforce Certified Data Architecture and Management Designer. Study Guide. Summer 16 TRAINING & CERTIFICATION

Deploy. Friction-free self-service BI solutions for everyone Scalable analytics on a modern architecture

SQL Server Administrator Introduction - 3 Days Objectives

Oracle Data Integration: CON7926 Oracle Data Integration: A Crucial Ingredient for Cloud Integration

Integrating Netezza into your existing IT landscape

SQL Server Integration Services. Design Patterns. Andy Leonard. Matt Masson Tim Mitchell. Jessica M. Moss. Michelle Ufford

Data Virtualization for Agile Business Intelligence Systems and Virtual MDM. To View This Presentation as a Video Click Here

Implementing a Data Warehouse with Microsoft SQL Server MOC 20463

COURSE OUTLINE MOC 20463: IMPLEMENTING A DATA WAREHOUSE WITH MICROSOFT SQL SERVER

Cloud Ready Data: Speeding Your Journey to the Cloud

Attunity Integration Suite

Sentinet for BizTalk Server SENTINET 3.1

MS 20487A Developing Windows Azure and Web Services

Cloud First Does Not Have to Mean Cloud Exclusively. Digital Government Institute s Cloud Computing & Data Center Conference, September 2014

Using Attunity Replicate with Greenplum Database Using Attunity Replicate for data migration and Change Data Capture to the Greenplum Database

ORACLE DATA INTEGRATOR ENTERPRISE EDITION

MOC DEVELOPING WINDOWS AZURE AND WEB SERVICES

Scaling Analysis Services in the Cloud

Developing Windows Azure and Web Services

Course 10978A Introduction to Azure for Developers

Oracle Data Integrator Technical Overview. An Oracle White Paper Updated December 2006

This document describes the Dynamics CRM integration functionality in Centerprise Data Integrator and discusses

ETL Tools. L. Libkin 1 Data Integration and Exchange

SQL Server Integration Services Design Patterns

SQL Server 2012 Business Intelligence Boot Camp

Ariett Purchasing & Expense Management. Go Paperless, Go Mobile, Go Easy.

Sentinet for Windows Azure SENTINET

Beta: Implementing a Data Warehouse with Microsoft SQL Server 2012

ebay : How is it a hit

MicroStrategy Course Catalog

Neuron ESB 3.5 introduces Long Running Workflow capabilities!

Microsoft Azure Cloud on your terms. Start your cloud journey.

MS 10978A Introduction to Azure for Developers

Transcription:

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

Data Migration Process 1 2 3 Data Extraction Extra data from different data sources Data Mapping Transform and map data from source to the target system Data Validation Validate data Page 6 4 Data Load 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 Pros Compile-time validation through stronglytyped entity classes and fields Intellisense CRM LINQ query APIs Cons Small performance overhead Dependency on command-line tool when CRM metadata has been updated Larger binary delivery Late-bound Slightly better performance comparing to earlybound More flexibility Smaller binary delivery No compile-time validation or intellisense Less productive CRM LINQ query APIs

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