designing and implementing integration with dynamics crm
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 BarcelonaTRANSCRIPT
![Page 1: Designing and Implementing Integration with Dynamics CRM](https://reader033.vdocuments.us/reader033/viewer/2022061213/547cd8a4b4795998508b47a7/html5/thumbnails/1.jpg)
Designing and Implementing Integrations
Marco AmoedoMicrosoft
EXTREMECRM
2014 BARCELONA
![Page 2: Designing and Implementing Integration with Dynamics CRM](https://reader033.vdocuments.us/reader033/viewer/2022061213/547cd8a4b4795998508b47a7/html5/thumbnails/2.jpg)
![Page 3: Designing and Implementing Integration with Dynamics CRM](https://reader033.vdocuments.us/reader033/viewer/2022061213/547cd8a4b4795998508b47a7/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061213/547cd8a4b4795998508b47a7/html5/thumbnails/4.jpg)
Channels
Common Ground
Read Only
Read / WriteSystem System
Integration Management
Scheduled
Real-TimeFrequency
![Page 5: Designing and Implementing Integration with Dynamics CRM](https://reader033.vdocuments.us/reader033/viewer/2022061213/547cd8a4b4795998508b47a7/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061213/547cd8a4b4795998508b47a7/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061213/547cd8a4b4795998508b47a7/html5/thumbnails/7.jpg)
DEMO SCENARIO
ASP.Net Web APIWraping up and old databseIntegrate with JS
![Page 8: Designing and Implementing Integration with Dynamics CRM](https://reader033.vdocuments.us/reader033/viewer/2022061213/547cd8a4b4795998508b47a7/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061213/547cd8a4b4795998508b47a7/html5/thumbnails/9.jpg)
“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](https://reader033.vdocuments.us/reader033/viewer/2022061213/547cd8a4b4795998508b47a7/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061213/547cd8a4b4795998508b47a7/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061213/547cd8a4b4795998508b47a7/html5/thumbnails/12.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061213/547cd8a4b4795998508b47a7/html5/thumbnails/13.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061213/547cd8a4b4795998508b47a7/html5/thumbnails/14.jpg)
DEMO: SSIS
![Page 15: Designing and Implementing Integration with Dynamics CRM](https://reader033.vdocuments.us/reader033/viewer/2022061213/547cd8a4b4795998508b47a7/html5/thumbnails/15.jpg)
Point to Point
App 1 App 2 App 3
App 4 App 5 App 6
![Page 16: Designing and Implementing Integration with Dynamics CRM](https://reader033.vdocuments.us/reader033/viewer/2022061213/547cd8a4b4795998508b47a7/html5/thumbnails/16.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061213/547cd8a4b4795998508b47a7/html5/thumbnails/17.jpg)
Service Bus
App 1 App 2 App 3
App 4 App 5 App 6
![Page 18: Designing and Implementing Integration with Dynamics CRM](https://reader033.vdocuments.us/reader033/viewer/2022061213/547cd8a4b4795998508b47a7/html5/thumbnails/18.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061213/547cd8a4b4795998508b47a7/html5/thumbnails/19.jpg)
![Page 20: Designing and Implementing Integration with Dynamics CRM](https://reader033.vdocuments.us/reader033/viewer/2022061213/547cd8a4b4795998508b47a7/html5/thumbnails/20.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061213/547cd8a4b4795998508b47a7/html5/thumbnails/21.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061213/547cd8a4b4795998508b47a7/html5/thumbnails/22.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061213/547cd8a4b4795998508b47a7/html5/thumbnails/23.jpg)
Web Service Optimisation
![Page 24: Designing and Implementing Integration with Dynamics CRM](https://reader033.vdocuments.us/reader033/viewer/2022061213/547cd8a4b4795998508b47a7/html5/thumbnails/24.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061213/547cd8a4b4795998508b47a7/html5/thumbnails/25.jpg)
DATA LOADING OPTIMISATIONPlaying with the Dynamics CRM Web Services
![Page 26: Designing and Implementing Integration with Dynamics CRM](https://reader033.vdocuments.us/reader033/viewer/2022061213/547cd8a4b4795998508b47a7/html5/thumbnails/26.jpg)
Plan Prepare
Parallelise
![Page 27: Designing and Implementing Integration with Dynamics CRM](https://reader033.vdocuments.us/reader033/viewer/2022061213/547cd8a4b4795998508b47a7/html5/thumbnails/27.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061213/547cd8a4b4795998508b47a7/html5/thumbnails/28.jpg)
Survey: http://www.extremecrm.com/2014Barcelona/2014BarcelonaSurvey.aspx
THANK YOU to all of our eXtremeCRM 2014 Barcelona Sponsors!
CORPORATE GOLD SILVER
BRONZE
EXHIBITORS