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