In case you missed the excellent presentation by Daniel Cai in XrmVirtual about the different data integration strategies for CRM, you can view the recording here.
Data integration is a very common scenario in enterprise CRM implementations. Therefore it is important to understand what the options are and what the advantages and disadvantages are. Here is a small extract from Daniel’s presentation about 4 different data integration options:
1. 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
2. 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
3. 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
- …
4. 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
Thanks to Daniel for sharing. I have also provided a Spanish translation of this post here.
Excellent article
ReplyDelete