Microsoft CRM Frustrations
I took a look at some of the views that the CRM has generated when I created a sample entity. 7 joins is a bit too much, I feel.
And to top the previous point, an actual commit message by me, dating about two hours ago.
Rewriting the serialization / deserialization to use dynamic entities
and fixing an issue with null values not being liked by the @!#$ CRM.
That issue has cost me merely three days and much gnashing of teeth. I don't like MS CRM one bit. And any amount of insulation layers can't help here, I feel. I get bloody ever lasting COM errors from the application, and that is one of the main reason that I am not working on C++ right now.
Please don't take this in any other context than a simple question. Are there any MS application platforms that you do like?
I really like SQL Server, although I am probably using only 15% of its capabilities.
BizTalk is not something that I am fond of, still too much GUI magic, but I have learn that it has more than its fair share of usages.
Beyond those two (and BizTalk only somewhat), no.
I don't think that this is something that relates to MS in particular, I have the same disgust for a lot of tools that makes my life harder than it should. Oracle's ERP is an even scarier concept than MS CRM, for instance.
Basically, I am evaluating platforms based on two things: How much easier they would make my job, and how hard it would be to replace them.
I am especially wary of stuff that is supposed to "save" coding, as if that is any meaningful criteria.
I probably should clarify that the MS app platforms that I used include SQL Server, SSIS, BizTalk, CRM and a scattering of other stuff, nothing major.
Can you clarify further what you mean in the "application platform" ?
I really like .NET (for the most part), but I don't consider it an application platform.
I really couldn't think of any other term to encompass♠ platforms such as CRM, Portal, B2B, ERP etc, but you answered it for the most part.
It is funny that MS and every other enterprise platform out there claim to be extensible but only within the constraints of their model, which is typically flawed in so many ways. The question I have is how other developers are able to actually say that MS makes their lives easier in dealing with these platforms? I have never encountered that ever!
I can build a custom build solution for most of the solutions that are currently using those app platforms, in less time and much less agitations than it would take to "customize" existing solutions to the point where they "work".
The key difference here is that my approach wouldn't be a monolithic platform which hard wired and limited extensibility points, but a an application framework that supports maintainable RAD.
90% of those applications are usually CRUD, and that is so simple to build that it is not even funny.
The problem that those platforms make the last 10% more expensive and hard than the rest of the project combined.
I hear the bells ringing..... Rhino Relationship Manager.
I feel your pain. Our current project has to use MS Commerce Server as the back-end, and a lot of the same things you've mention about CRM is the same in CS 2007, like getting nasty COM errors that are pretty much useless.
Fortunately, I've stayed out of the CS 2007 muck up to this point, letting my team lead handle most of it. My favorite quote from my team lead on one of his "bad CS 2007 days" was "why does everything from MS suck so bad!". He was exaggerating a little of course, but funny no less.
Oh, and don't even think about wanting to do any sort of unit testing on such platforms. Nothing seems to have accompanying interfaces and CS 2007's "entities" included WEAKLY typed datasets and classes that have an instantiation process that makes you weep. And of course they can only be accessed via the "context" which requires an up and running CS 2007 server!
Well, now that I got that off my chest. :P
If you think that MS CRM is not a good software you have not see MS NAVISION. This is the worst software that I have ever seen in my 28 year career.