Upload
marco-amoedo
View
564
Download
3
Embed Size (px)
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
Citation preview
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