M ASARYKOVA UNIVERZITA FAKULTA INFORMATIKY
}
w A| y < 5 4 23 1 0 / -. , )+ ( %&' $ # !"
Æ
Migrace informaˇcního systému MS Dynamics CRM na vyšší verzi D IPLOMOVÁ PRÁCE
Bc. Martin Veselý
Brno, jaro 2014
Prohlášení Prohlašuji, že tato diplomová práce je mým puvodním ˚ autorským dílem, které jsem vypracoval samostatnˇe. Všechny zdroje, prameny a literaturu, které jsem pˇri vypracování používal nebo z nich cˇ erpal, v práci rˇ ádnˇe cituji s uvedením úplného odkazu na pˇríslušný zdroj.
Bc. Martin Veselý
Vedoucí práce: RNDr. Pavel Hajn i
Podˇekování Na tomto místˇe bych rád podˇekoval všem, kteˇrí mˇe podporovali pˇri tvorbˇe této práce. Pˇredevším dˇekuji vedoucímu práce RNDr. Pavlu Hajnovi za jeho cenné rady a pˇripomínky, dále pak dˇekuji rodinˇe a pˇrátelum ˚ za jejich podporu a trpˇelivost.
ii
Shrnutí Práce popisuje základy informaˇcního systému MS Dynamics CRM a popisuje základy jeho konkrétní implementace. Dále se práce zabývá novými funkcemi pˇredstavenými s verzí MS Dynamics CRM 2013 a jejich využitím pˇri migraci stávajícího systému a pˇridružených aplikací na novou verzi. V rámci migrace systému na novou verzi se vˇenujeme také plánování celého procesu a identifikaci rizik. Na závˇer práce je pˇredvedena aktualizace nˇekolika aplikací tak, aby byly funkˇcní v nové verzi MS Dynamics CRM.
iii
Klíˇcová slova CRM, Customer Relationship Management, MS Dynamics CRM, migrace
iv
Obsah 1
2
3
4
Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 Co je CRM? . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Cíle práce . . . . . . . . . . . . . . . . . . . . . . . . . . MS Dynamics CRM . . . . . . . . . . . . . . . . . . . . . . 2.1 Pˇredstavení . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Základní pojmy . . . . . . . . . . . . . . . . . . . . . . 2.2.1 Organizace . . . . . . . . . . . . . . . . . . . . 2.2.2 Entita . . . . . . . . . . . . . . . . . . . . . . . ˇ 2.2.3 Rešení . . . . . . . . . . . . . . . . . . . . . . . 2.2.4 Pracovní postup . . . . . . . . . . . . . . . . . 2.2.5 Plugin . . . . . . . . . . . . . . . . . . . . . . . 2.3 Historie . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.1 MS CRM 1.0 . . . . . . . . . . . . . . . . . . . 2.3.2 MS Dynamics CRM 3.0 . . . . . . . . . . . . . 2.3.3 MS Dynamics CRM 4.0 . . . . . . . . . . . . . 2.3.4 MS Dynamics CRM 2011 . . . . . . . . . . . . 2.3.5 MS Dynamics CRM 2013 . . . . . . . . . . . . Stávající rˇešení . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 Popis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1 Proces založení klienta . . . . . . . . . . . . . 3.1.2 Další uživatelské úpravy systému . . . . . . . 3.1.3 Práce s dokumenty . . . . . . . . . . . . . . . . 3.1.4 Komunikace s externími systémy . . . . . . . 3.1.4.1 Import produktu˚ . . . . . . . . . . . . 3.1.4.2 Import stavu portfolií . . . . . . . . . 3.1.4.3 Komunikace s vˇernostním systémem 3.2 Technické rˇ ešení . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Entity . . . . . . . . . . . . . . . . . . . . . . . 3.2.2 Webové prostˇredky . . . . . . . . . . . . . . . 3.2.3 Pluginy . . . . . . . . . . . . . . . . . . . . . . 3.2.4 Webové aplikace . . . . . . . . . . . . . . . . . 3.2.5 Konzolové aplikace . . . . . . . . . . . . . . . 3.2.6 Úpravy na úrovni databáze . . . . . . . . . . . 3.2.7 Rozhraní pro externí aplikace . . . . . . . . . Nové vlastnosti MS Dynamics CRM 2013 . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1 1 3 4 4 5 5 5 6 6 6 7 7 7 8 9 10 11 11 11 12 14 15 15 15 16 16 17 17 17 18 18 19 19 20 v
4.1 Nové uživatelské rozhraní . . . . . . . . . . . . . . . . 4.2 Obchodní pravidla . . . . . . . . . . . . . . . . . . . . . 4.3 Pracovní postup bˇežící v reálném cˇ ase . . . . . . . . . . 4.4 Tok obchodního procesu . . . . . . . . . . . . . . . . . . 5 Migrace na novou verzi CRM . . . . . . . . . . . . . . . . . 5.1 Migrace uživatelských úprav systému . . . . . . . . . . 5.1.1 Formuláˇre . . . . . . . . . . . . . . . . . . . . . . 5.1.2 Webové prostˇredky . . . . . . . . . . . . . . . . 5.1.3 Úpravy na úrovni databáze . . . . . . . . . . . 5.1.4 Konzolové aplikace, webové aplikace a webové služby . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Migrace dat . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.1 Migrace s využitím nové instance databázového a aplikaˇcního serveru . . . . . . . . . . . . 5.2.2 Migrace s využitím stávající instance databázového serveru . . . . . . . . . . . . . . . . . . . 5.2.3 Migrace v rámci puvodního ˚ prostˇredí . . . . . . 5.2.4 Výbˇer vhodné metody migrace . . . . . . . . . 6 Migrace CRM ve spoleˇcnosti ABC . . . . . . . . . . . . . . . 6.1 Plán migrace . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Identifikovaná rizika projektu . . . . . . . . . . . . . . . 7 Praktická cˇ ást . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1 Detekce duplicit . . . . . . . . . . . . . . . . . . . . . . 7.2 Sankˇcní seznam . . . . . . . . . . . . . . . . . . . . . . . 7.3 Aktualizace aktiv a stavu klientu˚ . . . . . . . . . . . . . 8 Závˇer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Literatura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pˇrílohy A Elektronické pˇrílohy . . . . . . . . . . . . . . . . . . . . . . .
20 21 23 26 30 30 30 32 33 34 35 36 37 37 38 40 40 44 48 48 49 50 52 54 57
vi
1 Úvod 1.1
Co je CRM?
Se zkratkou CRM (Customer Relationship Management) jsme se poprvé mohli setkat zhruba v polovinˇe 90. let 20. století [14]. Ve volném ˇ pˇrekladu se jedná o „Rízení vztahu˚ se zákazníky”. Velmi zjednodušenˇe mužeme ˚ CRM definovat jako proces získávání, zpracování a využití informací o zákaznících spoleˇcnosti. Tento proces umožnuje ˇ poznat, pochopit a následnˇe pak i pˇredvídat potˇreby, pˇrání a zvyklosti našich zákazníku. ˚ Jako CRM bývá pˇrenesenˇe oznaˇcován také informaˇcní systém, který je povˇerˇ en vykonáváním tohoto procesu. V kontextu CRM je tedy duležité ˚ rozlišit dva pohledy na CRM. Jeden pohled ukazuje CRM jako podnikatelskou filozofii, zatímco druhý pohled vidí CRM jako soubor technologií a softwaru, které slouží jako podpora pro implementaci a následnou realizaci této filozofie. [6] V této práci budeme oznaˇcení CRM používat pro zmínˇenou technologickou cˇ ást. Poˇrízení CRM systému bylo dˇríve doménou velkých spoleˇcností, které mˇely dostatek finanˇcních prostˇredku˚ pro nákladnou implementaci tˇechto systému. ˚ S rozvojem konkurenˇcního prostˇredí a informaˇcních technologií se však CRM systémy stávají stále dostupnˇejší. V souˇcasné dobˇe si CRM systém stále cˇ astˇeji poˇrizují i stˇrední a malé podniky. CRM v souˇcasné podobˇe již není informaˇcní systém postavený „na zelené louce”, ale modulární aplikace, kterou je možné jednoduše upravovat a rozšiˇrovat dle požadavku˚ zákazníka. Podnik, který se rozhodne pro implementaci CRM systému, musí být dle Pepperse [11] schopen: 1.
Identifikovat své zákazníky.
2.
Jednoznaˇcnˇe rozlišit jednotlivé zákazníky.
3.
Být schopen interakce s nimi.
4.
Pˇrizpusobit ˚ své chování potˇrebám zákazníka.
CRM rozdˇelujeme dle architektury (obrázek 1.1) na cˇ ást operativní a analytickou. 1
1. Ú VOD
Obrázek 1.1: Architektura CRM [13] •
Operativní cˇ ást architektury CRM je zamˇerˇ ena na automatizaci a rˇ ízení základních podnikových procesu, ˚ která se týkají marketingu, obchodu a servisních cˇ inností. Jejím primárním úˇcelem je zajištˇení maximální možné efektivnosti již existujících procesu. ˚ [4]
•
V analytické cˇ ásti se využívají data týkající se zákazníku˚ a data získaná sledováním procesu˚ v operativní cˇ ásti CRM. Používají se zde aplikace Business Intelligence (dále jen BI)1 pro
1. BI aplikace poskytují ruzné ˚ pohledy na získaná data, která jsou nejˇcastˇeji uložená v datovém skladu (Data Warehouse).
2
1. Ú VOD práci se získanými daty za úˇcelem lepšího porozumˇení zákazníkum. ˚ [4]
1.2
Cíle práce
Cílem této práce je zmapovat rozsah funkcionality a uživatelských úprav v reálné instanci systému MS Dynamics CRM 2011, popsat zmˇeny a novinky pˇredstavené s verzí MS Dynamics CRM 2013 a navrhnout postup migrace na novou verzi. V cˇ ásti vˇenující se migraci na novou verzi systému se vˇenujeme pˇrevodu uživatelských zmˇen ze souˇcasného systému i výbˇeru nejvhodnˇejšího z podporovaných postupu˚ pro migraci stávajících dat. V závˇeru práce se zabýváme také analýzou rizik spojených s migrací systému a možnostmi jejich eliminace. Podkladem pro zpracování této práce byl reálný systém spoleˇcnosti pusobící ˚ v oblasti financí. Vzhledem k této citlivé oblasti nebudeme zveˇrejnovat ˇ jméno spoleˇcnosti, ale budeme ji dále nazývat „ABC”. Praktická cˇ ást této práce se vˇenuje pˇrevodu tˇrí reálných aplikací, které jsou v souˇcasné dobˇe ve spoleˇcnosti ABC používány v rˇ ešení založeném na systému MS Dynamics CRM 2011. Konkrétnˇe se jedná o doplnˇení funkce pro detekci vkládání duplicitních záznamu. ˚ Ve stávající verzi (MS Dynamics CRM 2011) se jedná o standardní soucˇ ást systému, která byla v nové verzi odstranˇena. Dále se jedná o aplikace pro import seznamu sankcionovaných osob, následnou kontrolu záznamu˚ v CRM proti tomuto seznamu a aplikaci pro pravidelný pˇrepoˇcet stavu aktiv u klientu˚ v CRM.
3
2 MS Dynamics CRM 2.1
Pˇredstavení
MS Dynamics CRM je implementace CRM systému vyvíjená spoleˇcností Microsoft. Samotná aplikace se zamˇerˇ uje primárnˇe na oblasti prodeje, marketingu a podpory zákazníku˚ (helpdesk). Zhruba od roku 2009 se však samotný Microsoft snaží produkt MS Dynamics CRM propagovat jako XRM platformu (význam této zkratky je vysvˇetlen dále v této kapitole), kterou je možné s pomocí partneru˚ rozšiˇrovat tak, aby splnovala ˇ požadavky zákazníku˚ z ruzných ˚ odvˇetví cˇ innosti. Definic pro zkratku XRM existuje nˇekolik, ale nejpoužívanˇejší jsou tyto dvˇe: [8] •
Podle první definice je písmeno „X” zkratkou pro „extended”. Celý význam zkratky je potom „extended relationship management”, volnˇe pˇreloženo jako rozšíˇrené rˇ ízení vztahu. ˚
•
Druhá definice definuje „X” jako promˇennou. Zkratka tedy znamená „anything relationship management”, což mužeme ˚ volnˇe pˇreložit jako rˇ ízení libovolných vztahu. ˚
Oba tyto významy však odkazují na možnost vystavˇet nad platformou MS Dynamics CRM de-facto libovolnou aplikaci. Vytvoˇrení takové XRM aplikace muže ˚ probíhat formou úprav funkcionalit, které jsou standardní souˇcástí systému, nebo navržením zcela nové aplikace, která nevyužívá integrované nástroje pro obchod, podporu nebo marketing. Tato nová aplikace má však stále možnost využívat všech možností platformy MS Dynamics CRM. Celá tato platforma je založena výhradnˇe na vlastních technologiích a produktech spoleˇcnosti Microsoft jako napˇr. MS Windows Server, MS SQL Server, MS Exchange Server, .NET Framework1 atd. MS Dynamics CRM je aplikace s architekturou klient-server. Ser1. .NET je zastˇrešující název pro soubor technologií v softwarových produktech, které tvoˇrí celou platformu. Základem této platformy je Microsoft .NET Framework.
4
2. MS D YNAMICS CRM verová cˇ ást bˇeží primárnˇe na IIS2 . Soubˇežnˇe s klientským rozhraním zde bˇeží také webové služby, které slouží pro komunikaci s dalšími systémy. Klienti pˇristupují k CRM systému pomocí bˇežného webového prohlížeˇce nebo s využitím tzv. tlustého klienta - rozšiˇrujícího modulu pro Microsoft Outlook. Od uvedení MS Dynamics CRM 2011 Update Rollup 12 jsou mezi podporovanými prohlížeˇci kromˇe Internet Exploreru také Mozilla Firefox, Google Chrome a Apple Safari.
2.2
Základní pojmy
V této sekci si pˇredstavíme nˇekolik pojmu˚ z terminologie MS Dynamics CRM. Tyto pojmy budeme dále využívat v dalších kapitolách a proto je duležité ˚ správnˇe pochopit jejich význam v této doménˇe, aby nedocházelo k jejich nesprávné interpretaci. 2.2.1
Organizace
Organizaci lze definovat jako instanci CRM, která je nezávislá na okolním prostˇredí a využívá služeb MS CRM serveru, v rámci kterého bˇeží. Na jednom fyzickém CRM serveru lze provozovat nˇekolik organizací zároven. ˇ Pˇresný poˇcet organizací provozovaných v rámci jednoho MS CRM serveru je závislý na typu použité licence. 2.2.2
Entita
Entitou v kontextu MS CRM rozumíme množinu dat, která se vztahují ke konkrétnímu objektu reálného svˇeta. Pˇríkladem entit je napˇr. „Kontakt”, „Klient” nebo „Obchodní pˇríležitost”. Každá entita sestává z atributu˚ pro ukládání informací o konkrétním objektu. Dále se pro entitu definují pohledy na data - formuláˇre a tzv. zobrazení. Formuláˇr slouží pro prohlížení a editaci jednoho konkrétního záznamu, zobrazení je použito pˇri prohlížení více záznamu. ˚ 2. Internet Information Services nebo také Internet Information Server je softwarový webový server s kolekcí rozšiˇrujících modulu, ˚ vytvoˇrený spoleˇcností Microsoft pro operaˇcní systém Windows.
5
2. MS D YNAMICS CRM 2.2.3
ˇ Rešení
Koncept tzv. rˇ ešení byl do MS CRM pˇridán z duvodu ˚ snadnˇejšího pˇrizpusobení ˚ systému a možnosti následného šíˇrení tˇechto úprav. ˇ Rešení obsahuje všechny úpravy systému, tj. novˇe vytvoˇrené entity, pˇridané atributy, webové prostˇredky, role zabezpeˇcení atd. Vytvoˇrené rˇ ešení lze vyexportovat a následnˇe importovat do dalších systému. ˚ Tohoto lze využít pro vývoj rˇ ešení, kdy není nutný stálý pˇrístup ke klientskému prostˇredí. Pˇrípadnˇe pro prubˇ ˚ ežný vývoj již existujícího systému, kdy se úpravy provádí nejdˇríve na testovacím prostˇredí a následnˇe po otestování a odsouhlasení se jednoduše pˇrenáší do produkˇcního prostˇredí. 2.2.4
Pracovní postup
Jako pracovní postup je v terminologii MS Dynamics CRM oznaˇcován jeden z typu˚ procesu. ˚ Pracovní postup je obecnˇe sekvence vzájemnˇe navazujících funkcí cˇ i metod oznaˇcovaných jako kroky. Poˇradí provádˇení jednotlivých kroku˚ mužeme ˚ pozmˇenit s využitím podmínek, resp. podmínkových vˇetví. V prostˇredí MS Dynamics CRM je nutné pˇrihlédnout k faktu, že standardní pracovní postupy jsou spouštˇeny asynchronnˇe. Jako prostˇredí pro bˇeh pracovních postupu˚ slouží Windows služba3 s názvem „Microsoft Dynamics CRM Asynchronous Processing Service”. [16] 2.2.5
Plugin
Plugin je oznaˇcení pro .NET assembly4 , která se využívá pro zachycení událostí generovaných MS Dynamics CRM. Na základˇe tˇechto událostí se plugin vyvolá a provede akci, kterou implementuje. Pluginy muže ˚ vytváˇret každý vývojáˇr ovládající prostˇredí .NET, potažmo MS Dynamics CRM. 3. Windows služby, dˇríve známé jako NT služby, jsou zvláštním druhem aplikací, které umožnují ˇ dlouhodobý bˇeh aplikací ve svém vlastním kontextu bez závislosti na uživateli a interakce s ním. 4. Assembly je logickou kolekcí, stávající se z jednoho nebo více .exe, .dll nebo .module souboru a zdroju˚ doplnˇených o tzv. manifest - blok metadat s informacemi o této kolekci.
6
2. MS D YNAMICS CRM
2.3
Historie
2.3.1
MS CRM 1.0
První verze CRM rˇ ešení od spoleˇcnosti Microsoft, oficiálnˇe pojmenovaná „Microsoft Business Solutions Customer Relationship Management 1.0” (dále MS CRM 1.0), byla pˇredstavena v lednu 2003. Verze MS CRM 1.0 byla z velké cˇ ásti založena na puvodním ˚ rˇ ešení iCommunicate.NET od spoleˇcnosti iCommunicate, kterou v roce 2001 Microsoft odkoupil. Uživatelské rozhraní (UI) MS CRM 1.0 (obrázek 2.3.1) bylo pouze drobnou logickou evolucí puvodního ˚ UI systému iCommunicate.NET. V této verzi nebyly podporovány žádné pokroˇcilé uživatelské úpravy, napˇr. pˇridávání vlastních entit.
Obrázek 2.1: Uživatelské rozhraní Microsoft Business Solutions Customer Relationship Management 1.0 [10]
2.3.2
MS Dynamics CRM 3.0
Systém Microsoft CRM 2.0 (nˇekdy také oznaˇcován jako Microsoft CRM 2005) nebyl, po nˇekolika odkladech, vubec ˚ pˇredstaven. Jako druhá v poˇradí proto byla na konci roku 2005 pˇredstavena verze „Microsoft Dynamics CRM 3.0” (dále jen MS CRM 3.0). Od verze MS CRM 3.0 se v názvu produktu˚ objevuje znaˇcka „Dynamics”, kterou 7
2. MS D YNAMICS CRM spoleˇcnost Microsoft zavedla jako prvek sjednocující ERP5 a CRM produkty [2]. S touto verzí bylo pˇredstaveno prostˇredí, které imituje Microsoft Outlook a sjednocuje vˇetšinu prvku˚ do levého navigaˇcního menu (obrázek 2.3.2). Další výraznou zmˇenou je podpora uživatelských úprav systému, zejména vytváˇrení nových entit a definice relací mezi existujícími entitami.
Obrázek 2.2: Uživatelské rozhraní MS Dynamics CRM 3.0 [12] 2.3.3
MS Dynamics CRM 4.0
V prosinci 2007 pˇredstavená verze „Microsoft Dynamics CRM 4.0” (dále jen MS CRM 4.0) pˇrinesla podstatná vylepšení, která ale nebyla viditelná na první pohled. Jedná se o první verzi MS CRM, která podporuje více než jednu organizaci na bˇežící souˇcasnˇe na jedné fyzické instanci systému. V praxi tedy napˇr. muže ˚ jedna fyzická instance MS CRM 4.0 sloužit poboˇckám spoleˇcnosti po celém svˇetˇe (obrázek 2.3). Duležitou ˚ novinkou je také podpora více jazyku˚ a více mˇen. Od uve5.
Enterprise Resource Planning
8
2. MS D YNAMICS CRM dení této verze si každý uživatel systému muže ˚ zvolit vlastní jazykovou mutaci CRM. V pˇredchozích verzích museli všichni uživatelé systém používat ve stejném jazyce.
Obrázek 2.3: Více instancí v rámci MS Dynamics CRM 4.0 [1]
2.3.4
MS Dynamics CRM 2011
Verze MS Dynamics CRM 2011 opˇet pˇrinesla viditelnou zmˇenu uživatelského rozhraní. U všech entit byl pˇridán tzv. ribbon6 , který byl spoleˇcností Microsoft poprvé použit v Office 2007. Základní koncepce UI je však stejná jako u MS CRM 3.0. V této verzi byla také pˇridána podpora grafu˚ a tzv. „dashboardu” ˚ 7 . Díky tˇemto nástrojum ˚ je možné sledovat vizualizace dat bez nutnosti generování reportu˚ nebo tvorby tˇechto grafu˚ v Excelu. (Obrázek 1.4).
6. Ribbon, nazývaný též pás karet, je ovládací prvek uživatelského rozhraní vyvinutý a patentovaný spoleˇcností Microsoft. 7. Dashboard jednoduché rozhraní, které obsahuje grafickou prezentaci aktuálního stavu a historických trendu˚ vývoje klíˇcových ukazatelu˚ výkonnosti spoleˇcnosti.
9
2. MS D YNAMICS CRM
Obrázek 2.4: Uživatelské rozhraní MS Dynamics CRM 2011 2.3.5
MS Dynamics CRM 2013
MS Dynamics CRM v aktuální verzi 2013 doznal podstatných zmˇen uživatelského rozhraní. Vzhledem k rostoucímu rozšíˇrení chytrých telefonu, ˚ tabletu˚ a obecnˇe zaˇrízení, která lze ovládat dotykem, se spoleˇcnost Microsoft rozhodla opustit koncept používaný od roku 2006 a vytvoˇrit moderní rozhraní, které bude fungovat stejnˇe na ruzných ˚ platformách. Výsledkem je nové uživatelské rozhraní, které je možné ovládat klasicky pomocí klávesnice a myši, zárovenˇ je ale použitelné také na mobilních zaˇrízeních.
10
3 Stávající rˇešení 3.1
Popis
Informaˇcní systém MS Dynamics CRM 2011 se ve spoleˇcnosti ABC využívá jako centrální systém, který shromažd’uje informace z ostatních bankovních systému˚ a díky tomu poskytuje souhrnný pˇrehled o klientech. Každý uživatel CRM má v závislosti na své uživatelské roli pˇrístup k informacím o klientech. V CRM systému jsou evidovány komplexní informace - ke každému klientovi jsou pˇrístupné jeho kontaktní informace, dále také jeho produkty, uzavˇrené smlouvy vˇcetnˇe napojení na systém pro správu dokumentu˚ (Document Management System, dále jen DMS). Samozˇrejmou souˇcástí CRM je evidence komunikace a aktivit s klientem jako jsou e-maily, telefonní hovory, schuzky ˚ a požadavky. V této kapitole si zbˇežnˇe pˇredstavíme životní cyklus klienta od jeho založení v CRM až po jeho pˇrechod do neaktivního stavu. Následnˇe se budeme vˇenovat propojení CRM s externími systémy a také si pˇriblížíme technické rˇ ešení jednotlivých souˇcástí CRM, které byly do systému pˇridány nad rámec standardních funkcí. 3.1.1
Proces založení klienta
CRM systém má rovnˇež nezastupitelnou roli v procesu zadávání nových klientu. ˚ Údaje o novém klientovi jsou pracovníky manuálnˇe zadány pouze jednou do CRM. Po tomto manuální zadání klienta následuje proces schvalování klienta. Tento proces sestává z kontroly proti seznamu sankcionovaných osob (sankˇcnímu seznamu)1 , ovˇerˇ ení nového klienta oddˇelením AML (Anti-money laundering). Toto oddˇelení vyhodnocuje, zda nedochází k legalizaci finanˇcních prostˇredku˚ pocházejících z trestné cˇ innosti, takzvanému „praní špinavých penˇez”. Pokud nový klient úspˇešnˇe projde tˇemito kontrolami, je odeslán ke schválení. Podle parametru˚ klienta probˇehne toto schvalování automaticky 1. Seznam sankcionovaných osob je jedním z nástroju˚ pro aplikaci opatˇrení proti financování terorismu. Jedná se o seznam subjektu, ˚ kterým mj. nesmí být poskytovány finanˇcní služby.
11
ˇ 3. S TÁVAJÍCÍ REŠENÍ
Obrázek 3.1: Znázornˇení procesu založení nového klienta v CRM. nebo se odešle upozornˇení na pˇríslušné schvalovatele, kteˇrí klienta schválí nebo si vyžádají další potˇrebné informace. Po úspˇešném schválení je s klientem možné uzavˇrít smlouvu a pˇrenést jeho data do pˇríslušných bankovních informaˇcních systému. ˚ Bˇehem schvalování je klientovi také vygenerován jednoznaˇcný identifikátor, který slouží pro identifikaci v externích systémech. 3.1.2
Další uživatelské úpravy systému
Životní cyklus klienta zaˇcíná založením a schválením klienta v CRM systému, které je blíže popsáno v pˇredchozí kapitole. Jakmile je klient schválen, je zapotˇrebí jej pˇrenést do tzv. bankovního informaˇcního systému (dále jen BIS), který zpracovává informace o klientech a jejich produktech. Pokud klient není evidován v BIS, tak mu není možné založit žádný produkt. Pro tyto úˇcely byla vytvoˇrena aplikace, která slouží jako pruvodce ˚ pro uživatele CRM a zárovenˇ zajišt’uje integritu pˇrenášených dat nekompletnˇe vyplnˇeného klienta nepovolí exportovat. Po úspˇešném pˇrenosu do BIS se zpˇet do CRM pˇredává identifikátor klienta v BIS. Klient v tomto stavu se nazývá aktivní. Uživatelé CRM mají u 12
ˇ 3. S TÁVAJÍCÍ REŠENÍ
tˇechto klientu˚ v rámci systému pˇrehled o jejich produktech, investicích a pˇrípadnˇe benefitních bodech (viz níže v této kapitole). Pokud dojde k nˇejaké výrazné zmˇenˇe v údajích u klienta, je tento záznam o klientovi odeslán na tzv. pˇreschvalování. V rámci pˇreschvalování jde pˇrevážnˇe o kontrolu, zda nové údaje souhlasí a klient i nadále splnuje ˇ všechny požadavky. Proces nabízení nových služeb U každého (aktivního) klienta je v CRM podporován také proces nabízení nových služeb (dále jen SELL proces). Nabídku a následný prodej nových služeb lze rozdˇelit na tˇri kategorie: •
Up-sell, v pˇrekladu navyšovací prodej. Jedná se o aktivitu, která má za cíl zvýšit celkový objem služeb formou prodeje pokroˇcilejších verzí produktu˚ cˇ i služeb.
•
Down-sell, což je pˇresný opak pˇredcházejícího. Úˇcelem downsellu je naopak snaha o snížení objemu poskytovaných služeb. V praxi se ale pˇríliš nevyužívá.
•
Cross-sell, volnˇe pˇreloženo doplnkový ˇ prodej. Jako cross-selling se oznaˇcují aktivity, které mají za úˇcel navýšit celkovou objednávku doporuˇcením souvisejícího zboží.
CRM systém poskytuje jeho uživatelum ˚ nástroje pro realizaci a následnou evidenci celého procesu od vytvoˇrení marketingové kampanˇe, pˇres plánování aktivit až po evidenci úspˇešnosti tohoto procesu na konkrétním klientovi. Evidence požadavku˚ Spoleˇcnost ABC využívá CRM také pro evidenci požadavku˚ a dotazu˚ od klientu. ˚ Tyto požadavky mohou být do CRM vloženy ruz˚ nými zpusoby, ˚ napˇr. manuálnˇe pracovníkem klientského centra, elektronicky prostˇrednictvím klientské aplikace atd. Po zadání nového požadavku a po jeho uložení je o této skuteˇcnosti informován zodpovˇedný pracovník, který konkrétní požadavek rˇ eší. Dle typu požadavku je klient notifikován e-mailem cˇ i SMS zprávou, pˇrípadnˇe je vytvoˇrena aktivita nˇekterému z pracovníku˚ klientského centra. 13
ˇ 3. S TÁVAJÍCÍ REŠENÍ
Schvalování výjimek Každý klient muže ˚ zažádat o výjimku z pravidel u produktu, ˚ které využívá. Tyto výjimky musí projít schvalovacím procesem podle typu výjimky a dalších parametru. ˚ Pro zjednodušení procesu a lepší pˇrehled o schválených výjimkách byl tento proces také implementován v CRM systému. Po zadání výjimky a doplnˇení potˇrebných údaju˚ je vytvoˇrena žádost o schválení pro pˇríslušné uživatele CRM, kteˇrí se musí ke konkrétní výjimce vyjádˇrit (schválit nebo zamítnout). Jedná se o podobný proces jako je schvalování klientu˚ zmínˇené v sekci 3.1.1. Investiˇcní dotazník Pokud má klient zájem o investování do cenných papíru, ˚ musí vyplnit tzv. investiˇcní dotazník. Po jeho vyhodnocení jsou klientovi doporuˇceny vhodné produkty, do kterých muže ˚ investovat. Po vyplnˇení investiˇcního dotazníku v klientské aplikaci jsou tato data pˇrenesena do CRM, kde probˇehne jejich vyhodnocení a uložení. Pokud je zadaný investiˇcní dotazník v poˇrádku, klient e-mailem obdrží jeho vyhodnocení, kde vidí pro nˇej dostupné produkty. Investiˇcních dotazníku˚ muže ˚ být v prubˇ ˚ ehu cˇ asu v CRM evidováno více, ale platný je pouze jeden - ten, který byl vyplnˇen nejpozdˇeji. 3.1.3
Práce s dokumenty
Z prostˇredí CRM mají uživatelé systému rovnˇež pˇrístup k dokumentum, ˚ které mají návaznost na konkrétního klienta. Tyto dokumenty jsou uloženy v DMS na platformˇe MS Share Point. Z CRM je možné dokumenty také vytváˇret, což se využívá pˇrevážnˇe pro generování smluvní dokumentace a personalizované korespondence jako jsou napˇr. pruvodní ˚ dopisy. Díky propojení CRM s DMS uživatelé rovnˇež nemusí procházet dokumenty v papírové podobˇe, veškerá práce s dokumenty je možná v digitální podobˇe. Originály dokumentu˚ jsou uloženy v archivu odkud jsou dodány na vyžádání ve zvláštních pˇrípadech. Pro úˇcely evidence dokumentu˚ a jejich následnou digitalizaci byly 14
ˇ 3. S TÁVAJÍCÍ REŠENÍ
do CRM pˇridány funkce, které se starají o generování a tisk cˇ árových kódu. ˚ V pˇrípadˇe smluvní dokumentace generované z CRM, resp. DMS, je cˇ árový kód nedílnou souˇcástí každého dokumentu. V pˇrípadˇe, že se jedná o dokumenty nepocházející z CRM systému, je možné vytisknout si štítek s cˇ árovým kódem, kterým se konkrétní dokument oznaˇcí. Následnˇe pˇri skenování dokumentu je cˇ árový kód rozpoznán, v CRM se dohledá záznam, ke kterému tento dokument náleží, a nakonec se uloží na patˇriˇcné místo v DMS. 3.1.4
Komunikace s externími systémy
3.1.4.1 Import produktu˚ Import produktu˚ z BIS do CRM se provádí pravidelnˇe každou noc. Data o produktech, která vidí uživatelé v CRM tedy nejsou aktuální, ale reflektují stav z pˇredchozího dne. Jedná se o omezení dané protistranou (BIS), která informace o produktech poskytuje. Data jsou poskytována ve formˇe XML souboru, který obsahuje informace o aktuálním stavu všech produktu. ˚ Toto XML je zpracováno importní aplikací. Jedná se o konzolovou aplikaci, která je periodicky spouštˇena pomocí plánovaˇce úloh systému Microsoft Windows. Z duvodu ˚ rychlosti aplikace zpracovává XML soubor paralelnˇe ve více vláknech a pro komunikaci s CRM využívá webových služeb a z výkonnostních duvod ˚ u˚ i pˇrímé cˇ tení databáze. Jelikož importní soubor obsahuje informace o všech produktech, je tudíž nutné pro každou položku v XML ovˇerˇ it, zda konkrétní produkt již v CRM existuje a pˇrípadnˇe, jestli nedošlo k jeho zmˇenˇe. Na základˇe této kontroly se stávající záznam aktualizuje, resp. vytvoˇrí se nový. 3.1.4.2 Import stavu portfolií Podobnˇe jako import produktu˚ z BIS se periodicky provádí také import portfolií resp. cenných papíru. ˚ I v tomto pˇrípadˇe jsou v CRM vidˇet pouze data z pˇredchozího dne, což je ale pro obecný pˇrehled dostaˇcující. Zdroje dat pro import jsou celkem dva - SQL databáze a webová 15
ˇ 3. S TÁVAJÍCÍ REŠENÍ
služba. Importní aplikace je spouštˇena pravidelnˇe plánovaˇcem úloh systému Microsoft Windows. I v tomto importu se využívá paralelního zpracování dat. V pˇrípadˇe importu cenných papíru˚ obdrží CRM pouze aktuální stav. Z tohoto duvodu ˚ je nutné vždy pˇred importem data smazat a importovat data nová, protože není možné jednoduše zjistit k jakým zmˇenám v prubˇ ˚ ehu dne došlo. 3.1.4.3 Komunikace s vˇernostním systémem MS Dynamics CRM slouží ve spoleˇcnosti ABC také jako systém pro poˇcítání benefitních bodu, ˚ které jsou klientum ˚ pˇridˇelovány na základˇe otevˇrených produktu˚ nebo také manuálnˇe, napˇr. v pˇrípadˇe mimoˇrádného pˇripsání bodu. ˚ Benefitní body jsou tedy uloženy v CRM, kde je pravidelnˇe kontroluje další naplánovaná úloha, která v pˇrípadˇe definovaných podmínek tyto konkrétní body odešle do vˇernostního systému. Obdobnˇe se také zpˇet do CRM stahují informace o ostatních pohybech na každém z benefitních úˇctu. ˚ Uživatelé CRM systému mají tedy u klienta de-facto na jednom místˇe kompletní pˇrehled o jeho produktech, investicích a benefitních bodech. Benefitní systém je provozován mimo spoleˇcnost ABC a komunikace probíhá pomocí webových služeb.
3.2
Technické rˇešení
Stávající rˇ ešení založené na CRM 2011 obsahuje rˇ adu uživatelských úprav a rozšíˇrení nad rámec standardnˇe dodávaného systému. Tyto úpravy mužeme ˚ rozdˇelit do následujících kategorií. •
Úpravy entit
•
Pluginy
•
Webové aplikace
•
Konzolové aplikace
•
Úpravy na úrovni databáze (triggery, uložené procedury) 16
ˇ 3. S TÁVAJÍCÍ REŠENÍ
3.2.1
Entity
Úpravy entit, at’ již systémových nebo uživatelsky pˇridaných, jsou standardní souˇcástí organizace, která se pˇri migraci automaticky pˇrevede do nové verze systému. Každá entita obsahuje, mimo jiné, definici atributu˚ a rozložení formuláˇru. ˚ Z hlediska nových vlastností verze MS Dynamics CRM 2013 je v podmnožinˇe úprav systému podstatná hlavnˇe definice vzhledu uživatelských formuláˇru˚ a jejich rozložení. 3.2.2
Webové prostˇredky
Webové prostˇredky obsahují obrázky a skripty, které souvisí s uživatelskými úpravami v rˇ ešení. Jedná se hlavnˇe o JavaScript, který slouží pro implementaci dynamických pravidel na uživatelských formuláˇrích. JavaScript se používá na uživatelském formuláˇri pro doplnˇení funkcí, které není možné realizovat s pomocí standardních systémových nástroju. ˚ 3.2.3
Pluginy
Pluginem rozumíme kód implementující urˇcitou obchodní logiku (business logic), který je možno integrovat s MS Dynamics CRM a tímto modifikovat nebo rozšíˇrit standardní chování této platformy. Jedná se vlastnˇe o obslužnou rutinu (handler), která reaguje na akce vyvolané CRM. Pluginu˚ se využívá pro ruzné ˚ akce, které se mají provádˇet až po vytvoˇrení nebo modifikaci záznamu a z tohoto duvodu ˚ není možné použít JavaScript pˇrímo na formuláˇri. S pomocí pluginu˚ jsou dále cˇ asto rˇ ešeny procesy, které nemohou být realizovány pomocí pracovních procesu. ˚ Je to hlavnˇe z toho du˚ vodu, že proces musí být proveden synchronnˇe s uživatelskou akcí v systému nebo je nutná nˇejaká interakce s uživatelem. Interakcí s uživatelem rozumíme spíše informování o výsledku procesu/pluginu. V pˇrípadˇe úspˇešného bˇehu je to vˇetšinou doplnˇení pluginem vypoˇctených hodnot. Pˇri chybˇe procesu je to zobrazení chybového hlášení a pˇrípadnˇe zabránˇení uložení tˇechto dat, které by mˇelo za následek porušení integrity dat v CRM. 17
ˇ 3. S TÁVAJÍCÍ REŠENÍ
3.2.4
Webové aplikace
Další kategorií jsou webové aplikace, což jsou samostatné aplikace, které se vyvolají uživatelskou akcí pˇrímo z prostˇredí CRM (nejˇcastˇeji kliknutím na tlaˇcítko v navigaˇcní lištˇe). Jako webové aplikace jsou rˇ ešeny cˇ innosti, které lze vykonávat nad již existujícími záznamy a zárovenˇ není možné využít pluginu. ˚ Nejˇcastˇeji se jedná o schvalování klientu, ˚ pˇrenos záznamu˚ do externích systému˚ a podobnˇe. Obecnˇe se jedná o akce, které není žádoucí spouštˇet pˇri každé modifikaci záznamu nebo je v procesu nutná interakce uživatele. Tyto webové aplikace komunikují s CRM standardní cestou pomocí webových služeb, které MS Dynamics CRM poskytuje. Formu webových aplikací mají napˇríklad tyto rozšíˇrené funkce MS Dynamics CRM implementované ve spoleˇcnosti ABC: •
Tisk cˇ árových kódu˚ a adresních štítku. ˚
•
Schvalování klientu. ˚
•
Pˇrenos klienta do BIS.
•
ˇ C ˇ u klienta. Zmˇena IC/R
3.2.5
Konzolové aplikace
Formou konzolových aplikací jsou realizovány pˇredevším aplikace, které se spouští periodicky bez zásahu uživatelu. ˚ Komunikace s CRM probíhá opˇet prostˇrednictvím webových služeb CRM, ale v nˇekterých pˇrípadech se pˇristupuje pˇrímo do databáze. Pˇrímý pˇrístup (pro cˇ tení) do databáze je používán z výkonnostních duvod ˚ u. ˚ Pˇríkladem konzolových aplikací jsou napˇríklad importy produktu˚ a portfolií popsané v pˇredchozí cˇ ásti této kapitoly. Jako konzolové aplikace jsou vytvoˇreny také ruzné ˚ notifikace, které se spouští v urcˇ itý cˇ as. Tyto aplikace po spuštˇení vyberou z CRM množinu záznamu˚ podle definovaných pravidel a následnˇe pro každý záznam z této množiny vygenerují a odešlou e-mail nebo nad tímto záznamem spustí pracovní postup. 18
ˇ 3. S TÁVAJÍCÍ REŠENÍ
3.2.6
Úpravy na úrovni databáze
Úpravy na úrovni databáze, tj. uložené procedury, triggery2 , omezení (constranints) a podobnˇe, rˇ eší problémy, které nelze vyˇrešit standardními funkcemi MS Dynamics CRM (pluginy nebo pracovní postupy). Takových situací je ale velmi málo a obecnˇe by se se tyto nepodporované úpravy nemˇely pro práci s daty využívat, protože není zaruˇcena jejich funkˇcnost. Mimo jiné mohou nastat napˇríklad problémy s bezpeˇcnostními aktualizacemi. V rámci implementace CRM systému ve spoleˇcnosti ABC se takováto úprava na databázové úrovni pˇresto objevila pˇri generování cˇ árových kódu. ˚ Pˇri generování cˇ árových kódu˚ musí být zajištˇena jedineˇcnost každého z vygenerovaných kódu. ˚ Použití pluginu˚ se v tomto pˇrípadˇe ukázalo jako nespolehlivé, a proto se vytvoˇril trigger, který slouží pro generování cˇ íselné rˇ ady. Tento trigger využívá vlastnosti „IDENTITY”, což je standardní funkce MS SQL Serveru od verze 2000. Tímto je jednoduše vyˇrešen problém s rychlým generováním jednoznaˇcných cˇ árových kódu, ˚ které jsou dále využívány v CRM i DMS. 3.2.7
Rozhraní pro externí aplikace
Pro komunikaci s vybranými externími systémy, které pˇristupují k datum ˚ v CRM, jsou k tomuto úˇcelu vytvoˇreny webové služby. Jedná se vˇetšinou o relativnˇe jednoduché aplikace, které pouze provádí transformaci dat a s vlastním CRM dále komunikují prostˇrednictvím webových služeb standardnˇe poskytovaných CRM. Duvod ˚ implementace tohoto, na první pohled možná zbyteˇcného, „mezistupnˇe” je bezpeˇcnostní hledisko. Pokud by externí systémy pˇristupovaly pˇrímo ke službám poskytovaným CRM, tak by potenciálnˇe mˇely pˇrístup ke všem datum ˚ v CRM.
2. V kontextu databází trigger definuje cˇ innosti, které se nad konkrétní tabulkou provedou v pˇrípadˇe definované události. Definovanou událostí muže ˚ být vložení, aktualizace nebo smazání záznamu.
19
4 Nové vlastnosti MS Dynamics CRM 2013 Jak již bylo rˇ eˇceno v druhé kapitole, nejviditelnˇejší zmˇeny se v MS Dynamics CRM 2013 udály v oblasti uživatelského rozhraní. Jednotlivé novinky si blíže pˇredstavíme v této kapitole.
4.1
Nové uživatelské rozhraní
Nejvýraznˇejší a na první pohled viditelnou zmˇenou je nové uživatelské rozhraní nˇekdy oznaˇcované jako „Flow UI” nebo „Process Based Flow UI”. Vˇetšina zmˇen v uživatelském rozhraní byla provedena z duvodu ˚ zlepšení uživatelské zkušenosti (User Experience, dále jen UX) se systémem a pro snížení poˇctu kliknutí myší uživatele pˇri interakci se systémem. Zapracováno bylo také na eliminaci novˇe otevíraných oken a celkovˇe „plošší” UX. Toto „ploché uživatelské rozhraní” je také základem pro posun od webové aplikace, která je ale úzce zamˇerˇ ená na platformu Windows resp. Internet Explorer, k multiplatformnímu systému. Díky tomu již uživatelé nejsou pˇri práci se systémem úzce omezeni je na PC/Windows platformu, ale mohou systém využívat napˇríˇc širokým spektrem zaˇrízení od chytrých telefonu˚ a tabletu˚ po pˇrenosné a stolní poˇcítaˇce. Souˇcástí zmˇen vzhledu uživatelského rozhraní bylo odstranˇení levého navigaˇcního menu, které bylo hlavním navigaˇcním prvkem de-facto již od první verze systému. Toto menu je v aktuální verzi nahrazeno „dlaždicovým” navigaˇcním panelem v horní cˇ ásti obrazovky. Tento panel se automaticky skrývá, aby nezabíral místo na obrazovce v dobˇe, kdy s ním uživatel nepracuje. Když uživatel vybere položku z navigaˇcního menu, tak se vybraný záznam zobrazí ve stejném oknˇe. Nedochází k otevírání nových oken cˇ í záložek, jak bylo zvykem v pˇredchozích verzích. V navigaˇcním panelu se postupnˇe zobrazuje tzv. drobeˇcková navigace1 . Pˇríklad tohoto navigaˇcního panelu s drobeˇckovou navigací je na obrázku (4.1), kde jsme v sekci „PRODEJ”, máme vybránu entitu 1. Drobeˇcková navigace je textovou reprezentací informace, kde na webové stránce se daná informace nachází a umožnuje ˇ uživateli postupný pˇrechod do nadrˇ azených kategorií[7].
20
4. N OVÉ VLASTNOSTI MS D YNAMICS CRM 2013 „Kontakty” a zobrazen záznam „Veselý, Martin”.
Obrázek 4.1: Detail navigaˇcního panelu v MS Dynamics CRM 2013. Na obrázku 4.1 mužeme ˚ rovnˇež vidˇet nový pˇríkazový panel, který nahrazuje pás karet (ribbon) použitý v CRM 2011. V novém panelu se zobrazují pouze nejˇcastˇeji používané operace. Ostatní jsou dostupné pod tlaˇcítkem „Další pˇríkazy” s ikonou v podobˇe výpustky. Z pˇríkazového panelu byly u existujících záznamu˚ odstranˇeny také ikony pro uložení. Tato funkcionalita byla nahrazena automatickým ukládáním zmˇen. Zmˇenˇené údaje se u existujících záznamu˚ ukládají každých 30 sekund. Novinkou je také, že formuláˇre využívají tzv. responzivního designu. Responzivní design spoˇcívá v tom, že jednotlivé prvky formuláˇre mˇení svoji velikost a pozici v závislosti na zmˇenˇe velikosti okna prohlížeˇce. Díky této technice je optimalizace pro mobilní zaˇrízení mnohem jednodušší než v pˇrípadˇe fixního designu aplikace, který byl používán v pˇredchozích verzích MS Dynamics CRM.
4.2
Obchodní pravidla
Obchodní pravidla (Business Rules) jsou vlastností pˇredstavenou spoleˇcnˇe s MS Dynamics CRM 2013. Pomocí obchodních pravidel je možné vytváˇret vlastní logiku na uživatelských formuláˇrích. Dosud bylo možné vytváˇret vlastní logiku formuláˇru˚ pouze pomocí JavaScriptu. Obchodní pravidla ale pˇrinášejí jednoduché rozhraní pomocí kterého lze vytváˇret a spravovat vlastní pravidla, které lze aplikovat na klasické formuláˇre i formuláˇre pro rychlé založení záznamu a to jak v klasické webové aplikaci, tak i v rozhraní pro tablety. Jediným typem formuláˇre, kde se obchodní pravidla neaplikují, je tzv. mobilní formuláˇr. Jedná se o typ formuláˇre s omezenými možnostmi zobrazení, vytváˇrení a úpravu záznamu. ˚ Tento typ formuláˇre se využívá ve webové verzi CRM systému urˇcené pro mobilní telefony 21
4. N OVÉ VLASTNOSTI MS D YNAMICS CRM 2013 (nazývané Mobile Express) a také v nativních aplikacích pro mobilní telefony s operaˇcním systémem Windows Phone, iOS a Android. Obchodní pravidla nabízejí pouze omezenou podmnožinu operací, které na formuláˇre aplikovat. V aktuální verzi mužeme ˚ definovat vlastní podmínky a využívat tˇechto operací: •
Nastavit hodnotu atributu
•
Nastavit úrovenˇ požadování atributu (bez omezení, doporucˇ ený, povinný)
•
Zobrazit nebo schovat atribut
•
Aktivovat cˇ i deaktivovat atribut
•
Provést validaci vložených dat a zobrazit chybové zprávy
V prostˇredí MS Dynamics CRM 2013 jsou obchodní pravidla vytvorˇ ena s úˇcelem zjednodušení tvorby nejˇcastˇeji se vyskytujících (jednoduchých) pravidel. Nemají tedy za cíl nahradit skripty na formuláˇri, ale spíše jsou jejich doplnkem. ˇ Z tohoto duvodu ˚ mají pomˇernˇe znaˇcná omezení v porovnání s možnostmi, které vývojáˇrum ˚ nabízí skripty na formuláˇrích využívající JavaScript. Asi nejvˇetším omezením je fakt, že všechny podmínky jsou vyhodnoceny s použitím logického operátoru AND. Není tedy možné, aby jedno obchodní pravidlo využívalo nˇejaké komplexnˇejší podmínky. Pokud bychom chtˇeli v našich obchodních pravidlech využít operátor OR, znamenalo by to tuto podmínku rozdˇelit do nˇekolika pravidel. Další omezení obchodních pravidel jsou následující: •
Obchodní pravidla jsou spuštˇena pouze pˇri naˇctení formuláˇre nebo pˇri zmˇenˇe hodnoty atributu.
•
Nespouštˇejí se pˇri uložení záznamu. Obchodní pravidla fungují pouze s atributy. Naproti tomu Java Script na formuláˇri muže ˚ pracovat i s ostatními viditelnými prvky formuláˇru˚ jako jsou karty a sekce.
•
V pˇrípadˇe, že je pomocí obchodního pravidla nastavena hodnota nˇekterého atributu, nebude spuštˇena žádná obslužná rutina navázaná na událost „OnChange”. Toto chování je z du˚ 22
4. N OVÉ VLASTNOSTI MS D YNAMICS CRM 2013 vodu omezení možného vzniku nekoneˇcné smyˇcky, která by mohla vzniknout rekurzivním voláním dané funkce. •
Pokud obchodní pravidlo obsahuje referenci na atribut, který není pˇrítomen na formuláˇri, tak nebude toto pravidlo spuštˇeno bez jakéhokoli upozornˇení uživatele.
•
Nejsou podporovány atributy datového typu „Celé cˇ íslo” s ˇ formátem „Doba trvání”, „Casové pásmo” a „Jazyk”. S tˇemito atributy tudíž není možné v obchodních pravidlech pracovat.
4.3
Pracovní postup bˇežící v reálném cˇ ase
Jak bylo naznaˇceno v kapitole 2.2.4, v pˇredchozích verzích MS Dynamics CRM byly pracovní procesy pˇredurˇceny k tomu, aby byly spuštˇeny na pozadí bez interakce s uživatelem a zpracovávaly data bez pˇredem daného cˇ asu, kdy bude pracovní proces spuštˇen a dokonˇcen. Vykonání jednotlivých spuštˇených pracovních postupu˚ je rˇ ízeno pomocí CRM Async Service. Tento koncept byl zaveden za úˇcelem lepší správy systémových prostˇredku˚ aplikaˇcních serveru˚ a tím pádem i zrychlení odezvy CRM systému. Konkrétnímu pracovnímu postupu jsou systémové prostˇredky potˇrebné pro jeho bˇeh pˇridˇeleny tak, aby nedošlo k omezení uživatelu˚ pracujících se systémem. Princip fungování lépe ilustruje následující pˇríklad. Mˇejme nˇekolik uživatelu˚ systému, kteˇrí ve stejný cˇ as provedou operaci, která má za následek vyvolání pracovního postupu. Pro každý z tˇechto pracovních postupu˚ dojde k vytvoˇrení instance pracovního postupu. Tato instance je, zjednodušenˇe rˇ eˇceno, pˇredána CRM Async Service, která má na starosti její vykonání. Z hlediska uživatele byla jím vyvolaná operace úspˇešnˇe dokonˇcena. Ve skuteˇcnosti je ale pracovní proces zaˇrazen do fronty, kde cˇ eká až budou vykonány všechny pˇredchozí procesy a budou mu pˇridˇeleny potˇrebné systémové prostˇredky. Pracovní postupy v této podobˇe se tedy zjevnˇe nehodí pro implementaci obchodní logiky, která vyžaduje nˇejakou formu interakce s uživatelem (napˇr. zobrazení upozornˇení cˇ i chybových hlášení) nebo zrušení provádˇené operace (napˇr. kontrola vstupních údaju˚ pˇri uložení nebo smazání - nelze smazat záznam, který má vyplnˇeno, že je 23
4. N OVÉ VLASTNOSTI MS D YNAMICS CRM 2013 evidován v externím systému). Jedinou možností, jak tuto logiku v systému implementovat, bylo použití pluginu˚ (kapitola 2.2.5). Nevýhodou tohoto rˇ ešení je pˇrílišná komplikovanost pro uživatele, kteˇrí by tuto logiku mˇeli implementovat - business analytiky/architekty. Ve výsledku tedy bylo nutné, aby i ty nejmenší zmˇeny provádˇel nˇekdo z programátoru. ˚ S verzí MS Dynamics CRM 2013 došlo k rozšíˇrení možností pracovních procesu˚ o tzv. pracovní postupy bˇežící v reálném cˇ ase. Novˇe pˇredstavené pracovní postupy bˇežící v reálném cˇ ase (Real-Time Workflows) umožnují ˇ implementovat obchodní logiku pomocí stejného uživatelského rozhraní (obrázek 4.2), které se používá pro definici standardních pracovních postupu. ˚ Vytvoˇrení a následnou úpravu takovýchto pracovních postupu˚ již zvládne i analytik, který se stará o tvorbu podnikových procesu. ˚ „”
Obrázek 4.2: Prostˇredí editoru pracovních procesu. ˚ Možnost použití pluginu˚ v systému zustává ˚ nadále zachována a 24
4. N OVÉ VLASTNOSTI MS D YNAMICS CRM 2013
Obrázek 4.3: Srovnání jednotlivých nástroju˚ pro automatizaci procesu˚ dostupných v MS Dynamics CRM 2013.[9] pro složitˇejší logiku je i nadále nejlepší volbou. Pro jednoduché, pˇrípadnˇe cˇ asto se mˇenící, procesy je ale možné využít této nové funkce a pˇrevést sem cˇ ást logiky z pluginu. ˚ To muže ˚ pˇrinést úspory cˇ asu byznys analytiku˚ i programátoru˚ a hlavnˇe to znamená zrychlení zavádˇení nové obchodní logiky a úpravy již existující. Na obrázku 4.3 je porovnání jednotlivých nástroju, ˚ které jsou v aktuální verzi dostupné pro tvorbu obchodní logiky/obchodních procesu˚ bez nutnosti psaní kódu. Z následujícího výˇctu funkcí dostupných v pˇredchozích verzích systému mužeme ˚ vidˇet, že v této oblasti došlo s uvedením nové verze k výraznému posunu: •
MS Dynamics CRM 4.0: pracovní postupy
•
MS Dynamics CRM 2011: pracovní postupy, dialogy2
•
MS Dynamics CRM 2013: pracovní postupy, pracovní postupy bˇežící v reálném cˇ ase, dialogy, toky obchodních procesu, ˚ ob3 chodní pravidla, akce
2. Dialog je prostˇredek urˇcený pro získání dat od uživatele, napˇr. operátora call centra, v požadované podobˇe.[15] 3. Akce je de-facto pracovní postup bˇežící v reálném cˇ ase, který muže ˚ být spuštˇen pouze pomocí webových služeb MS Dynamics CRM. Hlavním rozdílem však je, že akce podporují vstupní a výstupní parametry.[2]
25
4. N OVÉ VLASTNOSTI MS D YNAMICS CRM 2013
Obrázek 4.4: Tok obchodního procesu v prostˇredí aplikace MS Dynamics CRM 2013.
4.4
Tok obchodního procesu
Tok obchodního procesu (Business Process Flow) je dalším prvkem, který byl pˇredstaven s uvedením CRM 2013. Toky obchodních procesu˚ jsou postaveny na stejné podpurné ˚ vrstvˇe jako ostatní typy procesu, ˚ ale jejich schopnosti a využití se zásadnˇe liší. Toky obchodních procesu˚ si mužeme ˚ pˇredstavit jako jakési pru˚ vodce. Tito pruvodci ˚ vedou uživatele CRM k cíli postupem, který je definován spoleˇcností pomocí procesu. ˚ Dostupné toky obchodních procesu˚ je možné kontrolovat a omezit na základˇe rolí zabezpeˇcení, které mají konkrétní uživatelé pˇriˇrazeny. Každý uživatel tím pádem vidí pouze ty procesy, které se své práci potˇrebuje. Tuto novou vlastnost systému použijeme k definici sady kroku, ˚ které má uživatel provést pro dosažení požadovaného výstupu. Tyto kroky uživatelum ˚ zárovenˇ poskytují vizuální indikátor, kde se v rámci konkrétního procesu nacházejí. Pˇrínosem této nové vlastnosti systému je také snazší zaškolení nových uživatelu, ˚ protože ti se nemusí tolik soustˇredit s jakou entitou pracují. Pokud je tok obchodního procesu dobˇre definovaný, tak se uživatel muže ˚ nechat procesem vést. To je benefitem i pro zkušené uživatele CRM, protože dojde ke zrychlení provádˇených úkonu. ˚ V neposlední rˇ adˇe toky obchodních procesu˚ pˇrispívají ke snížení chybovosti. V rámci každého toku definujeme posloupnost fází (stages) a kroku˚ (steps), které se následnˇe zobrazují v horní cˇ ásti formuláˇre (viz obrázek4.4). Každá fáze se skládá z jednotlivých kroku. ˚ Jeden krok pak reprezentuje pole, které slouží pro vstup dat od uživatele. Po vyplnˇení 26
4. N OVÉ VLASTNOSTI MS D YNAMICS CRM 2013
Obrázek 4.5: Pˇríklad obchodního pravidla, které skrývá nepotˇrebné atributy. všech povinných polí, resp. kroku, ˚ pokraˇcuje uživatel na další fázi procesu pomocí tlaˇcítka „Další fáze”. Jak již bylo zmínˇeno, ke každému z kroku˚ lze nastavit pˇríznak, že se jedná o povinnou položku. Povinné kroky jsou pro uživatele oznaˇceny cˇ ervenou hvˇezdiˇckou vedle názvu a bez jejich doplnˇení nelze pokraˇcovat v procesu k dalším fázím. Bohužel (v této verzi) není podporována žádná logika, která by umožnila v rámci toku vyhodnocovat zadané informace a nˇejakým zpusobem ˚ na nˇe reagovat. V porovnání s ostatními typy procesu, ˚ které MS Dynamics CRM 2013 nabízí, tedy toky obchodních procesu˚ pusobí ˚ jako nástroj relativnˇe jednoduchý, skoro až primitivní. Pˇri tvorbˇe toku˚ však mužeme ˚ alesponˇ využit toho, že toky jsou plnˇe integrovány s ostatními úpravami na formuláˇri. Všechny zmˇeny provedené v jednotlivých krocích se ihned aplikují na pˇríslušné atributy na formuláˇri. V praxi to tedy znamená, že se na pozadí vykonávají všechny obchodní pravidla a skripty na stranˇe klienta, které jsou ve formuláˇri navázány na zmˇenu konkrétního atributu. Na obrázku 4.4 je pˇríklad takového skriptu na formuláˇri, který hlídá správnost vyplnˇených dat - souˇcasnˇe muže ˚ být vybrána pouze jedna hodnota vztahu, proto dojde pˇri výbˇeru jedné z možných hodnot ke skrytí ostatních hodnot, které nemohou být souˇcasnˇe vybrány. Všechny typy pracovních postupu˚ (tj. bˇežící v reálném cˇ ase nebo na pozadí), které jsou iniciovány zmˇenou nˇekterého z atributu˚ zahr27
4. N OVÉ VLASTNOSTI MS D YNAMICS CRM 2013 nutých do toku obchodního procesu, budou spuštˇeny v momentu, kdy dojde k manuálnímu cˇ i automatickému uložení zmˇen formuláˇre. Výsledek pracovního postupu bˇežícího v reálném cˇ ase bude viditelný jakmile dojde k aktualizaci stavu formuláˇre po uložení. Pˇri tvorbˇe toku˚ ale nejsme omezeni pouze na jednu entitu. Mužeme ˚ rovnˇež vytvoˇrit tok obchodního procesu, který zahrnuje více entit. Mu˚ žeme tedy vytvoˇrit napˇríklad „životní cyklus” pˇríležitosti, který zacˇ íná vlastním vytvoˇrením pˇríležitosti a dále pokraˇcuje cenovou nabídkou, objednávkou, fakturou a nakonec se vrací zpˇet k pˇríležitosti, kterou už zbývá pouze uzavˇrít. Celkem mužeme ˚ do tohoto „životního cyklu” zapojit až pˇet ruzných ˚ entit. Zárovenˇ mužeme ˚ také pro každou entitu definovat více než jeden tok. Jelikož ne všichni uživatelé CRM systému musí pracovat podle stejných procesu˚ a pravidel, z tohoto duvodu ˚ mužeme ˚ definovat až deset ruzných ˚ procesu˚ pro každou z podporovaných entit. Pokud máme pro entitu aktivováno více toku, ˚ mužeme ˚ také rˇ ídit kterým uživatelum ˚ se konkrétní tok zobrazí a který bude nastaven jako výchozí. Jak již bylo zmínˇeno na zaˇcátku této sekce, jednotlivé toky obchodních procesu˚ mužeme ˚ propojovat s rolemi zabezpeˇcení. Následnˇe když nˇekterý z uživatelu˚ vytváˇrí nový záznam v entitˇe, která má definováno více toku, ˚ bude mít dostupné pouze ty toky, které jsou povoleny pro nˇekterou z rolí zabezpeˇcení konkrétního uživatele. Výchozím tokem obchodního procesu je vždy první ze seznamu tˇech, které jsou uživateli dostupné. Po každém pˇrepnutí na nový tok, bude tento nový tok vždy zacˇ ínat znovu od první fáze. Drobným omezením pˇri práci více uživatelu˚ s jedním záznamem je fakt, že pro každý záznam muže ˚ bˇežet v daném cˇ ase pouze jeden tok obchodního procesu. Pokud tedy nˇekterý z uživatelu˚ systému aplikuje nový tok, ostatní uživatelé jej uvidí vˇcetnˇe prubˇ ˚ ehu také. Pokud nˇekterý z uživatelu˚ nebude mít k aktivovanému toku oprávnˇení, tento tok se mu zobrazí, ale nebude aktivní.
28
4. N OVÉ VLASTNOSTI MS D YNAMICS CRM 2013 Klient/firma Schuzka ˚ Kampanˇ Aktivita kampanˇe Odpovˇed’ na kampanˇ Konkurent Kontakt E-mail Úkol
Fax Požadavek Faktura Zájemce Dopis Marketingový seznam Pˇríležitost Telefonní hovor
Produkt Položka ceníku Nabídka Opakovaná schuzka ˚ Prodejní dokumentace Objednávka Uživatel Tým
Tabulka 4.1: Pˇrehled systémových entit s podporou toku obchodního procesu Pˇri definici nových toku˚ obchodních procesu˚ je zárovenˇ nutné brát zˇretel na omezení týkající se podporovaných entit, poˇctu˚ aktivovaných toku˚ v jednotlivých entitách, fází a návazných entit. Vlastní toky obchodních procesu˚ mužeme ˚ definovat pro systémové entity uvedené v tabulce 4.1 a dále také pro námi vytvoˇrené vlastní entity. U každé vlastní entity je nutné tyto funkce nejprve povolit. Pokud ale u vlastních entit toky jednou povolíme, není již možné tuto akci vrátit zpˇet. Pro zachování akceptovatelné rychlosti systému a použitelnosti uživatelského rozhraní platí následující omezení pro návrh toku: ˚ •
Pro každou z entit muže ˚ být zárovenˇ aktivních maximálnˇe 10 toku˚ obchodních procesu. ˚
•
Každý tok muže ˚ obsahovat maximálnˇe 30 fází.
•
Toky definované napˇríˇc více entitami mohou obsahovat maximálnˇe 5 ruzných ˚ entit.
29
5 Migrace na novou verzi CRM Tato kapitola se vˇenuje samotné migraci systému MS Dynamics CRM z verze 2011 na aktuální verzi 2013. V první cˇ ásti si pˇredstavíme doporuˇcení, jak postupovat pˇri pˇrevodu dodateˇcných úprav systému a návazných aplikací. Zamˇerˇ íme se také na využití novˇe pˇridaných funkcí systému, které jsou popsány v pˇredchozí kapitole. Druhá cˇ ást se vˇenuje migraci dat. Jsou zde pˇredstaveny oficiálnˇe podporované scénáˇre pro migraci dat vˇcetnˇe jejich výhod a nevýhod. Na závˇer je pak vybrána nejvýhodnˇejší varianta migrace dat pro spoleˇcnost ABC.
5.1
Migrace uživatelských úprav systému
5.1.1
Formuláˇre
Jak již bylo zmínˇeno v pˇredchozí kapitole, nejviditelnˇejší a zárovenˇ velmi rozporuplnou zmˇenou je nové uživatelské rozhraní. Vˇetšina uživatelu˚ CRM, kteˇrí mají zkušenosti s nˇekterou z pˇredchozích verzí (MS Dynamics CRM 4.0 nebo 2011) není s novým rozhraním spokojena a jejich produktivita práce je mnohem nižší než v puvodním ˚ systému. Uživatelé musí novému systému pˇrivyknout a nauˇcit se pracovat novým zpusobem, ˚ což je ale spíše záležitostí školení uživatelu˚ a uživatelské podpory. Samotné rˇ ešení, konkrétnˇe tedy vzhled formuláˇru, ˚ je po automatickém pˇrevodu do nové verze sice použitelné, ale také dosti neergonomické a složitˇe použitelné. Po migraci stávajícího rˇ ešení do MS Dynamics CRM 2013 je tedy vhodné vˇenovat pozornost našemu rˇ ešení s úpravami a modifikovat formuláˇre tak, aby využívaly nových funkcí a byly pro uživatele pohodlnˇejší. S novým UI došlo k odstranˇení levého navigaˇcního menu vˇcetnˇe rychlé navigace mezi záložkami formuláˇre. U komplexních formuláˇru˚ (napˇríklad pro entitu Klient), které obsahují kolem 200 atributu˚ je nyní velmi zdlouhavé vyplnit požadované údaje. Obzvláštˇe v pˇrípadˇe, že požadované údaje jsou rozmístˇeny po celém formuláˇri. Pro tyto úˇcely je vhodné využít toku˚ obchodních procesu˚ popisovaných v kapitole 4.4. Pomocí tˇechto toku˚ je možné uživatelum ˚ CRM sys30
5. M IGRACE NA NOVOU VERZI CRM tému pˇripravit pruvodce, ˚ který je provede založením nového záznamu a zobrazí pohromadˇe všechny povinné atributy. V odstranˇeném levém navigaˇcním menu byly rychle dostupné také návazné entity. Návaznými entitami rozumíme relaci s kardinalitou 1:N, tj. k jedné primární entitˇe muže ˚ být navázáno více záznamu˚ sekundární entity. Pˇríkladem takového vztahu je relace Klient:Smlouva, jeden klient muže ˚ mít uzavˇreno více smluv. V novém uživatelském rozhraní je pˇrechod na tyto návazné entity zdlouhavˇejší. Je nutné kliknout pro rozbalení horního menu, zde najít požadovaný typ návazné entity a tu teprve vybrat. Pro zrychlení práce s návaznými entitami je vhodné vložit do formuláˇre nové prvky, které uživatelum ˚ usnadní práci. Prvním z tˇechto prvku˚ je tzv. „formuláˇr pro rychlé zobrazení”, který slouží pro zobrazení návazných entit. Na formuláˇri primární entity se následnˇe zobrazí tabulka/mˇrížka, která obsahuje seznam návazných záznamu˚ konkrétního typu, které pˇrísluší ke konkrétní primární entitˇe. Tímto postupem mužeme ˚ uživatelum ˚ pˇripravit pˇrívˇetivˇejší formuláˇr, který jim usnadní a urychlí práci se systémem. Druhý prvek se nazývá „rychlé zobrazení” a je obdobou výše zmínˇeného formuláˇre, ale je urˇcen pro relace s kardinalitou 1:1, resp N:11 . Na formuláˇri primární entity se pak zobrazí malý formuláˇr, který zobrazí definované atributy ze související entity. Pokud budeme jednotlivé formuláˇre takto pˇrizpusobovat, ˚ tak brzy narazíme na problém, že návazných záznamu˚ je u hlavních entit (napˇr. klient nebo kontakt) pˇríliš mnoho a pokud je všechny pˇridáme na formuláˇr, tak je výsledek znaˇcnˇe nepˇrehledný. I tento problém však mužeme ˚ vyˇrešit. Vzhledem k tomu, že neexistuje de-facto žádný uživatel CRM systému, tak vytvoˇríme nˇekolik ruzných ˚ formuláˇru. ˚ Na základˇe pˇrístupových oprávnˇení pak uživatelum ˚ zpˇrístupníme jako výchozí ten z formuláˇru, ˚ který nejlépe odpovídá povaze jejich práce. Na obrázcích 5.1 a 5.2 mužeme ˚ vidˇet porovnání stejného formuláˇre zobrazujícího detail kontaktu v prostˇredí MS Dynamics CRM 2011 resp. MS Dynamics CRM 2013. Na obrázku 5.1 je cˇ íslovkou 1 oznaˇcen již zminovaný ˇ pás karet (ribbon), známý napˇríklad z kan1. MS Dynamics CRM nepodporuje relace s kardinalitou 1:1. Jako relaci 1:1 tedy v tomto pˇrípadˇe oznaˇcujeme relaci N:1, kdy je naše entita v roli entity sekundární.
31
5. M IGRACE NA NOVOU VERZI CRM
Obrázek 5.1: Zobrazení detailu kontaktu v MS Dynamics CRM 2011. ˇ celáˇrského balíku MS Office. Císlem 2 je oznaˇceno výše zminované ˇ levé navigaˇcní menu, které bylo do verze MS Dynamics CRM 2011 nedílnou souˇcástí formuláˇru. ˚ Ve formuláˇri MS Dynamics CRM 2013 (obrázek 5.2) je cˇ íslem 1 oznaˇceno nové navigaˇcní menu, které spojuje pás karet i levé navigaˇcní menu do jednoho menu. V tomto obrázku je také vidˇet prvek „formuláˇr pro rychlé zobrazení” (ˇcíslo 2) a také nˇekolik „rychlých zobrazení” návazných entit (ˇcíslo 3), zde jsou to konkrétnˇe vztahy tohoto kontaktu a jeho aktivity. 5.1.2
Webové prostˇredky
Migrace webových prostˇredku˚ znamená starat se hlavnˇe o úpravu JavaScriptu, který používáme pro skriptování formuláˇru. ˚ Ostatní webové prostˇredky nemusíme mˇenit vubec ˚ (obrázky, ikony) nebo pouze minimálnˇe (CSS a HTML soubory). JavaScriptu se týká hlavnˇe odstranˇení podpory pro pˇrístup k objektovému modelu formuláˇre a jeho globálním funkcím a také odstranˇení koncového bodu webových služeb (dále jen endpoint) ve verzi 2007. Jak zminuje ˇ MSDN [3], tyto dále nepodporované funkce byly nahrazeny následujícím zpusobem. ˚ 32
5. M IGRACE NA NOVOU VERZI CRM
Obrázek 5.2: Zobrazení detailu kontaktu v MS Dynamics CRM 2013. •
Odstranˇení endpointu verze 2007 –
•
Stávající skripty využívající této odstranˇené funkcionality by mˇely být aktualizovány pro použití nových endpointu˚ pro rozhraní REST 2 nebo SOAP 3
Odstranˇení objektového modelu pro formuláˇr a globální funkce –
5.1.3
Skripty, které využívají tohoto objektového modelu je nutné upravit a zastaralé metody nahradit novým objektovým modelem Xrm.Page.
Úpravy na úrovni databáze
Protože úpravy provedené pˇrímo v databázi nejsou podporovaným postupem, není nikde dostupný pˇrehled zmˇen, které se v nové verzi systému udály. Pokud jde ale pouze o základní operace jako je cˇ tení a pˇrípadnˇe zápis do tabulek, tak je potˇreba v úpravách CRM reflektovat pouze slouˇcení puvodních ˚ dvou databázových tabulek do jedné. 2. 3.
Representational State Transfer Simple Object Access Protocol
33
5. M IGRACE NA NOVOU VERZI CRM V pˇredchozích verzích MS Dynamics CRM existovaly v databázi pro každou entitu dvˇe tabulky lišící se sufixem - „Base” a „ExtensionBase”. „Base” tabulka obsahovala všechny systémové atributy. Systémovými atributy rozumíme takové, které jsou souˇcástí CRM po instalaci nebo atributy, které se automaticky vygenerují pˇri vytvoˇrení vlastní entity. „ExtensionBase” tabulka pak obsahuje všechny uživatelsky pˇridané atributy. Toto rozdˇelení zustávalo ˚ v MS Dynamics CRM jako pozustatek ˚ z duvodu ˚ kompatibility s MS SQL Serverem 2000, který podporoval pouze omezený poˇcet sloupcu˚ v každé tabulce. Poslední verzí MS Dynamics CRM, která podporovala MS SQL Server 2000 jako databázový server, byla verze 3.0 z roku 2005, takže tato zpˇetná kompatibilita již nebyla nˇekolik let nutná a podaˇrilo se ji odstranit. Celkovˇe se jedná o užiteˇcnou zmˇenu, která pˇrináší: •
Ménˇe spojování tabulek (SQL pˇríkaz JOIN).
•
Menší poˇcet zámku˚ tabulek.
•
Nižší režii pˇri zpracování databázových dotazu. ˚
•
Odstranˇení duplicitních klíˇcu, ˚ které byly v „Base” i „ExtensionBase” tabulkách.
Migrace databázových úprav na MS Dynamics CRM 2013 znamená revizi používaných databázových dotazu, ˚ uložených procedur a pohledu, ˚ zdali se v nich nevyskytují reference na „ExtensionBase” tabulky. Pokud se tyto tabulky v našich skriptech vyskytují, je nutné je pˇrepsat (ve vˇetšinˇe pˇrípadu˚ rovnˇež dojde k jejich zjednodušení) do podoby, která využívá pouze tabulky dostupné v novém databázovém schématu. 5.1.4
Konzolové aplikace, webové aplikace a webové služby
Pro aplikace komunikující s MS Dynamics CRM 2013, at’ už se jedná o konzolové aplikace nebo webové aplikace, které zahrnují i webové služby, jsou postupy pro migraci velmi podobné pˇredchozím pˇrípadum. ˚ 34
5. M IGRACE NA NOVOU VERZI CRM •
Pokud aplikace komunikují pomocí webových služeb, je potˇreba provˇerˇ it, zda aplikace nepoužívá zastaralý endpoint ve verzi 2007. Pokud ano, je potˇreba všechna volání upravit pro použití podporované verze 2011.
•
Používáme-li v naší aplikaci nˇejakou formu pˇrímého pˇrístupu k CRM databázi, je potˇreba provést revizi SQL skriptu, ˚ aby odpovídaly novému schématu databáze MS Dynamics CRM 2013.
•
Nejen pˇri migraci stávajících aplikací, ale i pˇri vývoji aplikací nových se osvˇedˇcilo také využití následujících doporuˇcení:
5.2
–
Použít pro aplikaci .NET Framework ve verzi 4.0 nebo vyšší. Systém MS Dynamics CRM 2013 bˇeží na verzi 4.0 a tato verze také pˇrináší napˇríklad podporu pro paralelní zpracování dat. Díky tomu mužeme ˚ s vynaložením minimálního úsilí výraznˇe zrychlit bˇeh stávajících aplikací. Toto platí hlavnˇe pro aplikace, které hromadnˇe zpracovávají data z CRM.
–
Pˇri tvorbˇe aplikací používat tzv. dynamického typování (late binding) objektu˚ z CRM.
Migrace dat
Pˇrevod stávajících dat vytvoˇrených v pˇredchozí verzi (MS Dynamics CRM 2011) je v nové verzi systému standardnˇe podporován pˇri upgradu systému. Pro migraci dat tedy není zapotˇrebí vytvárˇ et žádné zvláštní scénáˇre. Pˇri tomto postupu dojde také k pˇrevodu všech vlastních úprav systému, protože pˇri úpravách systémových entit nebo vytváˇrení entit vlastních dochází ke zmˇenˇe datového modelu. Po migraci dat tedy budeme mít v novém systému pˇreneseny i všechny entity, atributy, vazby a webové prostˇredky, které obsahovalo puvodní ˚ rˇ ešení. Na tyto souˇcásti se zamˇerˇ íme v dalších kapitolách této práce. Migraci našeho existujícího MS CRM 2011 mužeme ˚ provést tˇremi zpusoby, ˚ které jsou blíže popsány níže. 35
5. M IGRACE NA NOVOU VERZI CRM 5.2.1
Migrace s využitím nové instance databázového a aplikaˇcního serveru
V první variantˇe si ke stávajícímu prostˇredí MS CRM 2011 nainstalujeme nové prostˇredí pro MS CRM 2013. Celkem tedy potˇrebujeme dva aplikaˇcní CRM servery a dva databázové servery (Obrázek 3.1), resp. dvˇe instance MS SQL Serveru. Tyto dvˇe instance mohou být fyzicky umístˇeny na stejném serveru. Vzhledem k tomu, že jsou na sobˇe nezávislé, tak je pro názornost oznaˇcujeme jako dva oddˇelené databázové servery.
Obrázek 5.3: Migrace s využitím nové instance databázového a aplikaˇcního serveru. Pˇri vlastní migraci pak provedeme zálohu databáze s organizací MS CRM 2011. Následnˇe obnovíme zálohovaná data na databázový server pro MS CRM 2013 a spustíme import této organizace na novém aplikaˇcním serveru. Tato varianta zajišt’uje nejkratší dobu odstávky stávajícího systému, který muže ˚ zustat ˚ v provozu po dobu instalace nového prostˇredí. V pˇrípadˇe problému˚ s novým prostˇredím se mužeme ˚ rovnˇež prakticky okamžitˇe vrátit k funkˇcnímu systému. Nevýhodou je potˇreba dvou nových serveru˚ pro nový systém. 36
5. M IGRACE NA NOVOU VERZI CRM 5.2.2
Migrace s využitím stávající instance databázového serveru
Druhá varianta poˇcítá s instalací nového aplikaˇcního serveru pro CRM 2013. Databáze bude ale umístˇena na stávajícím databázovém serveru, resp. na stávající instanci SQL Serveru. Pˇri migraci dle tohoto scénáˇre dojde k aktualizaci konfiguraˇcní databáze a databáze výchozí organizace na novou verzi CRM 2013. Vzhledem k tomu, že CRM 2011 stále zustává ˚ nainstalována, tak v pˇrípadˇe problému˚ pˇri migraci staˇcí obnovit pˇredchozí verzi konfiguraˇcní a organizaˇcní databáze. Návrat k pˇredchozí funkˇcní verzi je možný provést v cˇ ase, který nám zabere obnova potˇrebných databází ze záloh. Nevýhodou proti první variantˇe je, že po dobu instalace nového aplikaˇcního serveru uživatelé nemohou pracovat ani s puvodním ˚ systémem.
Obrázek 5.4: Migrace s využitím stávající instance databázového serveru. 5.2.3
Migrace v rámci puvodního ˚ prostˇredí
Poslední varianta poˇcítá s provedením migrace pˇrímo na puvodním ˚ systému („in-place”). Jedná se postup, který nevyžaduje žádné dodateˇcné hardwarové prostˇredky, ale zárovenˇ pˇrináší nejdelší dobu výpadku pˇri instalaci i pˇrípadném obnovení puvodního ˚ systému. Na stávajícím aplikaˇcním serveru se spustí instalace CRM 2013, která provede upgrade aplikaˇcního serveru na novou verzi. Souˇcasnˇe se provede migrace konfiguraˇcní databáze a databáze primární organizace obdobnˇe jako ve výše popisované druhé variantˇe. 37
5. M IGRACE NA NOVOU VERZI CRM V pˇrípadˇe problému˚ s novým systémem, kdy se potˇrebujeme vrátit k puvodnímu ˚ systému, je potˇreba provést novou instalaci a nastavení CRM 2011 a následnˇe ze záloh obnovit všechny používané organizace.
Obrázek 5.5: Migrace v rámci puvodního ˚ prostˇredí.
5.2.4
Výbˇer vhodné metody migrace
Výbˇer vhodné metody pro migraci stávajícího systému založeného na CRM 2011 na novou verzi závisí na našich požadavcích na maximální dobu výpadku systému bˇehem migrace (samotný upgrade plus pˇrípadné obnovení puvodního ˚ systému) a také na hardwaru, který jsme schopni a ochotni na tuto operaci alokovat. Srovnání jednotlivých metod dle ruzných ˚ požadavku˚ je uvedeno v tabulce 5.1. 38
5. M IGRACE NA NOVOU VERZI CRM Nároky na dodateˇcný hardware Migrace s využitím nové instance databázového a aplikaˇcního serveru Migrace s využitím stávající instance databázového serveru Migrace na puvodním ˚ systému
vysoké
Doba výpadku zpusobená ˚ migrací velmi nízká
Doba potˇrebná pro obnovu puvodního ˚ systému velmi nízká
stˇrední
stˇrední
nízká/stˇrední
minimální
vysoká
vysoká
Tabulka 5.1: Vlastnosti popisovaných typu˚ migrace Vzhledem ke skuteˇcnosti, že popisovaný systém je pro spoleˇcnost ABC systémem kriticky duležitým, ˚ tak budeme v plánech migrace poˇcítat s první variantou, která využívá novou instancí aplikaˇcního i databázového serveru.
39
6 Migrace CRM ve spoleˇcnosti ABC 6.1
Plán migrace
Ve spolupráci se zástupci spoleˇcnosti ABC byl vytvoˇren plán projektu migrace souˇcasného CRM systému na novou verzi MS Dynamics CRM 2013. Tento projekt byl zahájen v polovinˇe bˇrezna tohoto roku. Konec projektu, tj. spuštˇení nové verze CRM systému v ostrém provozu, je plánován na zaˇcátek srpna. Pˇri plánování projektu byl zámˇernˇe preferován tento termín, protože se jedná o období dovolených a poˇcet požadavku˚ na systém je pod celoroˇcním prumˇ ˚ erem. Celý projekt mužeme ˚ rozdˇelit na následující fáze, které si následnˇe blíže popíšeme: •
Pˇríprava projektu
•
Analýza
•
Vývoj
•
Testování
•
Školení uživatelu˚
•
Implementace do produkˇcního prostˇredí
Jednotlivé fáze jsou do urˇcité míry nezávislé a tím pádem mohou probíhat soubˇežnˇe, jak mužeme ˚ vidˇet na obrázku 6.1. Pˇríprava projektu Pod pˇrípravou projektu se rozumí administrativní záležitosti na stranˇe spoleˇcnosti ABC, které jsou potˇrebné pro zahájení procesu. Pˇrevážnˇe se jedná o vytvoˇrení a následné schválení tzv. projektového zámˇeru. Projektový zámˇer je shrnutí základních informací o projektu: •
cíle projektu,
•
zdroje financování,
•
zpusob ˚ realizace, 40
ˇ 6. M IGRACE CRM VE SPOLE CNOSTI ABC
•
cˇ asový harmonogram,
•
požadované výstupy projektu.
Analýza Samotný projekt zaˇcíná analýzou, kterou provádí dodavatel systému. Ten pˇripraví detailní popis stávajícího systému a uživatelských úprav. Pojem uživatelských úprav je blíže vysvˇetlen v kapitole 3.2. Dodavatel se také zabývá problematikou migrace dat a navrhuje vhodnou metodu pˇrevodu dat ze stávajícího systému. Oblasti pˇrevodu stávajících dat se v této práci vˇenuje kapitola 5.2. Zpracovaný seznam stávajících funkcionalit systému je pˇredán k revizi a následnému odsouhlasení klíˇcovým uživatelum ˚ CRM ve spoleˇcnosti ABC. Výstupem je tedy odsouhlasená analýza, což je závazný dokument, který spoleˇcnˇe s dalšími dokumenty slouží k ovˇerˇ ení, zda byla migrace systému provedena v požadovaném rozsahu. Vývoj Fáze vývoje startuje po dokonˇcení analýzy, resp. po jejím odsouhlasení. V této fázi se postupuje dle odsouhlasené analýzy a provádí se pˇrevod jednotlivých úprav a aplikací tak, aby byly funkˇcní s novou verzí systému MS Dynamics CRM. V této fázi se aplikují postupy popisované dˇríve - v kapitole 5.1. Testování Testování muže ˚ cˇ ásteˇcnˇe probíhat paralelnˇe s analýzou i vývojem. Nejprve je nutné definovat hardwarové a softwarové požadavky na nové testovací prostˇredí. Tímto prostˇredím se rozumí hardware a základní software (operaˇcní systém, SQL databáze, atd.). Na tomto prostˇredí je následnˇe možné testovat instalaci MS Dynamics CRM 2013 a postupnˇe také úpravy cˇ i aplikace, které již byly pˇrevedeny a fungují s novou verzí systému. V testovací fázi bude také provedeno nˇekolik iterací navrženého scénáˇre pro migraci dat ze stávajícího systému. Úˇcelem tˇechto testu˚ je ovˇerˇ ení, zda je navržený migraˇcní scénáˇr vhodný pro spoleˇcnost ABC. Mimoto také získáme data pro cˇ asový odhad migrace dat. 41
ˇ 6. M IGRACE CRM VE SPOLE CNOSTI ABC
Školení uživatelu˚
Školení uživatelu˚ je duležité ˚ hlavnˇe z toho duvodu, ˚ aby uživatelé pˇrivykli novému vzhledu a nauˇcili se využívat všech funkcí, které MS Dynamics CRM ve verzi 2013 nabízí. Správnˇe provedené školení uživatelu˚ je také klíˇcovým faktorem pro eliminaci rizik souvisejících s nepˇrijetím zmˇen uživateli systému. Více o rizicích tohoto projektu se dozvíme v následující kapitole. Školení uživatelu˚ muže ˚ probíhat soubˇežnˇe s testováním, podmínkou pro zahájení fáze školení je ale dokonˇcená fáze vývoje.
Implementace do produkˇcního prostˇredí
Jedná se o poslední a zˇrejmˇe také nejrizikovˇejší cˇ ást celého projektu. Tato fáze znamená odstavení stávajícího systému MS Dynamics CRM 2011 ve spoleˇcnosti ABC, migraci existujících dat a konfiguraci nového systému založeného na MS Dynamics CRM 2013. Na celou tuto cˇ ást je vyhrazeno cˇ asové okno v délce trvání 48 hodin, takže je nutné mít dopˇredu ovˇerˇ enu délku trvání jednotlivých cˇ inností, kterou pak zohledníme pˇri podrobném plánování této fáze. 42
ˇ 6. M IGRACE CRM VE SPOLE CNOSTI ABC
Obrázek 6.1: Rozdˇelení projektu na fáze a cˇ innosti.
43
ˇ 6. M IGRACE CRM VE SPOLE CNOSTI ABC
6.2
Identifikovaná rizika projektu
Pˇri zpracování projektu na migraci CRM systému ve spoleˇcnosti ABC byla nalezena níže uvedená rizika. Hodnocení tˇechto identifikovaných rizik bylo provedeno metodou semikvalitativní analýzy rizik. Hodnotová matice semikvalitativní analýzy rizika (obrázek 6.2) pˇriˇrazuje dusledk ˚ um ˚ a pravdˇepodobnostem urˇcité cˇ íselné hodnoty podle škálovací stupnice – v našem pˇrípadˇe hodnoty 1 až 5 pro du˚ sledky a hodnoty 0,5 a 0,0001 pro pravdˇepodobnosti. Je na místˇe pˇripomenout, že se jedná o urˇcité fiktivní hodnoty, které pouze pomáhají pˇri procesu stanovování významnosti rizikového faktoru. Vzájemným vynásobením hodnot pravdˇepodobnosti a dusledku ˚ získáváme celkové skóre rizikového faktoru[5]. V matici na obrázku 6.2 je také cˇ ervenˇe oznaˇcena oblast nepˇrijatelných rizik a naopak zelenˇe jsou vyznaˇcena rizika pˇrijatelná. Nepˇrijatelná rizika znamenají, že je jejich celkové skóre pˇríliš vysoké a jsou reálnou hrozbou pro náš projekt. V této oblasti by se nemˇelo nacházet žádné riziko, které v projektu identifikujeme. Naopak pˇrijatelná rizika mužeme ˚ v urˇcitých pˇrípadech ignorovat, protože mají na náš projekt pouze minimální vliv.
Obrázek 6.2: Matice semikvalitativní analýzy rizik[5]
Poškození nebo ztráta dat pˇri migraci Popis Pˇri finální fázi projektu, migraci dat, dojde k nevratnému poškození nebo ztrátˇe dat uložených v CRM. 44
ˇ 6. M IGRACE CRM VE SPOLE CNOSTI ABC
Rizikový faktor P ravdˇ epodobnost rizika ∗ D˚ usledky rizika = 0, 0001 ∗ 5 = 0, 0005 ˇ Rešení Pˇred zaˇcátkem vlastní migrace vytvoˇrit a ovˇerˇ it zálohy dat. Vybrat takovou metodu migrace, která minimalizuje riziko ztráty dat (viz kapitola 5.2). Dokonˇcení provedení migrace se opozdí Popis Dokonˇcení projektu migrace se opozdí ve fázi migrace dat a nasazení upravených funkcionalit. Na tuto cˇ innost je vyhrazen pouze jeden víkend od pátku veˇcer do nedˇelního veˇcera. Rizikový faktor P ravdˇ epodobnost rizika ∗ D˚ usledky rizika = 0, 001 ∗ 3 = 0, 003 ˇ Rešení Pˇripravit podrobný migraˇcní scénáˇr a následnˇe tento scénáˇr pˇrenosu dat a nasazení nových verzí dukladnˇ ˚ e otestovat na testovacím prostˇredí, které je co nejblíže prostˇredí produkˇcnímu. Migrace se nezdaˇrí Popis Pˇripravený migraˇcní scénáˇr se nezdaˇrí nebo dojde ke zpoždˇení, které je nad rámec plánované rezervy. Rizikový faktor P ravdˇ epodobnost rizika ∗ D˚ usledky rizika = 0, 001 ∗ 4 = 0, 004 45
ˇ 6. M IGRACE CRM VE SPOLE CNOSTI ABC
ˇ Rešení Pˇri pˇrípravˇe migraˇcního scénáˇre poˇcítat s dostateˇcnými rezervami. V pˇrípadˇe nezdaru mít pˇripravenu záložní variantu (obnovení provozu puvodního ˚ CRM systému). Uživatelské úpravy nebo aplikace nebudou funkˇcní Popis Nasazené uživatelské úpravy, pˇríp. aplikace pˇrevedené do prostˇredí MS Dynamics CRM 2013 nebudou cˇ ásteˇcnˇe nebo vubec ˚ funkˇcní. Rizikový faktor P ravdˇ epodobnost rizika ∗ D˚ usledky rizika = 0, 0001 ∗ 3 = 0, 0003 ˇ Rešení Mít v analýze testovací scénáˇre podle kterých bude možno na testovacím prostˇredí testovat pˇrevedené funkcionality. Uživatelé nepˇrijmou nové prostˇredí Popis Uživatelé stávajícího CRM systému nebudou pˇripraveni na práci s novým uživatelským rozhraním a v dusledku ˚ toho budou nový systém odmítat. Rizikový faktor P ravdˇ epodobnost rizika ∗ D˚ usledky rizika = 0, 0001 ∗ 4 = 0, 0004 ˇ Rešení Komunikovat s uživateli již od zaˇcátku projektu, naplánovat školení uživatelu˚ pˇred ostrým spuštˇením. Zajistit uživatelum ˚ pˇrístup do testovacího prostˇredí. 46
ˇ 6. M IGRACE CRM VE SPOLE CNOSTI ABC
Uživatelé nebudou spokojeni s formuláˇri pˇrizpusobenými ˚ pro jejich roli Popis Novˇe pˇripravené uživatelské formuláˇre nebudou uživatelum ˚ vyhovovat a uživatelé nebudou schopni pracovat nebo bude jejich práce znaˇcnˇe neefektivní. Rizikový faktor P ravdˇ epodobnost rizika ∗ D˚ usledky rizika = 0, 01 ∗ 1 = 0, 01 ˇ Rešení Sbírat požadavky od uživatelu˚ již v dobˇe analýzy. Zjistit s jakými cˇ ástmi CRM konkrétní uživatelé nejˇcastˇeji pracují (workshopy, stínování uživatelu˚ pˇri práci). Po migraci systému se pˇripravit na cˇ astˇejší dotazy od uživatelu˚ a na základˇe tˇechto dotazu˚ navrhovat úpravy. Neochota uživatelu˚ spolupracovat pˇri návrhu nových formuláˇru˚ Popis Uživatelé CRM nebudou ochotni spolupracovat v nˇekteré z fází projektu. Rizikový faktor P ravdˇ epodobnost rizika ∗ D˚ usledky rizika = 0, 001 ∗ 1 = 0, 001 ˇ Rešení Informovat o projektu rˇ ídící pracovníky a zajistit si jejich podporu.
47
7 Praktická cˇ ást Cílem praktické cˇ ásti této práce bylo provést pˇrevod vybraných aplikací tak, aby je bylo možné používat v prostˇredí MS Dynamics CRM 2013. Konkrétnˇe se jedná o následující oblasti: •
Detekce duplicitních záznamu˚ ukládaných do CRM.
•
Import sankˇcního seznamu a kontrola záznamu˚ na výskyt v tomto seznamu.
•
Aktualizace aktiv a stavu klientu. ˚
ˇ Vypracované rˇ ešení tˇechto úkolu˚ je v pˇríloze této práce. Rešení je vypracováno v prostˇredí Microsoft Visual Studio 2013 na platformˇe .NET Framework 4.5, dále využívá MS Dynamics CRM SDK1 ve verzi 2013 a knihovnu Apache log4net2 pro zaznamenávání chyb a informací o bˇehu. Souˇcástí pˇríloh jsou zdrojové kódy i zkompilované aplikace, resp. dynamické knihovny (DLL).
7.1
Detekce duplicit
Detekce duplicitních záznamu˚ je souˇcástí systému MS Dynamics CRM 2013. Podstatný rozdíl oproti pˇredchozí verzi je odstranˇení této kontroly pˇri vkládání cˇ i editaci záznamu˚ pomocí uživatelských formuláˇru, ˚ které souvisí se zavedením nového „Flow UI”. Pˇri programovém vytváˇrení/editaci záznamu˚ pomocí API3 , tj. napˇríklad webových služeb, je detekce duplicit bˇežnˇe dostupná. Valná vˇetšina záznamu˚ je ale zakládána uživateli manuálnˇe, a proto je nutné mít tuto funkci dostupnou i v bˇežném uživatelském rozhraní. Po pˇrednesení a následné konzultaci tohoto problému ve spoleˇcnosti ABC vznikl návrh rˇ ešení, který se skládá ze dvou cˇ ástí. První cˇ ástí je plugin, který pˇri vytvoˇrení cˇ i aktualizaci záznamu vyvolá požadavek na získání duplicitních záznamu. ˚ V CRM tento požadavek provede kontrolu na shodu záznamu˚ dle publikovaných pravidel pro konkrétní entitu. Tato pravidla muže ˚ vytváˇret a upravovat 1. 2. 3.
Software Development Kit http://logging.apache.org/log4net/ Application Programming Interface
48
ˇ 7. P RAKTICKÁ CÁST
správce CRM systému, ale v pˇrípadˇe spoleˇcnosti ABC se v systému ˇ v pˇrípadˇe právnicnesmí objevit duplicitní identifikátor klienta (IC ˇ kých osob a RC v pˇrípadˇe fyzických osob). V pˇrípadˇe, že je nalezena nˇejaká shoda, plugin neumožní uložení nového záznamu a o této skuteˇcnosti informuje uživatele. Uživatel má následnˇe možnost z prostˇredí CRM spustit webovou aplikaci, která mu umožní vyhledat potenciální duplicity podle názvu nebo identifikátoru klienta. Aplikace v pˇrípadˇe shody zobrazí identifikátor, název a správce klienta. Samostatná webová aplikace je pro tento úˇcel vytvoˇrena z duvodu, ˚ že uživatel nemusí mít pˇrístup ke všem záznamum ˚ v CRM, a proto by duplicitní záznam, který již v CRM existuje nemusel najít. V tomto pˇrípadˇe uživatel vidí základní identifikaci klienta a jeho správce (v rámci spoleˇcnosti ABC). Díky tomu ví, koho má kontaktovat pro rˇ ešení tohoto problému s duplicitním záznamem. Projekt s pluginem má název „crm2013.duplicateDetection.plugin” a webová aplikace je jmenuje obdobnˇe „crm2013.duplicateDetection.web”.
7.2
Sankˇcní seznam
Sankˇcní seznamy jsou souˇcástí postupu˚ pro omezení praní špinavých penˇez a financování terorismu. Sankˇcní seznamy jsou jednostranné (vydávané jedním státem) nebo mnohostranné (vydávané napˇr. EU nebo OSN). V praktické cˇ ásti této práce jsme se zamˇerˇ ili na upgrade aplikací, které k tomuto úˇcelu sloužily v MS Dynamics CRM 2011, ale puvodnˇ ˚ e byly vyvinuty ještˇe pro MS Dynamics CRM 4.0. V obou pˇrípadech se jedná o konzolové aplikace, které se spouštˇejí na aplikaˇcním serveru. Importní aplikace se spouští pravidelnˇe každý den a provádí aktualizaci stávajících záznamu˚ a import záznamu˚ novˇe pˇridaných. Aplikace pro kontrolu záznamu˚ má dvˇe varianty bˇehu. V první pˇrípadˇe se kontroluje pouze jeden konkrétní záznam, který se aplikaci pˇredá na vstupu. Tato varianta se používá pˇri volání aplikace z CRM, kdy nˇekterý z uživatelu˚ CRM požádá o okamžitou kontrolu konkrétního záznamu. Druhá varianta spuštˇení je kontrola všech záznamu˚ uložených v CRM. Tímto zpusobem ˚ se aplikace spouští pra49
ˇ 7. P RAKTICKÁ CÁST
videlnˇe po aktualizaci a importu nových záznamu˚ do sankˇcního seznamu. Aplikace pro import záznamu˚ pracuje se seznamy vydávanými EU a USA. Tyto seznamy jsou veˇrejnˇe dostupné na webových stránkách pˇríslušných organizací ve formátu XML. Bˇehem importu se tyto XML soubory zpracují a uloží se do pˇríslušné entity v CRM. Pˇri upgradu byla tato aplikace pˇrevedena do aktuálního .NET Frameworku 4.5 a bylo použito nové CRM SDK. V MS Dynamics CRM 2013 došlo k odstranˇení podpory pro „koncový bod webové služby” (dále jen endpoint) ve verzi 2007 resp. CRM 4.0. Aplikace byla tedy upravena pro použití aktuální verze webových služeb (endpointu). Zárovenˇ s pˇrevodem na aktuální .NET Frameworku bylo uvažováno o využití nové knihovny pro paralelní zpracování importu. Výsledný pˇrínos paralelního zpracování ale nebyl dostateˇcnˇe velký na to, aby opodstatnil vyšší pamˇet’ové nároky aplikace pˇri zpracování XML souboru. Proto bylo v této aplikaci ponecháno standardní sériové zpracování. Aplikace pro kontrolu záznamu˚ proti sankˇcnímu seznamu pochází se stejné doby, takže i zde bylo potˇreba aktualizovat na nové SDK a .NET Framework. Zárovenˇ se v této aplikaci pro naˇcítání dat využívají také uložené databázové procedury, které bylo nutné upravit, aby odpovídaly novému datovému modelu, který je v MS Dynamics CRM 2013 použit. Jak již bylo rˇ eˇceno, kontrolu záznamu˚ proti sankˇcnímu seznamu lze spustit hromadnˇe pro všechny záznamy. Právˇe z duvodu ˚ hromadného zpracování se ukázalo použití paralelismu jako pˇrínosné. Aplikace byla tedy upravena tak, aby podporovala paralelní zpracování dat, cˇ ímž se na šestiprocesorovém aplikaˇcním serveru dosáhlo zkrácení doby bˇehu této aplikace asi na 1 /3 puvodního ˚ cˇ asu. Projekty pro tyto aplikace mají název „crm2013.import.sanctionList” resp. „crm2013.check.sanctionList”.
7.3
Aktualizace aktiv a stavu klientu˚
Aktualizace aktiv klientu˚ a jejich stavu˚ je periodická operace, která se spouští dennˇe po importu produktu˚ z externích systému. ˚ Aplikace naˇcte klienty z CRM, které následnˇe prochází a ke každému klientovi 50
ˇ 7. P RAKTICKÁ CÁST
dohledává produkty. Výsledkem je pˇrehled aktiv klienta dle kategorií definovaných u jednotlivých typu˚ produktu˚ a pˇrípadnˇe aktualizace stavu klienta (napˇr. když klient nemá žádné aktivní produkty). Aplikace byla upravena, aby používala aktuální verze .NET Frameworku a SDK. Dále byly upraveny databázové dotazy, aby aplikace byla kompatibilní s novým datovým modelem. Stejnˇe jako výše zmínˇená kontrola záznamu˚ proti sankˇcnímu seznamu, i tato úloha se provádí periodicky nad všemi záznamy z entity „Klient”. Proto i zde byla do aplikace pˇridána podpora pro paralelní zpracování dat, které urychlí zpracování této úlohy. Projekt s touto aplikací má název „crm2013.aktiva.refresh”.
51
8 Závˇer Tato práce se vˇenuje problematice migrace existujícího informaˇcního systému MS Dynamics CRM na jeho aktuální verzi MS Dynamics CRM 2013. První cˇ ást práce se vˇenuje obecnˇe popisu pojmu CRM a pˇredstavení historie a základních pojmu˚ CRM systému MS Dynamics CRM. Dále se v této práci vˇenujeme popisu uživatelských úprav a rozšíˇrení nad rámec standardních funkcí systému MS Dynamics CRM ve spoleˇcnosti ABC. Právˇe systém MS Dynamics CRM 2011, provozovaný v této spoleˇcnosti, je podkladem pro vypracování této práce. Jedna z kapitol se následnˇe vˇenuje popisu nových vlastností, které byly pˇredstaveny s uvedením MS Dynamics CRM ve verzi 2013. Nejvˇetší zmˇeny v této verzi se týkají uživatelského rozhraní, proto se zamˇerˇ ujeme hlavnˇe na novinky, které nejvíce ovlivnují ˇ toto uživatelské rozhraní a následnˇe i uživatele. V další kapitole pak uvádíme doporuˇcení, jakým zpusobem ˚ aktualizovat stávající aplikace ruzného ˚ typu, které rozšiˇrují standardní funkce systému. Tato doporuˇcení jsou následnˇe pro ovˇerˇ ení aplikována také v praktické cˇ ásti této práce. Bˇehem zpracování této práce byl spoleˇcnˇe se zástupci spoleˇcnosti ABC vytvoˇren také projekt pro realizaci migrace skuteˇcného systému. Tento projekt je v práci také v základu popsán. V rámci projektu migrace CRM systému jsme se vˇenovali také analýze možných rizik. Souˇcástí této práce jsou jednotlivá identifikovaná rizika vˇcetnˇe jejich ohodnocení z hlediska pravdˇepodobnosti a následku. ˚ U identifikovaných rizik je také uvedeno jejich rˇ ešení, resp. zpusob, ˚ jak je možné pˇredcházet jejich vzniku. Praktická cˇ ást této práce se zabývá pˇrevodem nˇekolika aplikací, které se využívají ve stávajícím systému MS Dynamics CRM 2011. V pˇrípadˇe detekce duplicitních záznamu˚ pˇri uložení se jedná o novou vlastní implementaci této funkcionality, která je standardní soucˇ ástí stávajícího systému, ale v MS Dynamics CRM 2013 byla odstranˇena. U ostatních se jedná o pˇrevod uživatelsky vytvoˇrených aplikací, které bylo nutno modernizovat, aby byly funkˇcní s novým systémem a plnˇe využívaly jeho možností.
52
Seznam obrázku˚ 1.1
Architektura CRM [13] 2
2.1
Uživatelské rozhraní Microsoft Business Solutions Customer Relationship Management 1.0 [10] 7 Uživatelské rozhraní MS Dynamics CRM 3.0 [12] 8 Více instancí v rámci MS Dynamics CRM 4.0 [1] 9 Uživatelské rozhraní MS Dynamics CRM 2011 10
2.2 2.3 2.4 3.1
Znázornˇení procesu založení nového klienta v CRM. 12
4.1
Detail navigaˇcního panelu v MS Dynamics CRM 2013. 21 Prostˇredí editoru pracovních procesu. ˚ 24 Srovnání jednotlivých nástroju˚ pro automatizaci procesu˚ dostupných v MS Dynamics CRM 2013.[9] 25 Tok obchodního procesu v prostˇredí aplikace MS Dynamics CRM 2013. 26 Pˇríklad obchodního pravidla, které skrývá nepotˇrebné atributy. 27
4.2 4.3
4.4 4.5 5.1
5.5
Zobrazení detailu kontaktu v MS Dynamics CRM 2011. 32 Zobrazení detailu kontaktu v MS Dynamics CRM 2013. 33 Migrace s využitím nové instance databázového a aplikaˇcního serveru. 36 Migrace s využitím stávající instance databázového serveru. 37 Migrace v rámci puvodního ˚ prostˇredí. 38
6.1 6.2
Rozdˇelení projektu na fáze a cˇ innosti. 43 Matice semikvalitativní analýzy rizik[5] 44
5.2 5.3 5.4
53
Seznam tabulek 4.1
Pˇrehled systémových entit s podporou toku obchodního procesu 29
5.1
Vlastnosti popisovaných typu˚ migrace 39
54
Literatura [1] Adamon, S.: Dynamics CRM and multi-tenancy. [Online], [rev. 2014-01-27], [cit. 2014-03-20]. Dostupné z WWW:
[2] Alexander, L.: Microsoft Dynamics CRM 2013 “actions” - a solution in search of a problem? Part 1. [Online], [rev. 2014-01-03], [cit. 2014-05-11]. Dostupné z WWW:
[3] Corporation, M.: What’s Changing in the Next Major Release. [Online], [rev. 2013], [cit. 2014-05-18]. Dostupné z WWW: ˇ [4] Dohnal, J.: Rízení vztahu˚ se zákazníky. Grada, 2002, ISBN 80247-0401-3, 164 s. [5] Hnilica, J.: Kvalitativní a semikvalitativní analýza rizika projektu. Acta Oeconomica Pragensia, , cˇ . 3, 2008: str. 67, ISSN 05723043. [6] Hommerová, D.: CRM v podnikových procesech. Grada, 2012, ISBN 978-80-247-4388-2, 134 s. [7] Lida, B.; Hull, S.; Pilcher, K.: Breadcrumb Navigation: An Exploratory Study of Usage. [Online], [rev. 2003-02-11], [cit. 2014-05-01]. Dostupné z WWW: [8] McArthur, S.: An Introduction to XRM for a .NET Developer (Microsoft Dynamics CRM 4.0). [Online], [rev. 2009-11], [cit. 55
ˇ 8. Z ÁV ER
2014-05-07]. Dostupné z WWW: [9] Niiranen, J.: Getting Your Head Around Dynamics CRM 2013 Processes - Part 2. [Online], [rev. 2013-10-29], [cit. 2014-05-09]. Dostupné z WWW: [10] Niiranen, J.: History of Microsoft’s CRM Software. [Online], [rev. 2013-09-25], [cit. 2014-04-25]. Dostupné z WWW: [11] Peppers, D.; Rogers, M.; Dorf, B.: One to One Field Book. Capstone, 1999, ISBN 978-1-900-96187-5, 252 s. [12] Snyder, M.: Microsoft CRM Dashboard samples. [Online], [rev. 2007-06-22], [cit. 2014-03-20]. Dostupné z WWW: ˇ ˇ [13] Stanˇek, V.: Rízení vztahu˚ se zákazníky v podmínkách Ceského Telecomu, a.s. Diplomová práce, VŠE Praha, 2003, in Hommerová, D.: CRM v podnikových procesech. [14] Verrill, A.: History of CRM Software. [Online], [rev. 2013-01-09], [cit. 2014-03-20]. Dostupné z WWW: [15] Wittemann, M.; Ables, G.: Microsoft Dynamics CRM 2011 Administration Bible. Wiley, 2011, ISBN 978-0-470-56814-9, 778 s. [16] Wolenik, M.; Sinay, D.; Bhaiya, R.: Microsoft Dynamics CRM 2011 Unleashed. Sams Publishing, 2011, ISBN 978-0-672-335389, 1008 s.
56
A Elektronické pˇrílohy
57