subota, 1. siječnja 2011.

CRM 4.0 VHD za Microsoft partnere

Dobio sam nekoliko upita na temu gdje se mogu skidnuti gotovi CRM VHD-ovi pa evo zgodan link na temu: http://elevenfourteen.com/crm/microsoft-dynamics-crm-4-0-vpc-images-available/

utorak, 9. veljače 2010.

CRM 5.0 - Platform for xML solutions!

Check out this great DEMO from the PDC on xML topic:






Get Microsoft Silverlight

subota, 19. prosinca 2009.

Field level security in Microsoft Dynamics CRM 4.0

Small feature, many business reasons to have it ... Microsoft has recently published some info how to perform this feature, check out - http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=471f8670-47b3-4525-b25d-c11a6774615c

četvrtak, 17. rujna 2009.

petak, 14. kolovoza 2009.

Microsoft Dynamics CRM as xRM

Microsoft Dynamics CRM 4.0 kao platforma za brzi razvoj poslovnih rješenja

Upravo smo definirali poslovni proces, koji sada moramo informatički popratiti – ići razvijati aplikaciju „od nule“ vrlo je bolno – može li sve proći jednostavnije korištenjem gotovih arhitektura?

Nakon instalacije novog Microsoft Dynamics CRM sustava, bez ikakvih prilagodbi imamo rješenje koje nam može pomoći poslovanju gotovo svake organizacije u domeni prodajnih, marketinških i uslužnih aktivnosti. Jednako tako, bez nužnih početnih prilagodbi gotovo je i neupotrebljiv u praktičnoj primjeni. Svaka organizacija ima svoje specifičnosti, te se od CRM rješenja očekuje i da ih može popratiti. Microsoft je u svojoj zadnjoj verziji CRM rješenja, otišao toliko daleko, da već postoje gotova rješenja koja čine ovaj proizvod gotovo neprepoznatljiv u odnosu na stanje koje dobijemo samo instalacijom.

No krenimo redom, vratimo se na početni zahtjev – praćenje poslovnog procesa. Uzeti ćemo za primjer slučaj tvrtke koja se bavi organiziranjem poslovnih susreta, događanja, konferencija. Potrebno je izgraditi sustav koji nam omogućava praćenje svih pojedinaca i kompanija čije podatke imamo – gdje tko radi, čime se bavi, i koje su sve komunikacije između nas i njih. Također, potrebno nam je izgraditi sustav u kojem ćemo te ljude vezati uz konferencije na kojima su bili (ili planiraju ići). Naravno, želimo to povezati sa našim vanjskim web stranicama, kako bi omogućili prijave i odjave na konferencije, sa mogućnošću automatskog slanja ponuda prema korisnicima. Internih korisnika planiramo da će biti dvadesetak, podijeljenih u nekoliko uloga, te veliki broj vanjskih korisnika – sa kojima radimo interakcije.

U razmišljanjima imamo dva smjera – krenuti razvijati aplikaciju „od nule“ u sljedećim slojevima: korisničko sučelje; poslovna logika; baza podataka. Bez obzira na izbor velikog broja opcija nad svakim slojem aplikacije, razmišljamo i o: mogućnosti interakcije sa ostalim sustavima (vanjski web, e-mail, ERP, … ), sigurnosne postavke, zadovoljavanje performansi kroz skalabilnost, sustav izvještavanja, backup. Definirajući sve ove detalje trošimo znatne resurse, bez da smo uopće započeli rješavanje poslovnih ciljeva, te se često nakon svih planiranja dovedemo do točke gdje shvatimo da smo krivo postaviti jedan od ranije navedenih osnovnih elemenata rješenja.

Drugi smjer u razmišljanjima je odabir jedne od postojećih platformi za razvoj poslovnih rješenja, te ga nadograđivanjima prilagoditi našem poslovnom procesu. U velikom broju već gotovih, svakako ne smijemo izostaviti i Microsoft Dynamics CRM. Samom instalacijom dobivamo sljedeće komponente: troslojnu arhitekturu prilagođenu prilagodbama; mogućnost integracije sa ostalim sustavima na sva tri sloja rješenja, izrazito funkcionalan i razrađen sigurnosni model, razrađen model baze podataka, višejezično sučelje (web, mobile, Outlook integracija) – te najvažnije od svega – velike mogućnosti razvoja novih funkcionalnosti sustava.

