Praktická ukázka Silverlight aplikace v Microsoft CRM 

Posted by Jiří Cabal Monday, September 14, 2009 2:19:42 AM

Dnes se podíváme na konkrétní příklad Silverlight aplikace použité jako Add-on pro Microsoft Dynamics CRM 4.0 tak, jak jsme si slíbili v minulém článku. Ukážeme si výhody a vlastnosti tohoto typu řešení na konkrétní funkčnosti, která ve standardním CRM od Microsoftu není optimální.

Dokončujeme vývoj doplňku s obchodním názvem Rychlá nabídka. Více informací o tomto produktu naleznete na našem firemním webu: web.ortex.cz/produkty/crm/rychla-nabidka.aspx. Jak jsme již psali, tento doplněk má urychlit vytváření nabídek v CRM. Pořizování nabídek v Microsoft CRM je připraveno spíše pro firmy s několika málo velkými drahými produkty a menším množstvím vytvářených nabídek/objednávek/faktur. Již méně se hodí pro firmy, které vytvářením nabídek žijí, chrlí jich desítky denně a jejich ceníky čítají tisíce a více produktů.

V základním CRM bez úprav je potřeba pro přidání jednoho produktu do nabídky otevřít postupně dvě okna (čekat na jejich načtení), produkty není možné procházet dle Předmětů (Subjects) a případně přeskakovat mezi formuláři pro přidání katalogového a nekatalogového produktu. Pro změnu množství produktu je u každého řádku nabídky nutné otevřít nové okno a např. pořadí produktů na nabídce lze ovlivnit jen velmi obtížně poté, co se na formulář přidá jinak skrytý atribut „řádek“. Přitom třeba v nabídce počítačové sestavy od prodejce je přeci jen lepší nahoře vidět procesor a další důležité komponenty na rozdíl od níže umístěné myšky a doplňků.

Na prvním obrázku vidíme náhled aplikace v CRM. Rozhodli jsme se pro umístění aplikace do formuláře nabídky, na novou záložku ihned na úvodní straně. Pro firmy s velkým podílem malých monitorů :-) nebo z jiných důvodů, je možné doplněk otevírat do samostatného okna. Tímto se dostáváme k první z výhod. Silverlight aplikace lze vytvářet bez fixních rozměrů, automaticky se přizpůsobující velikosti okna. Každému dle jeho monitoru, dalších otevřených oken a potřeb. Kdo má větší okno, uvidí více dat najednou. U webových aplikací se toho dosahuje obtížněji a ne vždy to jde tak precizně.

Rychlost práce a pohodlí

Samotná aplikace se ze serveru načte pouze jednou a pak zůstává dle možností, zpravidla dlouho, v cache prohlížeče. Při načítání dat přes webovou službu se načítají pouze data a nikoliv celá html stránka jako klasicky v CRM. Data se snažíme dotahovat po souvisejících skupinách. Dotahování po jednotlivých položkách je neefektivní - příliš vysoký podíl režie při navazování spojení s webovou službou. Při načítání všech dat najednou by se zase zbytečně dotahovala data, která ani nemusíme potřebovat. Všechny načtené produkty také cachujeme po dobu relace, ať již znovu nenačítáme to, co už jsme jednou načetli. Stejně tak ukládání můžeme provést najednou po větším množství změn (množství, pořadí, případně další u vepsaných produktů). V okně vidíme vše najednou a máme možnost údaje rychle změnit, bez ukládání také ihned vidíme celkový součet všech položek. Dialogové okno je tu pouze na přidání/úpravu do katalogu nezahrnutých produktů a jeho otevření/zavření je bleskové.

Ačkoliv události spojené s dvojklikem (double-click) ani přetahováním položek (drag-and-drop) v Silverlightu zatím nejsou přímo implementovány, není problém si je dodělat a těžit z jejich výhod. V našem případě to znamená čtyři možné způsoby přesouvání položek z horního okna do dolního tak, jak to každému vyhovuje, ať už myší nebo klávesnicí. Řádky v datagridech můžeme jednoduše řadit podle sloupců. Schopnost Silverlightu volat Javascriptové funkce své nadřazené html stánky jsme nakonec nevyužili, ale je možné ji použít k přenačtení okna, jeho zavření nebo k zavolání specifických funkcí v Microsoft CRM.

