Sunday, December 16, 2012

CozyRoc, CRM's key to the outside world

For CRM development, Microsoft has set a few ground rules of how things should be done. One of them is about the CRM database. Developers cannot access the database directly or else the almighty Microsoft will punish you for all eternity (ok, not as bad as that, but you do lose the microsoft CRM support). This particular rule feels like a handcuff on me everytime I work on an ETL project where CRM is the destination. Now, by setting up this rule, then Microsoft does give you a chance of doing things their way, and that is through their data objects. Users can create the data object classes with their crmsvcutil application after they have downloaded the CRM SDK. After that, it is plain and simple EF4 and LINQ. So with that in mind, our way to do the projects (still with the handcuffs on) are to make a class that abstracts this by having a bunch of InsertXXX(List<XXX> items), UpdateXXX(List<XXX> items), DeleteXXX(List<XXX> items) methods. Ok, it is not the end of the world, except there still are quite a few ways to do this on, code maintenance after project completion is a challenge, integrating a bunch of C# code in the SSIS package doesn't exactly sound like a best practice either. So as I am getting fed up with that, I thought to myself that there must be someone else who are equally frustrated as I am regarding this CRM data integration. Afterall, as I have mentioned in my earlier post, BI and CRM fits very well together, so it is only reasonable that they have some sort of tool somewhere in the market that will make life easier for us. After some research I found a couple of candidate:
  • Kingswaysoft
  • CozyRoc
I had to run a presentation to my client regarding the pros and cons of these tool, plus the pros and cons for not using any of them, I am sharing my findings with you here. Both Kingswaysoft and CozyRoc offered SSIS tools for CRM data integration. There is a new Data Flow component called CRM Source and CRM Destination (As the classical OLE Db Source/Destination). Like the classical OLE Db, in order to utilize it you will also need to set up a connection manager. So we will have to set up a new CRM connection manager. However, we decided to go with CozyRoc for this project because it also include other SSIS tools that would be useful at the project as well. Otherwise, I consider them rather equal. (Kingswaysoft charges a tiny bit more, but the $100 a year per deployment is consider minimal in most companies) The CozyRoc CRM connection manager set up looks something like this: You can set up the server, type of CRM Deployment, credentials, these are quite similar to other connection managers and was quite easy to set up. Once you have that set up you can use the Dynamics CRM Source and Destination at will: The finishing product includes no more messy C# code and is plain boxes with arrows. My client is happy and it saved me a couple of days of implementation time. Win win situations. To read more about them: CozyRoc: www.CozyRoc.com Kingswaysoft: www.kingswaysoft.com  

No comments:

Post a Comment