IL NUOVO ERP NELL’ERA DEL CLOUD COMPUTING DOVUNQUE NQUE AL MONDO COME ALLA VOSTRA SCRIVA SCRIVANIA Avete mai provato ad utilizzare un programma gestionale nel browser Internet? Se sì, vi sarete accorti che, a fronte del vantaggio di poterlo utilizzare ovunque, il prezzo da pagare è altissimo in termini di interfaccia, contenuti ed usabilità. Ecco perché, nell'era del web, i gestionali continuano per lo più a funzionare sul desktop. X-Cross è l'unico programma che vi permette di lavorare in Internet senza perdere nessuna delle funzionalità a cui siete abituati nei programmi desktop. E questa è solo una delle sue eccezionali caratteristiche... Browser: dove e quando? TECHNOLOGY TO THE MAXIMUM E TENT LA TECNOLOGIA SMART CLIENT Oggigiorno, essere fruibili su Internet è diventato un must per le applicazioni gestionali aziendali (ERP). Gli utenti sono ormai abituati all'idea che le applicazioni debbono essere utilizzabili dovunque ci si trovi, e non accettano il fatto che i programmi gestionali siano l'eccezione a questa regola. I programmi che insistono nel vecchio approccio desktop only, e che demandano l'utilizzo in rete all'emulazione di terminale (terminal Server o Citrix) saranno presto condannati all'obsolescenza. Sfortunatamente, non esiste la possibilità di avere nelle applicazioni in Internet le stesse modalità operative dei programmi desktop. Nel caso di applicazioni semplici e che debbono essere utilizzate in modo occasionale da utenti più o meno profilati (home banking, acquisti on line, ecc.) le applicazioni browser sono la scelta ottimale con minimi svantaggi. Il grado di interattività che le applicazioni debbono offrire è limitato, trattandosi di funzionalità semplici che debbono essere svolte da persone non addestrate. Anche i tempi di risposta del sistema non costituiscono certo un grosso problema, dato l'uso sporadico che viene fatto di queste applicazioni. ERP nel browser Lo stesso non vale per l'utilizzo di programmi di tipo ERP, che svolgono funzioni complesse e vengono utilizzati da personale addestrato, che fa parte dell'organizzazione e che utilizza i programmi in maniera molto più intensiva. In questo contesto, ci si è presto accorti che i vantaggi che l'approccio desktop può offrire sono insostituibili, e che l'utente finale non accetta quello che viene percepito come un passo indietro rispetto a quanto era abituato ad avere nei programmi desktop, anche se questo avviene in cambio dell'apertura ad Internet. O meglio, non esisteva... Applicazioni browser Sulla spinta di queste esigenze, la prima risposta a questa domanda di accessibilità in rete è stata lo sviluppo di applicazioni basate su browser, le quali presentano una serie di caratteristiche positive: t/FTTVOBJOTUBMMB[JPOF t7FSTJPOJTFNQSFBMMJOFBUF t"DDFTTJCJMJUËEBSFUF Applicazioni desktop D'altro canto i tradizionali programmi desktop hanno dalla loro una lunga serie di vantaggi: t Interfaccia ricca, funzionale e veloce t6UJMJ[[PEFMMFrisorse delle CPU locali t Utilizzo dell'hardware locale (dischi, scanner, lettori di barcode, RFID, strumenti di misurazione, ecc.) tInterazione con altri programmi sul computer locale Questi vantaggi vengono del tutto persi nelle applicazioni browser. Il fatto di dovere caricare le strutture di manipolazione dei dati (finestre e metodi) insieme ai dati stessi limita fortemente l'operatività e peggiora sensibilmente la “user experience” di chi utilizza i programmi. Questo non è stato accolto con favore dagli utenti. Le varie tecnologie tese a spostare l’intelligenza operativa sul client RIIA, Ajax, Java Script) hanno migliorato la situazione, ma il divario con i programmi desktop è comunque incolmabile: per convincersene basta paragonare Google Docs con Word o OpenOffice. E CELLENT CONNECTION ANYWHERE ERP Smart Client Come sempre accade in questi casi, qualcuno ha cercato un sistema che permettesse di avere la maggior parte dei vantaggi delle due soluzioni, minimizzandone gli svantaggi. Il risultato di questo sforzo è la tecnologia denominata Smart Client. I programmi Smart Client sono costituiti da due parti, una sul server ed una sul client. Le varie funzioni necessarie in un programma (interfaccia, lettura ed aggiornamento dei dati, calcoli, ecc.) vengono eseguite dove risulta più opportuno, massimizzando l'efficienza dell'intero sistema. Il collegamento tra server e client viene effettuato utilizzando Web services per la trasmissione dei dati. Oltre a ciò, per ottenere il massimo di prestazioni, vengono utilizzate alcune tecnologie proprietarie: t )J3F$ DPMMFHBUP B $SPTT $MPVE QFSNFUUF MhBHHJPSOBNFOUP EJ TUSVUUVSF complesse in una unica operazione t -B TUSVUUVSB EBUJ PUUJNJ[[BUB DPO JM NPEFMMBUPSF QFSNFUUF VOB NBHHJPSF efficienza nelle letture e nelle scritture t-FTUPSFEQSPDFEVSFTFEJUSJHHFSOFMEBUBCBTFEFNBOEBOPVOBHSPTTBTFSJF di operazioni al database stesso, con un enorme guadagno prestazionale t-BQPTTJCJMJUËEJFTFHVJSFTUBUFNFOU42-NVMUJQMJSJUPSOBOEPTFUNVMUJQMJEJ dati riduce i tempi di lettura Il risultato è che l'utente utilizza il programma sempre allo stesso modo sia in rete locale sia in Internet, senza perdere nulla della funzionalità, dell'interfaccia, della possibilità di collegarsi ad hardware esterno e delle possibilità di interazione con altri programmi. SaaS - Software as a Service La modalità SaaS di utilizzo del software si è scontrata fino ad oggi con la scarsa qualità ed usabilità dei programmi, funzionanti nel browser, disponibili in questo modalità operativa. In pratica si è ricorsi all'utilizzo in modalità emulazione di terminale (Terminal Server ed equivalenti), con i conseguenti problemi di costi, risorse, ampiezza di banda ed interazione con il computer client che chi lavora nel settore ben conosce. Saas Smart Client X-Cross permette l'utilizzo del programma in modalità SaaS senza sacrificare nessuna delle funzionalità del programma desktop, compresa l'interazione con l'hardware locale e con altri programmi installati sul client; allo stesso l'infrastruttura hardware e software del lato server è estremamente ridotta sia rispetto alla modalità terminale (non è necessaria una macchina virtuale per utente) sia anche rispetto a quanto richiesto per un programma funzionante nel browser. E ACTLY WHAT YOU NEED *-4*45&."%*47*-6110$3044.0%&Semplicità dalla complessità La complessità dei moderni ERP è tale che che essi sono costituiti da un numero di righe di codice estremamente elevato. Noi siamo voluti andare nella direzione opposta, e quindi per prima cosa ci siamo creati il linguaggio di programmazione adatto, CrossModel, a sua volta sviluppato nel linguaggio Omnis Studio della Tigerlogic Corp. (http://www.tigerlogic.com/tigerlogic/omnis/) X-Cross ha un numero di righe di codice inferiore di oltre il 90% rispetto al nostro prodotto precedente, Target Cross, che già era, da questo punto di vista in grande vantaggio rispetto alla maggior parte dei concorrenti. Rispetto ai prodotti sviluppati in .Net o Java, la diminuzione di righe di codice è dell'ordine delle 100 volte. Questo comporta non solo un risparmio di tempo di programmazione, ma riduce le possibilità di errore ed i tempi di debugging. Questo eccezionale risultato, reso possibile dall'altissimo livello di sofisticazione del tool di programmazione CrossModel e del linguaggio Omnis Studio sottostante, va anche a vantaggio del rivenditore, che può sviluppare personalizzazioni con tempi e costi ridotti e senza ulteriori oneri di mantenimento, grazie alla tecnologia DCM (Dynamic Customization Management). Modellatore di dati Lo strumento base di CrossModel è un modellatore di dati, simile per alcuni versi a quelli presenti sul mercato, ma che rispetto all'utilizzo di questi ultimi presenta alcune importanti differenze. Struttura dati visibile dal programma - Mentre utilizzando un modellatore dati esterno l'unico punto di contatto con il nostro programma è il database, utilizzando CrossModel la struttura delle relazioni è visibile dal programma e può essere utilizzata automaticamente ed efficientemente. Aggiornamento database automatico - Ogni qualvolta viene rilasciata una versione che comporta una modifica della struttura dati, questa viene aggiornata automaticamente a prescindere dalla versione di partenza. HiReC – Hierarchical relational Converter – Questa tecnologia consente di lavorare con strutture di dati aderenti a quanto richiesto in un programma gestionale, senza doversi preoccupare della memorizzazione e lettura dei dati stessi in database di tipo relazionale. In qualunque programma di gestione dati, ed in misura ancora maggiore in un ERP, ci si trova a dovere utilizzare strutture dati di tipo complesso e multilivello. Ad esempio un ordine cliente è costituito da una testata, dalle righe, e da altre tabelle. Questa struttura, che per l'utilizzatore ha un significato unitario (un ordine cliente), dal punto di vista del database è composta da un grosso numero di tables e views. La tecnologia HiReC permette di trattare questa mole di informazioni come un unico oggetto, aggiornando tutte le tabelle collegate tra di loro come se si trattasse di un tutto unico. E' sufficiente definire le relazioni tra le tabelle nel modellatore di dati, e poi creare la Smart Query con le relative sub tables, che possono essere NVMUJMJWFMMP)J3F$TJPDDVQFSËEJMFHHFSFJEBUJJOVOBVOJDBPQFSB[JPOFFEJ aggiornarli sul database con un unico metodo. Questo tipo di approccio ha due importantissimi vantaggi: t Consistenza dei dati - Gli aggiornamenti vengono fatti con un unico statement SQL ed in una unica transazione, per cui o tutto va a buon fine oppure tutto viene annullato. t Operatività sul Web - Gli aggiornamenti vengono fatti con una sola trasmissione dati, raggiungendo una velocità operativa molto maggiore. CrossSql – Per ottenere la massima velocità operativa, l'utilizzo di stored procedures e triggers si rivela indispensabile. Dato però che i vari linguaggi SQL non sono uguali tra di loro, queste parti del programma dovrebbero venire scritte separatamente per i vari database. SQL grafico – CrossSql è un metalinguaggio che permette la scrittura di codice SQL in modalità grafica, con un notevole risparmio di tempo rispetto all'utilizzo di un editor di testo. Traduttore SQL – CrossSql, partendo dal metalinguaggio, è in grado di generare codice SQL nei vari “dialetti” dei database supportati. %$.o%:/".*$$6450.*;"5*0/."/"(&.&/5 La tecnologia DCM di X-Cross permette di gestire le personalizzazioni in librerie del tutto separate dal programma base, rendendo estremamente semplice l'aggiornamento alle versioni successive. Librerie gerarchiche Per utilizzare una personalizzazione, il programma standard deve essere “consapevole” della sua presenza. In X-Cross, ogni volta che una classe del programma viene utilizzata (finestre, toolbar, menu, report, ecc.) viene prima cercata nelle librerie di personalizzazioni, secondo una definita gerarchia, e se non viene trovato nulla viene utilizzata la classe standard. In questo modo ogni classe personalizzata, se presente, automaticamente sostituisce quella standard, altrimenti il programma esegue la modalità standard. Windows modulari Le finestre del programma sono organizzate in windows e subwindows a vari livelli; in questo modo è possibile intervenire solo sulle strutture da modificare, lasciando inalterato il resto. Container windows Creando subclass ereditarie, sorge il problema dell'interferenza delle parti standard con i dati aggiuntivi. Questa tecnologia permette di vedere la finestra standard attraverso un “contenitore” personalizzato, eliminando il problema. Aggiornamenti del programma In questo modo gli aggiornamenti sono oltremodo semplici, in quanto si limitano a sostituire le parti standard del programma, lasciando quelle personalizzate. Le strutture dati Il modo in cui i dati sono strutturati è fondamentale per la gestione di qualsiasi personalizzazione: Praticamente ognuna di esse richiede di memorizzare dati diversi rispetto allo standard. Schema extensions La maggior parte delle personalizzazioni comprende la gestione di dati aggiuntivi specifici. In X-Cross tutte le tabelle possono avere uno schema collegato (extension) che contiene i dati specifici per la personalizzazione. Query subclasses Le tabelle custom legate allo schema possono venire poi visualizzate creando subclasses delle queries, in cui sono aggiunti i dati personalizzati. Per non interferire con le queries standard, queste subqueries creano una view di nome diverso nel database. Queste subqueries vengono utilizzate automaticamente al posto di quella standard. E TENDED FLEXIBILITY NE T GENERATION ERP Il programma più avanzato sul mercato In un mercato sempre più selettivo, è importante poter disporre di un ERP che sia in grado di dare un vantaggio competitivo, e questo è l'obiettivo del nostro nuovo ERP. Le innovative caratteristiche (smart client, motore di personalizzazioni, sistema di sviluppo), unite alla qualità ed alla completezza del prodotto, rendono X-Cross un programma estremamente avanzato tecnologicamente, che allo stesso tempo può sfruttare un'esperienza di oltre 25 anni nel campo gestionale. Il risultato è un mix ineguagliabile di tecnologia, funzionalità e semplicità operativa in grado di adattarsi con successo ai clienti più esigenti. 6OBTPMJEBTUSVUUVSBUFDOJDBFDPNNFSDJBMF Pro.Sy.T. S.r.l. (www.prosyt.it), il nuovo distributore ufficiale dei prodotti della Cross Software Ltd. (tra cui X-Cross), vanta una lunga tradizione e know-how nel mondo gestionale e nelle metodologie di introduzione e implementazione di soluzioni ERP, nonchè del cambiamento organizzativo derivante nelle aziende. Cross Software Ltd. ha scelto Pro.Sy.T. S.r.l. come partner strategico in funzione della determinante capacità di analisi e sviluppo software che la caratterizzano, fondamentale per rendere X-Cross un successo. 1SP4Z5 4SM TWJMVQQB JO 0NOJT 4UVEJP BODIF ):1&3(FTU DPOTPMJEBUB F DPNQMFUB TPMV[JPOF &31 JOUFHSBUB EB OVNFSPTJ BMUSJ QSPEPUUJ BODIFTTJ SFBMJ[[BUJ internamente. PRODOTTO DA: CROSS SOFTWARE LTD %*453*#6503&1&3-*5"-*" 3*7&/%*503*"6503*;;"5*