Van eind augustus tot eind oktober 2009 heb ik een opdracht gedaan voor Microsoft Zweden. Microsoft was bezig met een uitbreiding op Microsoft Dynamics CRM voor Nestlé. Nestlé is al jaren de grootste CRM klant van Microsoft.
Het systeem dat Microsoft voor Nestlé ontwikkelt heet MDMS (Medical Deligate Management System). Dit systeem dat is gebaseerd op CRM 4.0 wordt door Nestlé Nutrition wereldwijd gebruikt. Ik was werkzaam op het hoofdkantoor van Microsoft Zweden in Akala, Stockholm. Mijn werkzaamheden bestonden uit het gereedmaken van een migratie tool voor de migratie van de data uit de vorige versie van het MDMS systeem, gebaseerd op CRM 3.0, naar het nieuwe systeem.
Hierbij moest rekening gehouden worden met alle extensies en plugins, die onderdeel vormen van MDMS. Onderdeel van het werk was uitbreiding van de tool met verbeterde functionaliteiten en het bugvrij maken. Daarna moest de tool nog goedgekeurd worden middels een intensieve testfase.
De periode bij Microsoft was erg leerzaam. Het was de eerste keer dat ik voor een langere periode werkzaam was in het buitenland. Qua omgeving is het ook goed bevallen, zowel de stad Stockholm als de collega's waar ik mee heb samengewerkt. Ik zou zo weer een dergelijke opdracht accepteren.
CRM is het customer relationship management systeem van Microsoft. Het is naast een compleet produkt ook een produkt dat zeer flexibel is. De functionaliteiten kunnen worden uitgebreid met extensions en plugins.
In CRM is alles gebaseerd op entiteiten. Een entiteit is bijvoorbeeld een contact of een account. Deze entiteiten hebben eigenschappen die kunnen worden aangepast of uitgebreid met nieuwe eigenschappen. Ook kunnen nieuwe entiteiten worden aangemaakt. Dit valt onder de noemer extensions.
Plugins zijn kleine stukken code die in de vorm van plugins aan CRM kunnen worden gekoppeld. Plugins kunnen worden geschreven met elke taal die in Visual Studio voorhanden is, zoals c# of Visual Basic. Plugins worden veel gebruikt bij het ondervangen van events die in CRM plaatsvinden.
Zo kun je bijvoorbeeld een plugin koppelen aan een 'pre save' event. Voordat dan bijvoorbeeld een contact wordt bewaard, wordt eerst de plugin uitgevoerd. Op deze manier kun je data onder water nog aanpassen voordat CRM het contact opslaat. Met plugins is het mogelijk CRM helemaal naar je hand te zetten.
Op het moment van schrijven is het project door Microsoft met succes overgedragen aan Nestlé Nutrition.