Početak razvoja rješenja – funkcionalna analiza
Ako smo se odlučili za Microsoft Dynamics CRM kao platformu za razvoj našeg rješenja – nazovimo ga „Event management“, prvi korak je da napravimo funkcionalnu analizu što naše rješenje mora zadovoljiti. Primjećujemo da se odmah počinjemo baviti pitanjima – za što nam služi rješenje – koji su nam obrasci potrebni, kako to vidi interni, a kako vanjski korisnici, koji su atributi koji su nam potrebni po svakom objektu, koji su nam izvještaji potrebni i sl. Bez suvišnih – tehničkih pitanja.

Evo ukratko kako smo definirali naš zahtjev – trebamo entitet (tj. objekt) Događanje koji ima desetak podataka koji opisuju pojedini Događaj, te uz njega vezati entitet Korisnik sa također desetak atributa. Veza je tipa N:N, te na poveznici imamo također desetak atributa. Radimo dva sustava – jedan za interno korištenje koji ima sve podatke, no vrlo je striktno ograničeno tko smije vidjeti koje podatke, tj. svaki tim vidi samo podatke vezane uz njegova Događanja. Drugi sustav je vanjski web, na koji se Korisnik ulogirava svojim pristupnim podacima, te je u mogućnosti prijaviti se za određeno Događanje. U tom slučaju želimo da sustav Korisniku pošalje ponudu, a interne korisnike obavijesti o ovoj prodajnoj prilici. Izvještavanje želimo imati podijeljeno na dva dijela. Prvi dio je na internom portalu tvrtke, gdje svi zaposlenici mogu pratiti jednostavnu KPI analizu po svakom Događanju i to: broj sudionika vs predviđeni broj, ukupna zarada vs predviđena, broj realiziranih prodajnih prilika vs broj poslanih ponuda i sl. Drugi dio je operativnog karaktera za interne korisnike koji dnevno trebaju razne izvještaje od broja aktivnosti koje su odrađene taj dan, do detaljnog pregleda svakog Događanja sa svim pojedinostima: broj prijavljenih/potvrđenih sudionika, uvid u sve poslane ponude, komentare korisnika i sl.

Razvoj rješenja
Nakon detaljne analize Funkcionalne specifikacije rješenja, uviđamo koje su sve prilagodbe potrebne nad novo-instaliranim CRM rješenjem. To su kreiranje novog objekta Događanje (sa našim novim atributima), te povezivanje istog sa postojećim Korisničkim entitetom (također sa setom novih atributa). Ostaje nam prilagodba korisničkog sučelja za interne korisnike. Kompletan do sada navedeni dio radimo u CRM web sučelju, te ako smo u ulozi System Administrator, bez problema dodajemo u sustav novi entitet, te mu vežemo kako atribute, tako i N:N vezu prema sistemskom entitetu koji nam služi kao entitet Korisnik.

Dodavanjem novog entiteta (ponovo – kroz CRM web korisničko sučelje), entitet je dodan u SQL bazu (kao nova tablica u CRM bazu), postavljeni su foreign key-evi prema vezanim tablicama, te su automatizmom kreirani svi view-i za kasniji lakši rad sa entitetom. Na srednjem sloju aplikacije, web-servisu, također je dodan naš novi entitet, te je dobio mogućnost „klasičnog“ rada sa njim: dodaj novi zapis, modificiraj, obriši, dodijeli, dodijeli prava, zabrani pristup,… Na najvišem sloju, korisničkom sučelju, imamo mogućnost rada sa našim entitetom u smislu – kreiranje forme za rad korisnika (sa dovoljnim brojem podržanih opcija za veliki dio poslovnih zahtjeva), kreiranje različitih pogleda na podatke koji će biti sadržani unutar entiteta, te razne postavke za pretraživanje i povezivanje sa drugim entitetima. Ukoliko ipak imamo zahtjev koji ne možemo riješiti odabirom nekih od postavki, imamo jednostavnu mogućnost ubacivanja JavaScript dijela koda, bilo na nivou pojedinog dijela forme, bilo na cijeloj formi (onLoad, onSave eventi).

Prebacivanje na produkcijsko okruženje i testiranje rješenja
Nakon kreiranja dijela sustava za interne korisnike (nativno CRM sučelje prošireno i modificirano našim potrebama), potrebno je migrirati sve prilagodbe na okruženje koje će uskoro postati produkcijsko. Ponovno korištenjem CRM sučelja (modul prilagodbi), sve do sada napravljene prilagodbe izvozimo u .zip datoteku, koju direktno uvozimo u produkcijsko okruženje. Ponovno, vrlo elegantno i efikasno rješenje.

Testiranja svih rješenja baziranih na CRM platformi, vrlo su pojednostavljena, te fokusirana isključivo na izvršavanje poslovnih zadataka, umjesto na klasično – traženje logičkih ili algoritamskih grešaka razvojnog tima. Vrijeme testiranja aplikacija znatno je smanjeno, i samim time ponovno ubrzan ukupno vrijeme kreiranja kompletnog rješenja.

