I'm a real fan of open letters (and sacrifices) to the gods! Any god really, could be the ones that sit in the clouds, could be the one trapped in the green statue at my local Chinese restaurant (he he, I so know he hates when I rub his belly, but eh, what's he gonna do?), or it could even be the numerous ones that have so happily provided their names for many online gamers to enjoy!
So it is my time to sit down and pen a letter to a group of gods that I really need to get some mind share with... the gods o' Dynamics. So let me get started (and try not to make this sound like an Iron Maiden song!) ...
Dear Gods O' Dynamics,
For the past three months, I, your humble servant, have walketh the earth, spreading news of the coming of the new platform. I have been met with fierce rebuttal and neighsayment (word doesn't exist, so please invent for me after reading this) from those that do not believe; but eh, guys gotta earn a crust right..?
Anyhoo, one issue that has really plagued me during my journey has been the mismatch between feature and architecture. While I whole heartedly believe the Dynamics platform is a great idea, I'm struggling with the fifty thousand (slight exaggeration ;0) Dynamics products that have a GL! And I struggle even more with the fact that along with the number of seemingly similar (no doubt their different, it's just hard to cram that conversation into the time between hand shakes) applications, there are just as many ways to develop against each of the products, so a consistent approach to developing and integrating is not currently a reality.
So with your permission, I'd like to put something out there, an idea for Dynamics NXT (see what I did with the NXT thing..? Riiiighht!).
So what we do is release Dynamics Server. It's a single technology platform when it leaves the mint, but internally, has all the goodness of all the products in the current Dynamics family. It will be completely built against the current (and will be aligned with the future road maps) .NET platform, will leverage all our platform bits, such as SharePoint, BizTalk, SQL Server, WCF, WPF, the mo' the merrier.
It will have two fundamental modes; Integrator Mode and ISV Mode. Integrator mode provides the implementer with a set of "profiles", such as standard vertical profiles, such as Manufacturing, Professional Services, etc., then hot deploys the environments with all the right parts. ISV mode turns Dynamics Server into an application container, where all the bits are available, however, when released as an embedded part of a solution, require a configured license to operate functionally. It can also operate in both modes 🙂
Inside Dynamics Server for developers, people can simply extend the server with their own business platform pieces developed in pure .NET managed code, perhaps something like a core Legal framework. Then, I just fire up Visual Studio, create a new Dynamics Application, then code like this...
I can then create a deployment package, and deploy straight to any Dynamics Server installation. Web Services will all be out of the box, with a dynamic endpoint generation service, which can provide multiple channel outputs, including SOAP and RSS! It will be multi-tenant out of the box too (if that's not too much trouble).
It will also have a full operations front-end built on VS core, just like SQL Server and BizTalk, and deployment can be completely scripted. It will also surface up cool stuff like Reporting Services, Workflow, full MOSS support, and other funky things like HAT and BAM (where applicable).
Um, that's all I can think of for now. As soon as I think of more stuff, I'll let you know.
As you can see, I don't think I'm being too demanding, just really need it all in the one place, with a consistent deployment and development experience. Here's hoping the gods are listening 🙂