CRM.Net
05/11/2007 16.57.24
CRM in Generale
Il CRM (Customer Relationship Management) è chiamato anche "1to1" (marketing one to one) o marketing
di relazione, ed è il nuovo strumento di marketing di questi anni. Alla base, però, ci sono le tecniche di
database marketing ben note e applicate da tutte le aziende che fanno del business to business. Esistono
sull'argomento molte definizioni e svariate scuole di pensiero, anche se tutte finiscono poi per confluire nella
stessa filosofia di business, e cioè "mettere il Cliente al centro del processo di marketing".
I più definiscono il CRM come un termine che raggruppa una serie di metodologie, tecnologie e attività di ecommerce (il noto commercio elettronico via Internet) utilizzate dalle aziende per gestire le relazioni con i
propri clienti (Stone & Woodcock 2001). Altri sostengono invece che è il concetto di far percepire al
consumatore l’idea di un “valore aggiunto” che crea l’opportunità di trasformare delle transazioni di
marketing basate sulla vendita in “relazioni con il cliente” (Christopher et al. 1998). Concetti che vengono
respinti o comunque corretti da svariati esperti di business, i quali argomentano che il marketing, nel suo
complesso, è la scienza e l’arte di trovare, mantenere ed accrescere consumatori che diano profitto (Kotler
1999); non lontano quindi dalle posizioni assunte da Theodore Levitt attraverso il suo ben noto aforisma
relativamente all’imperativo di “mantenere e gestire il cliente” (Levitt 1960).
Si delineano sostanzialmente tre grandi scuole principali di pensiero: quella di carattere strategico riferibile a
Kotler e Levitt, quella di carattere più tattico-operativa facente capo a Don Peppers, e una terza scuola che
potrebbe essere denominata “tecnologico-logistica” che si basa sull’impiego di strumenti tecnologici
(software applicativo) e organizzativi molto sofisticati (vedi illustrazione in alto) e che comportano anche
investimenti non indifferenti.
E’ importante il far rilevare che le tre scuole di pensiero non sono in contraddizione tra di loro, anzi, le loro
visioni del CRM vanno per lo più integrate al fine di averne un’idea applicativa chiara e concreta. Si tratta
più semplicemente del mettere maggiormente l’accento sugli aspetti strategici, operativi o tecnologici
dell’applicazione e, come è diffusamente descritto nel capitolo dello studio relativo alle tipologie di aziende
che applicano il CRM (vedi link a fondo pagina) e agli errori più comuni, è proprio a seconda dell’azienda e
della casistica di mercato (struttura della domanda e struttura dell’offerta) che si presenta, che è necessario
privilegiare l’uno o l’altro dei tre aspetti sopra descritti.
Il CRM si spinge sostanzialmente secondo tre direzioni differenti e separate:
1. L'acquisizione di nuovi clienti (o "clienti potenziali")
2. L'aumento delle relazioni con i clienti più importanti (o "clienti coltivabili")
3. La fidelizzazione più longeva possibile dei clienti che hanno maggiori rapporti con l'impresa (definiti
"clienti primo piano")
Alcune aziende cercano di non tenere conto di clienti che hanno poca importanza (definiti in gergo "clienti
sotto-zero") e attuano delle implicite tecniche definite, sempre gergamente, come "Demarketing".
Il CRM si articola comunemente in 3 tipologie:
1. CRM operativo: soluzioni metodologiche e tecnologiche per automatizzare i processi di business che
prevedono il contatto diretto con il cliente.
2. CRM analitico: procedure e strumenti per migliorare la conoscenza del cliente attraverso l'estrazione
di dati dal CRM operativo, la loro analisi e lo studio revisionale sui comportamenti dei clienti stessi.
3. CRM collaborativo: metodologie e tecnologie integrate con gli strumenti di comunicazione
(telefono, fax, e-mail, ecc.) per gestire il contatto con il cliente.
Infine, in una visione strategica, il CRM s’integra con gli altri strumenti di marketing ed è parte integrante
della politica di marca al fine di difendersi sia dalla concorrenza sia dai momenti di recessione. In quella
tattica di one-to-one, viene privilegiato l’aspetto operativo del contatto finalizzato alla vendita ai singoli
clienti, senza negare il concetto di segmentazione, ma creando strumenti “su misura” per i bisogni della
Pagina 1 di 10
CRM.Net
05/11/2007 16.57.24
clientela di particolare rilevanza. Nella scuola che privilegia l’aspetto tecnologico, si pone soprattutto
l’accento sul flusso del lavoro, che deve essere portato avanti in modo quasi automatizzato attraverso
programmi di software che mettono in comunicazione i diversi reparti dell’azienda attraverso una base di
dati comune a cui tutti devono fare riferimento e che costituisce il principio informatore per la gestione delle
relazioni con la clientela.
Risultati Attesi
In generale la soluzione CRM deve proporsi per razionalizzare il flusso di soluzioni commerciali che molto
spesso riguardano la quasi totalità dei settori aziendali. La soluzione proposte si prefigge quindi di aiutare
l’azienda tramite uno strumento che consenta di supportare gli operatori come di seguito riportato:
Marketing
•
•
•
•
•
Creazione di processi di marketing efficienti, controllabili e ripetibili.
Gestione centralizzabile dei prospect consente d'evitare problemi di sovrapposizioni e di anagrafiche
doppie ed incoerenti.
Creazione di librerie di documenti promozionali consente di uniformare e meccanizzare gli invii di
circolari, inviti ad eventi e lanci promozionali di prodotti.
Un sistema di gestione degli eventi e delle campagne consente una maggior efficienza nelle fasi
operative di realizzazione e in quelle successive di memorizzazione e controllo delle informazioni di
ritorno.
L'integrazione con gli altri sistemi di gestione dell'azienda consente una più semplice applicazione
delle operazioni di marketing ai clienti già presenti negli archivi ed il filtro delle entità che si intende
raggiungere
Pre Sales
•
•
•
•
•
Progressiva uniformazione dei metodi applicati, la costituzione di una base dati da utilizzare per le
proiezioni e per analisi sui fenomeni.
Tracciabilità di ogni trattativa e lo studio dei fenomeni ricorrenti.
Costituzione di una base di conoscenza sui processi e metodi usabile come oggetto di studio nella
formazione dei nuovi commerciali inseriti nel gruppo.
Operazioni commerciali su grandi numeri di destinatari con abbassamento del costo per la vendita.
Creazione automatica o guidata degli steps formanti ogni trattativa con possibilità di alert successivi
sui tasks da effettuare.
Quadro complessivo sul cliente
•
•
•
•
•
•
Fornire informazioni immediatamente fruibili per i commerciali, gli esecutivi e, se desiderato, i
partners.
Selezione di un cliente e la successiva possibilità di navigare su tutti i dati relativi.
Gestire facilmente le informazioni anagrafiche dei clienti e dei contatti interni.
Monitorare le trattative aperte e il loro stato.
Visualizzare i prodotti venduti.
Evidenziare i casi e segnalazioni aperte.
Semplificazione delle indagini sulle previsioni di vendita
•
•
•
•
Dare risposta sulla base delle trattative inserite.
Esame delle trattative che si presume si chiudano in un certo periodo.
Fare indagine alla ricerca di fenomeni ostacolanti il raggiungimento dei budget fissati.
Aiutare nell'individuare le aree di crisi e pervi rimedi o correttivi.
Pagina 2 di 10
CRM.Net
05/11/2007 16.57.24
Organizzazione delle chiamate dei clienti
•
•
•
•
Migliorare l'assistenza fornita anche grazie all'accesso ai dati dell'asset
Risolvere il problema alla prima chiamata!
Ridurre il costo ed i tempi di supporto ai clienti
Snellire i processi di gestione delle richieste
Presentazione Strutturazione del Programma
Il programma è strutturato a moduli divisi fra di loro non solo logicamente, ma anche fisicamente
dato che si tratta di file completamente distinti. Al contrario di molti applicativi presenti sul mercato
la gestione delle varie attività tramite il CRM avviene in maniera indipendente rispetto alle altre
permettendo una gestione rapida dei dati. Tutti i moduli sono caricati a runtime e suddivisi in
librerie che hanno al loro interno un collegamento virtuale con i moduli di base. La maschera di
collegamento dei vari moduli, che funge peraltro da contenitore (o MDI Form), si occupa di
interagire con i moduli stessi tramite eventi richiamati da programmi in esecuzione in quel
momento. La struttura logica di gestione e accesso ai dati è a tre livelli e suddivisa nel seguente
modo:
1) User Interface o interfaccia utente, la quale si occupa di visualizzare i dati agli utenti;
2) BO o business logic, sono i motori di interfacciamento fra il database e l’interfaccia
utente, si occupa della validazione dei dati e loro predisposizione per le azioni sulla base
dati;
3) DB o database, le tabelle del database.
Nonostante la strutturazione classica a tre livelli il programma ha come elemento evolutivo una
serie di gestori che consentono di gestire in modo virtuale anche tutta l’interfaccia utente.
Nell’architettura classica infatti i dati vengono rappresentati in campi fissi e parzialmente
personalizzabili, obbligando l’utente finale a chiedere sempre e comunque una personalizzazione
del programma in caso di necessità diverse da quelle proposte. Nel CRM le interfacce utente sono
gestite invece in modo completamente slegato da quella che viene definita come “Proposta
applicativa”, infatti tutti i campi e le loro proprietà sono presenti in nelle tabelle del database e di
conseguenza interamente modificabili. A questo punto va da sé che anche un utente meno esperto è
in grado, tramite delle semplici maschere di gestione, di personalizzare il programma a suo
piacimento. Per gli utenti più evoluti infine sono disponibili due strumenti aggiuntivi quali
VBScript e SDK. Con il primo dei due è possibile, limitatamente agli eventi gestiti, aggiungere
degli script che consentano sia di integrare che evolvere la logica di funzionamento attuale. Il
secondo dei due strumenti citati, sempre integrato nel programma, consente di creare nuove
maschere e modificare la base dati senza dover ricorrere alla programmazione. Elemento aggiuntivo
di sicuro interesse è la possibilità di integrare il programma di base con moduli aggiuntivi
utilizzando o meno le librerie di base fornite con l’SDK. Questa possibilità consente ad utenti
esperti di realizzare dei moduli aggiuntivi, scritti comunque in linguaggio .NET, e utilizzarli
all’interno del programma.
Per quanto riguarda infine la gestione delle stampe, lo strumento utilizzato è Crystal Report XI il
quale consente di personalizzare le stampe in maniera totale rispetto all’applicativo che le integra.
La gestione della comunicazione verso l’esterno, oltre all’integrazione con MS Office, consente di
esportare in formato XML tutte le griglie di visualizzazione dati durante il normale utilizzo del
Pagina 3 di 10
CRM.Net
05/11/2007 16.57.24
programma, in alternativa è possibile utilizzare una maschera apposita oltre che un collegamento
Diretto con il database.
Analisi tecnica strumenti
Database
SQL Server 2005 è una piattaforma completa per database per la gestione dei dati aziendali mediante
strumenti integrati di Business Intelligence (BI). Il modulo di gestione di database di SQL Server 2005
consente un'archiviazione più sicura e affidabile dei dati relazionali e strutturati in modo da poter creare e
gestire applicazioni aziendali ad elevate prestazioni e disponibilità.
Analisi e Modalità di Realizzazione del progetto
Il vero vantaggio competitivo delle soluzioni di CRM è dato dalle loro capacità di analisi più che dalle
attività operative. Può essere una sfumatura, ma l'approccio adottato dalle aziende che hanno investito
notevoli risorse in progetti molto articolati vede solitamente il CRM analitico come supporto al CRM
operativo. Naturalmente il CRM analitico non può prescindere dal CRM operativo, non fosse altro che per
una ragione di qualità dei dati su cui si compiono le analisi, ma bisogna tener ben presente che è il CRM
analitico a dare il vero valore aggiunto che può tradursi in vantaggio competitivo rilevante sui concorrenti.
Il CRM analitico deve quindi essere al centro della strategia che l'azienda ha posto in essere per divenire
sempre più orientata al cliente... Chiedendo ai responsabili delle strutture informative, ai responsabili
marketing o ai direttori generali cosa significa per loro introdurre il CRM in azienda, le risposte che si
riscontrano sono tutte orientate all'operatività aziendale: creare un call center, migliorare la customer care,
introdurre soluzioni di automazione della forza vendita per la propria struttura commerciale, fornire supporto
alla rete di dealer e di partner di canale. Senza alcun dubbio questi sono dei passi fondamentali e se i
competitor hanno intrapreso questa strada, non si può che allinearsi per rimanere competitivi. Ma una volta
realizzato e messo in funzione il CRM operativo, evidentemente viene a mancare l'elemento di creazione di
vantaggio competitivo. L'elemento che può far scattare il vantaggio competitivo è la capacità di gestire la
conoscenza e di realizzare nei confronti del mercato delle azioni ottimizzate, ovvero utilizzare strumenti
analitici in abbinamento a una profonda conoscenza del mercato.
Sta di fatto che il CRM analitico è stato un po' marginalizzato, soprattutto negli ultimi due anni in cui
le aziende hanno rivisto i budget IT sui nuovi progetti applicativi...
Questo rischio c'è, ma il CRM analitico non richiede investimenti paragonabili a quello operativo. Dai casi
che vediamo emerge un rapporto di 1:4 o di 1:5. Gli elementi fondamentali sono in fondo tre: customer
database, strumenti analitici, marketing automation. Queste tre cose non richiedono molti investimenti,
quello che richiedono è sicuramente molto lavoro di persone interne alla struttura che si devono allineare
(marketing, forza vendite e sistemi informativi che presidiano l'informazione). Inoltre è richiesto l'intervento
di partner qualificati soprattutto sulle tematiche dell'analisi che in prospettiva portino della cultura all'interno
dell'azienda.
Strutturazione Moduli
Anagrafica Generale: punto di unione di tutte le anagrafiche. In questo modulo vengono inseriti
tutti i dati comuni a tutte le anagrafiche quali: clienti, fornitori, agenti, concorrenti ecc. La
suddivisione fra le varie tipologie, gestite poi in moduli separati, avviene con dei semplici check
alternativi.
Pagina 4 di 10
CRM.Net
05/11/2007 16.57.24
Tabelle: all’interno di questo modulo vengono gestite tutte le voci di scelta che verranno utilizzate
all’interno del programma da parte degli utenti. Il modulo è diviso con una struttura a schede e
raggruppa in una gestione semplice di griglie le varie sezioni di scelta come ad esempio Tipologia
di Risposta Help Desk, Tipi di cliente, Modalità di pagamento ecc.
Banche: semplice gestione di un’anagrafica di banche. E’ utilizzata attualmente solo all’interno dei
moduli clienti, offerte ed ordini per dare una maggiore completezza ai documenti che vengono
inviati ai clienti.
Utenti & Gruppi: gestione di anagrafica utente e di raggruppamenti di utenti. Viene utilizzata
all’interno del programma per la gestione delle abilitazioni all’utilizzo dei vari moduli. Attualmente
non è prevista una gestione di sicurezza per singolo campo, ma solo a livello di modulo. Con una
semplice gestione in stile Windows è possibile gestire l’inserimento di utenti e di gruppi per
consentire un elevato livello di personalizzazione delle maschere dei moduli. E’ possibile consentire
ad ogni utente o gruppo, secondo la logica somma delle restrizioni, l’inserimento, visualizzazione,
modifica, eliminazione, stampa, export oppure la modifica delle maschere.
Anagrafica Clienti: il cliente è l’elemento principale del programma e all’interno di questo modulo
vengono raggruppati tutti gli elementi utili alla sua gestione tramite una struttura a schede
espandibile. Oltre ai dati di base comuni con l’anagrafica di base, il modulo utenti consente di
gestire sedi, riferimenti, offerte, ordini, attività di marketing, help desk, note e grado di
soddisfazione. Alcune schede, quali ad esempio le offerte, sono integrate con l’omonimo modulo
per consentire un rapido posizionamento sull’offerta o sull’ordine di interesse. Con la soluzione
approntata si assicura la gestione completa ed uniforme di tutti i contatti con i clienti (telefono,
lettere, visite, e-mail, fax, web), dalla pianificazione alla registrazione e analisi.
È sufficiente accedere al sistema per avere tutto sotto controllo, inserire nuove informazioni,
recuperare
note
relative
a
contatti passati e
controllare
quelli
pianificati.
E questo per tutto il personale aziendale. Ad ogni utente, infatti, vengono sempre presentate i suoi
contatti pianificati da eseguire, con la possibilità di recuperare tutte le informazioni necessarie allo
svolgimento dell’attività. Con pochi semplici passaggi, per i quali è possibile prevedere procedure
di automazione ancora più rapide, si registra il contatto avvenuto, completo di tutte le informazioni
relative (tipo di contatto, data, oggetto, contenuti, richieste, ecc.), e si pianifica la successiva attività
di follow up sul cliente. Tutti i contatti avvenuti sono registrati nello storico del cliente: ogni
informazione e ogni traccia delle relazioni con i clienti è a disposizione di tutta l’azienda. È
sufficiente aprire la scheda del cliente per ricordare, ad esempio, a quando risale l’ultima telefonata
o le richieste fatte in una recente mail.
Anagrafica Prospect: un prospect è un cliente potenziale e come tale rimane fino al momento in cui
non viene effettuato un ordine. Il cliente potenziale ha un trattamento pari a quello del cliente fatto
salvo per alcuni elementi che sono presenti nel cliente e verranno inseriti solo nel momento in cui
verrà effettuato il primo ordine es. banca di appoggio ecc.
Fornitori: tramite questo modulo è possibile gestire un’anagrafica di fornitore ed indicare, oltre a
delle note specifiche per ognuno, una lista di articoli che vengono forniti e associare ognuno di essi
ad un articolo presente nel listino. In questo modo è possibile infatti verificare quale fornitore
effettua il prezzo migliore per ogni singolo articolo, identificare eventuali fornitori preferenziali in
caso di urgenza per reperimento merce ed infine valutare quali siano i volumi e tempi di
approvvigionamento necessari per non dover aumentare le scorte di magazzino.
Pagina 5 di 10
CRM.Net
05/11/2007 16.57.24
Offerte: consente di gestire offerte, eventualmente corredate da immagini o file aggiuntivi, da
inviare al cliente in fase di preventivazione. I file aggiuntivi possono essere generali oppure
specifici, nel primo caso fanno capo alla tipologia di documento, nel secondo vengono inseriti
direttamente nell’offerta. Dall’interno di questo modulo è possibile, con una semplice selezione,
inserire gli articoli presenti in archivio oppure di utilizzarne di nuovi senza dover poi inserirli in
anagrafica.
Ordini: gestisce le conferme d’ordine dei clienti. Dall’interno del modulo è possibile inserire una o
più offerte, anche parzialmente, utilizzando una semplice maschera di scelta rapida. La struttura è
molto simile a quella delle offerte infatti anche in questo caso valgono i file aggiuntivi generali o
specifici.
Listino Articoli: all’interno del modulo è possibile gestire una semplice anagrafica di articoli
corredata da file aggiuntivi e immagini. Sono previsti degli sconti semplici che vengono poi
eventualmente integrati con quelli presenti in offerta. Attualmente non è prevista la gestione della
distinta base, ma in alternativa è in lavorazione la gestione dei Kit.
Help Desk: gestione delle richieste di assistenza post vendita. Tramite una interfaccia semplice, è
possibile inserire tutti i dati necessari per la gestione delle richieste di assistenza da parte dei clienti.
La richiesta riceve quello che viene comunemente denominato Ticket il quale viene poi utilizzato in
tutte le attività che vengono effettuate, ed inserite, da parte degli operatori incaricati della
risoluzione del problema. Questo modulo è integrato con il modulo Todo e con svariati altri dato
che, esempio pratico, una richiesta di assistenza può talvolta tramutarsi in richiesta di offerta.
ToDo: attività giornaliere. E’ stato pensato come elenco di attività da effettuare durante la giornata.
Si tratta di un modulo molto integrato con gli altri dato che la gestione degli altri moduli implica
una serie di promemoria commerciali che devono essere trattati in maniera semplice e soprattutto
chiara. Tramite questo modulo è possibile infatti avere sempre disponibile una lista di attività da
fare quali es. contattare un cliente a seguito di un’offerta fatta giorni prima oppure a seguito di una
campagna marketing.
Filtri Ricerca: primo dei moduli di statistica, viene utilizzato principalmente per avere una lista di
clienti esportabile poi nel modulo Marketing oppure es. in formato XML per effettuare stampe
unione in MS Word. Consente di creare, e salvare, dei filtri di ricerca personalizzati che contengono
tutti i dati anagrafici dei clienti.
Statistiche: tramite questo modulo è possibile avere delle statistiche che riguardino sia gli articoli
che il venduto dei clienti. Tramite delle semplici selezioni è possibile infatti filtrare dei dati per
avere es. la classifica degli articoli ordinati a partire dal più venduto sia in base al valore che in base
alle quantità.
Marketing: gestione delle campagne di marketing. Comunicare con i propri clienti è essenziale per
qualsiasi azienda. Guai a perdere il contatto con quelli che sono i reali fautori del successo
imprenditoriale. Spesso però le piccole imprese non dispongono del budget necessario per rivolgersi
a un'agenzia di comunicazione specializzata, il che le porta inevitabilmente a perdere contatto con la
propria clientela. Uno dei principi guida della comunicazione aziendale è "lavorare bene e farlo
sapere a tutti" e talvolta soddisfare solo il primo di questi due requisiti non è sufficiente a garantire
la prosperità del vostro business. Ma chi dice che le piccole aziende non possono realizzare in
autonomia campagne marketing di livello professionale, progettando brochure e newsletter,
individuando i clienti a cui inviarle,. Tramite questo modulo è possibile inviare ai clienti presenti
Pagina 6 di 10
CRM.Net
05/11/2007 16.57.24
all’interno di una lista filtrata, simile e quella dei filtri di ricerca, delle e-mail o dei fax. E’ possibile
anche esportare in formato XML il risultato dell’elaborazione in modo da poterlo poi eventualmente
trattare con programmi esterni.
SDK: gestione delle maschere e dei moduli. Ogni maschera, tramite un gestore apposito, riceve una
serie di informazioni presenti sul database. Queste informazioni contengono tutti i dati necessari
alla creazione ed al posizionamento dei controlli sulla maschera esposta all’utente. Il modulo SDK
consente quindi di gestire queste informazioni per creare maschere personalizzate ed eventualmente
nuove gestioni che non implichino programmazione diversa da quella di VBScript richiamati da
eventi specifici.
Framework: gestori form e visualizzazione dati. Ad eccezione di alcune maschere quali la gestione
Import/Export dati, non esistono interfacce di utilizzo tali da definire il framework come modulo a
se stante. E’ infatti un elemento di base del programma quindi tutte le maschere richiedono la sua
presenza. Si occupa di gestire le interfacce utente, preparazione dati per il DB e quanto altro
necessario all’interazione fra utente e DB.
Personalizzazione e parametrizzazione
La soluzione proposta, grazie all’infrastruttura e alla tecnologia applicata, consente un elevatissimo grado di
personalizzazione. Le modalità di azione per poter interagire con il CRM e personalizzarlo a piacimento
sono fondamentalmente quattro:
1)
2)
3)
4)
Livello Database;
Livello Runtime;
Scripting;
Verticalizzazione.
Livello Database
Una delle più importanti innovazioni di SQL Server 2005 è l'integrazione col CLR (Common
Language Runtime) del Framework .NET. L'integrazione col CLR permette a sviluppatori e
database administrator di creare stored procedure, trigger, funzioni usando uno dei linguaggi del
Framework .NET.
Un pensiero che ho avuto riflettendo sulla cosa è stato: "Ma anche nelle precedenti versioni di SQL
Server era possibile creare procedure esterne, usando le extended stored procedure oppure
utilizzando le stored procedure sp_oa per accedere a componenti COM... Non c'è nulla di nuovo
quindi!" Poi però, una volta viste le caratteristiche della nuova versione, mi sono dovuto ricredere.
Le extended stored procedure permettevano troppa libertà allo sviluppatore, l'integrazione col CLR
invece limita tramite le permission il raggio di azione del codice managed.
Il vantaggio a favore del CLR rispetto alle extended stored procedure è il semplice fatto che non si è
più obbligati ad utilizzare necessariamente C o C++ per svilupparle, ma è possibile spaziare e
utilizzare tutti i linguaggi supportati dal Framework .NET. Questo fatto permette una certa
flessibilità, una maggiore riusabilità del codice e l'uniformità del progetto di sviluppo, in quanto può
essere utilizzato il medesimo linguaggio managed in ogni sua parte.
Rispetto all'utilizzo delle stored procedure sp_oa (sp_oacreate, sp_oadestroy, ecc.) che permettono
l'accesso ai componenti COM tramite late binding, il codice managed è nettamente più performante
Pagina 7 di 10
CRM.Net
05/11/2007 16.57.24
e versatile. In ogni caso, se è proprio necessario utilizzare componenti COM, è possibile creare un
wrapper ad-hoc, risolvendo il problema in modo elegante.
Livello Runtime
Non esistono due aziende perfettamente identiche. Basti pernsare a tutto quello che contraddistingue
l’organizzazione di vendita: i processi, il modello aziendale unico, i prodotti e servizi originali e innovativi
che l’azienda vende. Ecco perché la soluzione proposta fornisce gli strumenti necessari a realizzare
un'esperienza di Customer Relationship Management (CRM) unica. Dopo aver previsto le opportune
abilitazioni, il cliente è in grado di personalizzare il contenuto delle maschera agendo direttamente
sull’interfaccia utente. Grazie a questa funzionalità è possibile aggiungere/eliminare campi, modificare
controlli ed effettuare tutte quelle operazioni normalmente riservate ai creatori dell’interfaccia stessa. Questa
funzionalità è personalizzabile sia a livello di utente che a livello di database quindi risulta possibile bloccare
l’accesso a determinate informazioni solo ad alcuni utenti.
Scripting
Grazie al motore di scripting inserito a livello di framework del programma, l’utente finale o il
programmatore, è in grado di inserire delle funzioni personalizzate che consentono di realizzare un maggior
livello di personalizzazione rispetto al livello Runtime visto in precedenza. Tramite il linguaggio VbScript è
possibile infatti interagire con tutti i controlli utilizzati a livello di interfaccia grafica in modo da poter es.
vincolare l’inserimento di determinati dati, richiamare programmi esterni o effettuare una semplice
validazione dei dati successiva a quella già presente nel programma. Trattandosi fra l’altro di un ambiente di
sviluppo indipendente dal programma stesso, il livello di personalizzabilità aumenterà con l’aumentare del
livello tecnologico del linguaggio VBScript.
Verticalizzazione
La soluzione proposta, basandosi su librerie di base e sul framework .NET di Microsoft, consente ad un
programmatore di poter interagire al livello di codice con gli eventi e i form presenti nel programma di base.
La soluzione è tecnicamente avanzata dato che, il form di base o maschera di Startup, non è altro che un
gestore di informazioni che possono essere alimentate da programmi esterni o da librerie proprie della
soluzione. In termini pratici, rispettando alcuni accorgimenti propri della buona programmazione, un utente
evoluto oppure uno sviluppatore, può inserire nel menù del CRM un programma esterno ad esso e consultare
es. degli archivi presenti in un'altra base dati oppure in un altro ambiente operativo. L’inserimento a menù di
un nuovo programma abilita quindi il CRM a diventare una sorta di “container” di programmi. Dopo aver
effettuato questa operazione, il CRM consente l’esecuzione per intero del programma nella propria area di
lavoro. Va tenuto conto che, a prescindere dal programma, il CRM non espone le proprie transazioni dati se
non tramite delle apposite funzioni. Questo infatti consente di rispettare l’integrità dei dati a livello del
proprio database. Qualora non fosse sufficiente interagire all’interno del programma solo inserendo a menù
una propria libreria, la soluzione proposta consente inoltre di utilizzare delle librerie di base per l’interazione
dei dati con database SQL Server. Utilizzando infatti queste funzioni, ed eventualmente i controlli presenti
nell’SDK, un utente anche meno evoluto può creare un programma aggiuntivo senza dover avere particolari
conoscenze di programmazione.
Oltre a quanto visto fino ad ora, grazie all’utilizzo di Crystal Report per la realizzazione delle stampe, ogni
utente o azienda può personalizzare le stampe a proprio piacimento. Per quanto riguarda poi i documenti
generati a partire dalle stampe, risulta possibile esportare, secondo gli standard di Business Object, qualsiasi
elemento nei formati comunemente utilizzati quali ad es. PDF o MS Word.
Pagina 8 di 10
CRM.Net
05/11/2007 16.57.24
Protezione da copie illegali
All’apertura del programma il gestore delle maschere si incaricherà di verificare se sul server o
sulla postazione identificata come tale, è presente un codice di licenza valido altrimenti visualizzerà
un avviso di mancanza licenze. Il programma a quel punto avrà un termine sia per quanto riguarda il
numero di volte in cui sarà aperto sia per quanto riguarda un arco temporale prima di attivare la
licenza. Scaduto tale termine nessun modulo del programma potrà funzionare dato che, in fase di
caricamento di ogni modulo, viene verificato se, all’interno del contenitore di maschere, è presente
un codice di attivazione valido. L’attivazione della licenza avviene tramite il completamento di una
maschera presente in un sito web appositamente predisposto.
Possibilità di implementazioni Future
Non considerando un’eventuale interfaccia web del programma, evoluzioni future significative del
programma si potranno avere con il consolidamento del .Net Framework 3.0 attualmente già
distribuito in forma definitiva, ma interessato da varie problematiche legate soprattutto alle nuove
tecnologie quali Windows Presentation Foundation (WPF). E’ proprio questa tecnologia che
potrebbe dare al programma una grafica sicuramente migliore dell’attuale grazie soprattutto
all’adozione di maschere in formato XAML e grafica vettoriale. Per quanto riguarda poi altre
evoluzioni va citata la portabilità verso altri database quali Oracle o MySQL in modo da poter
evitare di dover installare forzatamente SQL Server nella macchina dove sono già presenti altri
RDBMS.
Ultima, ma non per importanza, è sicuramente l’evoluzione legata ai suggerimenti che deriveranno
sia dal programma di beta testing che dagli utilizzatori finali.
Pagina 9 di 10
CRM.Net
05/11/2007 16.57.24
Requisiti
Requisiti hardware Server
Microsoft CRM Server richiede la seguente configurazione hardware minima:
• Computer/processore: Intel Pentium (Xeon PIII) con 1 Ghz o superiore o CPU compatibile
•
•
•
(consigliata) Pentium 4 2 Ghz
Memoria: 512 megabyte (MB) di RAM
Disco rigido: IDE o SCSI con sistema di protezione dati RAID 1 o 5
Scheda di rete: 10/100 megabit
Requisiti software Server
Nella seguente tabella sono indicati i requisiti software di Microsoft CRM Server.
Componente
Sistema operativo
Windows 2000 Server
• Microsoft Windows 2000
Windows Server 2003
• Microsoft Windows Server 2003,
Server
Standard, Enterprise o Web Edition
• Microsoft Windows 2000
Advanced Server
Tutti con i Service Pack più aggiornati
Tutti con i Service Pack più
aggiornati
Microsoft Data Access
Versione 2.71a
Components (MDAC)
Versione 2.8 (inclusa in Windows Server
2003)
Microsoft .NET Framework
Installato insieme a Microsoft
Installato insieme a Microsoft SQL Server
2
SQL Server 2005
2005
Requisiti Client (Adibito a Server CRM)
•
Consigliato PC con velocità di clock del processore da 2 Ghz MHz o superiore; consigliato processore
Intel Pentium/Celeron, AMD K6/Athlon/Duron o compatibile.
•
Si consiglia 512 MB di RAM
•
10 GB di spazio disponibile su disco rigido*.
•
Scheda video e monitor Super VGA (800 x 600) o risoluzione superiore.
•
Unità CD-ROM o DVD.
Pagina 10 di 10