Perché aKite è differente?
Le altre soluzioni per il Retail presenti sul mercato, anche se erogate da Internet, rimangono all’interno del dilemma tra le tradizionali architetture Centralizzate e Dipartimentali, ognuna con problemi opposti. La vulnerabilità di un’architettura Centralizzata viene limitata con linee ridondanti e/o sistemi di back up. La distanza delle architetture Dipartimentali dal “Connected Retail” viene colmata con frequenti sincronizzazioni tra i diversi database. In entrambi i casi aumentano anche costi e complessità.
aKite parte invece da una visione post-internet basata su Servizi Web, erogabili e utilizzabili da qualunque luogo e con qualsiasi tecnologia, in un’ottica di cooperazione sia all’interno che all’esterno dell’azienda. Gli inevitabili problemi delle connessioni a Internet sono risolti suddividendo i servizi tra Interni e Globali. Quelli Interni a ciascuna postazione assicurano le normali operazioni di vendita senza limiti su numero di clienti fidelizzati, articoli, prezzi, promozioni e durata della sconnessione. I servizi Globali, erogati da una avanzatissima piattaforma di Cloud Computing, sono invece quelli che riguardano la gestione e condivisione dei dati tra persone, negozi e anche aziende diverse.
Il termine Cloud è talmente di moda che pochi rinunciano all’allusione o addirittura all’uso, anche quando offrono tecnologie del secolo scorso come Hosting e ASP. Una certa confusione è fisiologica nei cambi di paradigma; siamo infatti al capolinea della tradizione e alla stazione di partenza di una informatica completamente nuova, ma esistono semplici definizioni, come quella del NIST, che non lasciano spazio a molte ambiguità.
Un paio di importanti indicatori del vero Cloud Computing sono:
• Multi-tenancy: il software applicativo su Cloud (in aKite i Retail Web Services) eroga servizi a più aziende, condividendo in modo efficace le stesse risorse HW e SW.
• PaaS (Platform as a Service): il software centralizzato sfrutta la scalabilità, affidabilità e SLA che solo una moderna PaaS può garantire.
Chiaramente è più semplice migrare un’applicazione tradizionale in una IaaS (Infrastructure as a Service) , il livello del Cloud Computing iniziale e più vicino ai normali datacenter, piuttosto che riprogettarla secondo i nuovi paradigmi della Multi-tenancy e delle PaaS. Gli investimenti aggiuntivi nello sviluppo di aKite consentono però maggiore apertura all’integrazione, minori costi di erogazione e soprattutto un SLA (Service Level Agreement) elevato e garantito.
Cloud Computing
Come è avvenuto per l’energia elettrica, che agli inizi del novecento ha visto le aziende passare gradualmente dalla produzione autonoma all’utenza a consumo attraverso la rete di distribuzione pubblica, ora anche i servizi di elaborazione possono essere fruiti attraverso Internet. Il termine Cloud (nuvola) indica che i singoli elaboratori diventano una grande e mutevole entità, come le centrali che producono l’energia utilizzata da ogni azienda.
Windows Azure di Microsoft è la più moderna e sicura piattaforma per l’erogazione di servizi su Internet. Oltre ad un elevatissimo Livello di Servizio (Service Level Agreement SLA) e la capacità di gestire un numero di utenti praticamente illimitato, assicura la protezione dei dati anche in caso di eventi catastrofici. SQL Azure, uno dei componenti del Cloud Computing di Microsoft, è infatti un database ad alta disponibilità (High Availability) e resistente ai guasti (Fault Tolerant) per mezzo delle repliche automatiche su più server.

