designing and implementing integration with dynamics crm

28
Designing and Implementing Integrations Marco Amoedo Microsoft EXTREMECRM 2014 BARCELONA

Upload: marco-amoedo

Post on 01-Dec-2014

564 views

Category:

Technology


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

Page 1: Designing and Implementing Integration with Dynamics CRM

Designing and Implementing Integrations

Marco AmoedoMicrosoft

EXTREMECRM

2014 BARCELONA

Page 2: Designing and Implementing Integration with Dynamics CRM
Page 3: Designing and Implementing Integration with Dynamics CRM

What are we covering today

UI Only integration

Read Only integration

Read Write integration

Service Bus integration

CRM Services optimisation

Page 4: Designing and Implementing Integration with Dynamics CRM

Channels

Common Ground

Read Only

Read / WriteSystem System

Integration Management

Scheduled

Real-TimeFrequency

Page 5: Designing and Implementing Integration with Dynamics CRM

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

Page 6: Designing and Implementing Integration with Dynamics CRM

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

Page 7: Designing and Implementing Integration with Dynamics CRM

DEMO SCENARIO

ASP.Net Web APIWraping up and old databseIntegrate with JS

Page 8: Designing and Implementing Integration with Dynamics CRM

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

Page 9: Designing and Implementing Integration with Dynamics CRM

“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

Page 10: Designing and Implementing Integration with Dynamics CRM

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

Page 11: Designing and Implementing Integration with Dynamics CRM

DEMO SCENARIO

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

Page 12: Designing and Implementing Integration with Dynamics CRM

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

Page 13: Designing and Implementing Integration with Dynamics CRM

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

Page 14: Designing and Implementing Integration with Dynamics CRM

DEMO: SSIS

Page 15: Designing and Implementing Integration with Dynamics CRM

Point to Point

App 1 App 2 App 3

App 4 App 5 App 6

Page 16: Designing and Implementing Integration with Dynamics CRM

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

Page 17: Designing and Implementing Integration with Dynamics CRM

Service Bus

App 1 App 2 App 3

App 4 App 5 App 6

Page 18: Designing and Implementing Integration with Dynamics CRM

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

Page 19: Designing and Implementing Integration with Dynamics CRM
Page 20: Designing and Implementing Integration with Dynamics CRM

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

Page 21: Designing and Implementing Integration with Dynamics CRM

Examples: by system type

Message Senders Service Bus Receivers

CRM Topic: CRM Ops

ERP

Other App

Where Entity = Contact

Where Entity=Account & Region = EMEA

Page 22: Designing and Implementing Integration with Dynamics CRM

ESB DEMO

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

Page 23: Designing and Implementing Integration with Dynamics CRM

Web Service Optimisation

Page 24: Designing and Implementing Integration with Dynamics CRM

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

Page 25: Designing and Implementing Integration with Dynamics CRM

DATA LOADING OPTIMISATIONPlaying with the Dynamics CRM Web Services

Page 26: Designing and Implementing Integration with Dynamics CRM

Plan Prepare

Parallelise

Page 27: Designing and Implementing Integration with Dynamics CRM

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!

Page 28: Designing and Implementing Integration with Dynamics CRM

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

THANK YOU to all of our eXtremeCRM 2014 Barcelona Sponsors!

CORPORATE GOLD SILVER

BRONZE

EXHIBITORS