Designing and Implementing Integration with Dynamics CRM

Post on 01-Dec-2014

563 views 3 download

description

Virtually no enterprise CRM system can be useful without integration, yet the careful design and implementation of the integrations is often neglected. As a result many issues can creep on implementation projects, and in many cases, these are a result of overlooking simpler alternatives. This slides take a practical look at the different scenarios, and demonstrate strategies and techniques that can be used to minimise the complexity and risks of integrations. Going from read only data integrations using simple HTML + JavaScript web resources, to more advanced Enterprise Application Integration (EAI) patterns, as well as providing some best practices and tips enable high volume performance integrations with Microsoft Dynamics CRM Online and On-premise. This slides are part of a session deliver at Extreme CRM 2014 in Barcelona

Transcript of Designing and Implementing Integration with Dynamics CRM

Designing and Implementing Integrations

Marco AmoedoMicrosoft

EXTREMECRM

2014 BARCELONA

What are we covering today

UI Only integration

Read Only integration

Read Write integration

Service Bus integration

CRM Services optimisation

Channels

Common Ground

Read Only

Read / WriteSystem System

Integration Management

Scheduled

Real-TimeFrequency

UI Data Integration

CRM UI flexibility allows easy data mash up

Combine Web Resources (HTML +JS) with Data Services

No data movementLess complexity

Pros

Data does not participate in CRM functionality (e.g. Workflows, Search, dupe)

Cons

UI Only Integration

CRM

Web Resource Web API

Legacy DB

/odata/Customers(id)/Transactions

[ { "Id":1,"Date":"2014-01-23T12:45:00","Concept":"Restaurant","Amount":"55.6200","Customer":1 },{ "Id":2,"Date":"2014-01-25T15:55:00","Concept":"Cash Machine","Amount":"50.0000","Customer":1 },{ "Id":3,"Date":"2014-01-30T00:00:00","Concept":"Beers","Amount":"45.0000","Customer":1 } ]

DEMO SCENARIO

ASP.Net Web APIWraping up and old databseIntegrate with JS

Read Only

Data flows in only one direction. There is a Master system.

You can use a variety of Tools to enable simple no-code integrations

Data available for CRM functionality

Pros

Introduces issues around data load volumes and integration dependencies

Cons

“Progressive” Read Only

Eliminate Batch loading and bring the data “just in time” to be used.

Pre-retrieve plug-ins is an easy option in CRM

Removes issues around high volume data movements

Pros

No trigger for Workflow and refresh on Views.Deeper dependencies.

Cons

Scenario Progressive Read Only

CRM

PreRetrieve Plugin Web API

Legacy DB

/odata/Customers(id)

[ { "Id":1,"Date":"2014-01-23T12:45:00","Concept":"Restaurant","Amount":"55.6200","Customer":1 }, { "Id":2,"Date":"2014-01-25T15:55:00","Concept":"Cash Machine","Amount":"50.0000","Customer":1 } ]

DEMO SCENARIO

Building on previous scenarioUse Plug-in to progressively load/update data as when needed

Read / Write Integration

No Master system and data needs sync

Define & Sync Deltas (e.g.modifiedon)Integration Users (avoid deadlocks)Manage deletions (plug-in in CRM)

Users are flexible to modify data in different systems

Pros

Extra logic to avoid false workflow triggers & manage conflictsLicensing implicationsCons

Tools & Tips

• ETL Tools can do the heavy lifting– SSIS, Azuqua, Scribe, Simego… and many more

• CRM Tips– Plan to manage special data types [picklists, lookups,etc] and

special entities– Use a integration user [non-interactive access mode]– Manage deletes with plug-ins– Plan, Prepare and Paralelise Check http://danielcai.blogspot.co.uk/2013/04/presentation-deck-and-demo-code-for.html

DEMO: SSIS

Point to Point

App 1 App 2 App 3

App 4 App 5 App 6

N(N-1)/2

1 2 3 4 5 6 7 8 9 10 11 120 1

36

10

15

21

28

36

45

55

66

# integrati ons

Service Bus

App 1 App 2 App 3

App 4 App 5 App 6

Pub/Sub with Azure Topics

Publisher / Subscriber brokered messaging

Persisted on the CloudMultiple subscribers and filteringCRM out of the box support

Removes complexity and enables truly flexible scenarios

Pros

Extra infrastructure & Initial overhead costsGovernance

Cons

Examples: by operation type

Message Senders Service Bus Receivers

CRM

ERP

Other Apps

Topic: Contact

CRM

ERP

Where Origin!=CRM

Where Origin!=ERP & Operation = Create or Update

Examples: by system type

Message Senders Service Bus Receivers

CRM Topic: CRM Ops

ERP

Other App

Where Entity = Contact

Where Entity=Account & Region = EMEA

ESB DEMO

Publisher/Subscriber messaging with Azure Service Bus TopicsConnecting an out of the box service bus plug-in

Web Service Optimisation

CRM Web Services Tips

• Re-Use Authentication• Re-Use Connection• Execute Multiple – Caveats: Only 2 concurrent ExecuteMultiple if > 10

requests

• Effective use of .Net Threading

DATA LOADING OPTIMISATIONPlaying with the Dynamics CRM Web Services

Plan Prepare

Parallelise

Marco Amoedo, Microsoft@marcoamoedo

Please remember to fill out your session evaluation survey online!The link to the survey was emailed to you, or go to:

http://www.extremecrm.com/2014Barcelona/2014BarcelonaSurvey.aspx

Complete prior to the closing session to be included in today’s drawing!

Survey: http://www.extremecrm.com/2014Barcelona/2014BarcelonaSurvey.aspx

THANK YOU to all of our eXtremeCRM 2014 Barcelona Sponsors!

CORPORATE GOLD SILVER

BRONZE

EXHIBITORS