Platform as a Service (PaaS)
Il grande salto di qualità del Cloud Computing è basato sulla "Platform as a Service", uno strato software che gestisce automaticamente i mega-datacenter.
La prima generazione del Cloud, limitata allo strato più basso definito anche Infrastructure as a Service (IaaS), è la semplice evoluzione di hosting e virtualizzazione. E' utilizzabile direttamente dagli applicativi software classici, definibili como server-certrici, ma per raggiungere l'affidabilità e la scalabilità richiesta dalle applicazioni SaaS, è necessario aggiungere complessi middleware per distribuire il carico di lavoro sui diverse server, per spostare il carico da quelli guasti, ecc. Questo aumenta la complessità e i costi, senza risolvere completamente i problemi.
I moderni applicativi come aKite, sviluppati in modo "piattaforma-centrico", hanno l'enorme vantaggio di risolvere drasticamente tutta una serie di complessi problemi sistemistici e di potersi concentrare nella erogazione di servizi ad eleveta scalabilità e livello di servizio (SLA). La possibilità di utilizare risorse in funzione dell'ora del giorno, del giorno della settimana e del periodo dell'anno, riduce i costi e rispetta maggiormente l'ambiente.
Software as a Service (SaaS)
Così come per usare l’elettricità non è più necessario costruirsi la propria centrale elettrica, oggi con il Software erogato a richiesta (On Demand) e addebitato in proporzione all’uso, anche i negozi più piccoli possono utilizzare servizi che, per gli elevati investimenti iniziali e costi di manutenzione, solo le grandi multinazionali si potevano permettere.
Il passaggio dall’elettricità prodotta dalle grandi aziende a proprio uso e consumo, al servizio di distribuzione attraverso reti elettriche sempre più estese ha comportato la soluzione di grossi problemi tecnici e cambi di visione che lo stesso Edison cercò di contrastare. La parola Rete, sinonimo di Internet, non è casuale ed è facile immaginare le obiezioni iniziali a dipendere dall’energia prodotta da altri.
Anche le grandi aziende passeranno gradualmente ad utilizzare servizi IT erogati dal Cloud Computing, non solo per la convenienza sui costi, ma anche per la flessibilità di un contratto a canone, per potersi concentrare meglio su ciò che le distingue dai concorrenti e per collaborare meglio con i propri partner.
Il vero Software come Servizio richiede però che la piattaforma da cui viene erogato sia progettata espressamente per questo scopo.
Service Oriented Architecture (SOA)
Il cambiamento profondo alla base del Cloud Computing è l’architettura orientata ai servizi (SOA) nata recentemente, diversi anni dopo la grande diffusione di Internet.
Consiste nella divisione dei processi aziendali in componenti base, semplici da ricombinare e integrare, sia all’interno che all’esterno dell’azienda, indipendentemente dalla tecnologia utilizzata per realizzarli.
E’ come creare e modificare un sistema informativo usando dei LEGO, che si incastrano anche se sono prodotti da varie aziende con tecnologie diverse, da cui si intuiscono subito i vantaggi in termini di tempi e costi per lo sviluppo e il continuo adeguamento ad una realtà che cambia.
Oltre ad essere la base per il SaaS, la nuova architettura è importante perché in qualsiasi settore economico l’aumento del livello di conoscenze e di abilità richieste per competere nell’economia globalizzata, spingono alla sempre maggiore specializzazione e collaborazione fra aziende.
Architettura Distribuita o Centralizzata?
Finora si era costretti a scegliere se privilegiare l’affidabilità del punto cassa adottando soluzioni Distribuite / Offline in grado di funzionare anche in caso di guasti esterni, o se invece favorire la condivisione dei dati accedendo ad un unico database, optando per l’architettura Centralizzata / Online. L’architettura SOA (Service Oriented Architecture) nasce dalla crescente esigenza di integrare fra loro i sistemi più disparati e distanti.
La richiesta e la fornitura di servizi aziendali avvengono infatti attraverso messaggi standard su Internet, fruibili da programmi residenti su browser oppure direttamente nel PC, categoria in cui rientrano gli Smart Client. Grazie al controllo diretto delle risorse, questi ultimi offrono una migliore interattività e possono funzionare anche durante una momentanea disconnessione. Fornendoli in modalità SaaS (Software as a Service / On Demand), senza installazione ed aggiornamento manuali come nei browser, abbiamo finalmente unito i pregi dei sistemi Centralizzati e Distribuiti.