Práce s cookies je v Silverlightu také příjemná a bezproblémová. To lze využívat k pamatování různých uživatelských nastavení. U nás si pamatujeme poslední otevřenou položku ve stromě Předmětů a při dalším spuštění aplikace se nám otevře opět tato složka. Je to výhodné, protože zpravidla pracujeme s některými složkami častěji, můžeme chtít upravovat nějakou nabídku krátce po té, co jsme ji vytvořili a uložili nebo jsou ve větších firmách obchodníci, kteří mají na starost jen určité sekce a určité skupiny produktů. Když už píši o předávání dat a parametrů, stojí ještě za zmínku možnost předávat parametry z html souboru, kterou používáme k definici cesty k webové službě, která nám podává a zpracovává data. To nám umožňuje distribuovat aplikaci zákazníkům bez nutnosti kompilovat ji zvlášť pro každého zákazníka, dle umístění webové služby na jeho serveru.

Vzhled, orientace.

Různé komponenty lze vkládat do jiných komponent. Někdy to je využití smysluplné, někdy jen okrasné, někdy zbytečné. V naší aplikaci vidíme v Datagridu ve sloupci, který má být schopen editace textová políčka, lze tam použít samozřejmě i jiné komponenty jako zaškrtávací pole, výběr data a času, číselník, rozbalovací pole a další. Na některá tlačítka jsme přidali obrázky s tím, že tlačítko stále funguje tak jak má a je hezčí a intuitivnější. Těžiště přínosu Silverlightu sice nevidím v jeho možnostech vytvářet různé omalovánky a animace, ale jak víme, vzhled je často to, co prodává, a pokud to prospěje ergonomii, tak jen tak dál. V naší aplikaci jsou grafické prvky použity spíše střízlivě, ale snad potěší. Barevný tón a celkový vzhled jsme se snažili přiblížit Microsoft CRM, nejenže to tam líp zapadá, ale uživatele to i méně děsí, když je ve známém prostředí. Při zobrazení dialogového okna jsme použili částečnou průhlednost na podklad – stále vidíme objekty na pozadí, ale zároveň tušíme, že jsou nyní pro nás neaktivní. Pro signalizaci načítání/ukládání se spouští jednoduchá animace (otáčení) hvězdičky v rohu signalizující, že se něco děje, něco probíhá.

Úpravy

Tentokrát jsem se snažil zaměřit rysy Silverlightu, které lze přímo označit jako výhody pro koncové uživatele, nikoliv pro vývojáře, kterých je skutečně mnoho. Ale přívětivé vývojové prostředí s více možnostmi - např. oproti Javascriptu - uživatelům přinese rychlejší a levnější zpracování jejich požadavků a možnost větších a komplikovanějších aplikací.

A co dál?

Ukázali jsme si na konkrétním příkladu výhody použití technologie Silverlight v Microsoft CRM. Viděli jsme, že nejen v této situaci může být Silverlight rychlejší, pohodlnější, hezčí – tj. lepší. Takových míst může být mnoho a záleží pouze na poptávce a nápadech. Navíc jsme pouze usnadňovali činnost, kterou CRM již nabízí. Je jistě mnoho směrů, jak funkcionalitu CRM rozšířit, a využít tak např. výbornou práci Silverlightu s multimédii. Ještě více nápomocný může být Silverlight v extranetových a webových aplikacích, kde při tvorbě aplikací navázaných na CRM začínáme od nuly (žádné prostředí, formuláře…). Netvrdím, že vždy a všude, ale pokud jsme schopni ve specifických případech čelit problémům se SEO a ještě zdaleka ne tak velkým rozšířením Silverlightu, budou jeho výhody i našimi přednostmi.

Odkazy

video-ukázka, obchodní informace a prodej Add-onu Rychlá nabídka na www.ortex.cz

ORTEX spol s.r.o.
Comments are closed on this post.