Integracija sa vanjskim web stranicama
Nakon što smo postavili bazno rješenje (koje će koristiti interni korisnici), vrijeme je da se pozabavimo web stranicama koje će koristiti vanjski korisnici kao oni koji se žele prijaviti na neko od Događanja, pronaći neku informaciju vezanu uz događanje ili jednostavno ažurirati svoje podatke u sustavu.

Obzirom da nam je SQL baza već spremna, i imamo gotove web-servise koji komuniciraju sa bazom ostaje nam kreirati sučelje web stranica, te se pozabaviti njihovim izgledom i načinom interakcije sa korisnicima. Kako je ranije napomenuto, ne samo da već imamo razvijene web-servise za osnovne funkcije dodavanja, modificiranja i brisanja podataka, njih koristimo (jednako kao i nativno CRM sučelje) i za „napredne“ funkcionalnosti kao – kreiraj ponudu za trenutnog korisnika nad označenim eventom, te istu pošalji e-mailom koristeći ranije kreiranu šprancu (ponovno unutar CRM-a). Sve navedeno osigurava nam da se bavimo kreiranjem korisničkog iskustva korištenjem našeg servisa prijave na Događanje, umjesto trošenja velike količine resursa za postavljanje osnovnih funkcionalnosti rješenja.

Postavljanje sustava izvještavanja
Sustav izvještavanja uobičajeno se u projektima rješava kao zadnja stavka, i u slučaju rada sa CRM sustavom, biti će riješena vrlo brzo nakon dobivanja jasnog zahtjeva korisnika. Većina operativnog izvještavanja koje je potrebno samim internim korisnicima sustava, već je riješena prilikom postavljanja osnovnog sustava – na primjeru našeg novog entiteta Događaj, automatizmom su kreirani filtrirani pogledi: Moji Događaji, Aktivni Događaji, Neaktivni događaji itd. Ukoliko nam nedostaje filtrirani pogled, korištenjem sučelja jednostavno dodajemo novi – npr. Događaji koji se održavaju sljedeći mjesec, te ovaj pogled postavljamo kao default koji se otvara svim korisnicima. Sve podatke koje vidimo na ekranu, u svakom trenu možemo izvesti u Excel, te nastaviti našu analizu u njemu. Pritom imamo opcije zadržati vezu između pogleda i novokreirane Excel tablice, te korištenjem samo te Excel tablice uvijek imati uvid u svježe i aktualne podatke bez otvaranjem CRM sučelja.

Drugi dio izvještavanja – prikazivanje podataka na internom portalu tvrtke možemo ostvariti integracijom portala direktno na SQL bazu (gdje je simplificiran rad korištenjem gotovih view-a), korištenjem SQL Reporting Service alata za prikaz podataka, ili korištenje PerformancePoint servera kao alata koji će nam kreirati dashboard pogled nad kompletne podatke koje pohranjujemo u bazi.

Go-Live faza!
Sve je spremno! Imamo rješenje postavljeno u razvojnom i produkcijskom okruženju, povezano je sa vanjskim web stranicama, gotov je sustav izvještavanja, ostaje nam rješenje pustiti u rad. Kao i u svim drugim sustavima, velik je rizik od neprihvaćanja od strane korisnika, te je edukacija i podrška u radu ključan faktor za što jednostavnije prihvaćanje od strane korisnika. Isplativim se pokazalo potrošiti vrijeme na upoznavanje korisnika sa mogućnostima sustava, raznim načinima rada, te educirati korisnike da mogu sami kako kreirati izvještaje potrebne sebi, tako i korištenjem „workflow“ funkcionalnosti sami automatizirati rutinske zadatke, te na taj način samostalno unaprjeđivati vlastitu produktivnost.

Nakon obavljene edukacije, rješenje je spremno za produkciju, te možemo proglasiti projekt kreiranja poslovnog rješenja gotovim, i prijeći u operativni dio održavanja poslovnog sustava sa konstantnim nadograđivanjima. Zasigurno – na dobrim osnovama.

Šećer za kraj….
Upravo prilikom pisanja ovog teksta, izašao je i jezični paket za Microsoft Dynamics CRM. Drugim riječima Microsoft Dynamics CRM je od sada dostupan i na hrvatskom jeziku što će uvelike povećati zainteresiranost za sustavom, te olakšati prihvaćanje korisnika za korištenjem istog. Iako će se svi potruditi pronaći prijevode termina koji ne zadovoljavaju uvriježenoj terminologiji, svakako treba pohvaliti ovu inicijativu koju smo svi dugo iščekivali.