Sei sulla pagina 1di 4

D.3.

3 Rapporto sull'ambiente e il framework di sviluppo e modello spaziale


1. Introduzione
La intelligence logic sar replicata localmente in ogni negozio/filiale e si
compone delle componenti software/hardware necessarie allimplementazione delle
procedure descritte nelle relazioni inerenti le prime due fasi del progetto, ovvero
rilevazione della configurazione della vetrina e rilevazione del flusso
clientela.
La business logic andr invece a rappresentare !uello che " il nodo centrale
dellarchitettura e sar presumi#ilmente ospitata in uno dei server dellazienda. $l
suo compito sar !uello di ricevere i dati intelligenti rilevati nelle singole filiali
%dagli applicativi di intelligence logic&, inserirli in un data#ase e processarli nel
modo pi opportuno per gli scopi di mercato dellazienda. $noltre, tale nodo
centrale dovr anche acconsentire di trasmettere in modalit! broadcast/multicast
a tutte le filiali interessate il catalogo della collezione di un particolare brand
%es 'enetton, (isle)&. *i+, pu+ avvenire anche tramite interfaccia we# di modo da
fornire un accesso indipendente al sistema ad ogni singolo #rand.
$nfine, il data transmission protocol rappresenter una grammatica "#$ che
descriver! il formato dei messaggi scambiati e le modalit! di trasmissione fra
intelligence e #usiness logic.
(i possono individuare 3 tipi di messaggi
1. $nvio dati sulla rilevazione della configurazione della vetrina
%da intelligence logic a business logic&
2. $nvio dati sulla rilevazione del flusso della clientela
%da intelligence logic a business logic&
3. $nvio dati inerenti il catalogo di un #rand
%da business logic a intelligence logic&
, importante sottolineare il fatto che, una volta definito il data transmission
protocol le due parti di intelligence e business logic possono essere sviluppate
parallelamente e su piattaforma totalmente differenti.
2. 'mbiente e framework di sviluppo
()* Intelligence logic %in ogni singolo negozio&+
Data#ase locale %es -)s!l& per #ufferizzazione dati prima dellinoltro al
server centrale.
.pplicativo di ac!uisizione e processing delle immagini
li#rerie open/source 0pen*1.
linguaggio di programmazione */*22.
.pplicativo per linvio dei messaggi 3-L al server
varie li#rerie e tecniche open/source disponi#ili %es 456, (456, 7e#
(ervices su ((L, etc.&.
Data larchitettura generale della $ntelligence Logic precedentemente
espressa, risulta naturale pensare di implementarla su una piattaforma Linu8
minimalista, ovvero con il solo software %e li#rerie software& necessarie
allesecuzione dei processi sopra descritti. *i+ permette da un lato di
adoperare soluzioni open/source e di non richiedere costose licenze per il
software da dispiegare in ogni singolo negozio, dallaltro di azzerare
loverhead computazionale dovuto a software non strettamente necessario
allesecuzione della $ntelligence Logic e !uindi di orientarci verso una
componentistica hardware meno performante ma con costi pi9 #assi.
()( ,usiness $ogic %nel server centrale&+
Data#ase locale ad alte prestazioni %es -)(:L, 0racle, (:L (erver&
.pplicativo per la ricezione dei messaggi 3-L dai negozi %es 456, (456,
7e# (ervices su ((L, etc.&.
.pplicativo di ela#orazione della reportistica %'usiness $ntelligence vera e
propria&
.pplicativo di interfaccia con gli utenti %es we# application&.
$l software " stato implementato in 6;6 <.= e si avvale di un we# server per esporre i dati e i servizi
allesterno. :uesta scelta " dovuta da diversi fattori
La maturit del linguaggio e delle librerie alla sua base; Portabilit del codice su
diversi sistemi operativi e architetture hardware; Alti livelli di performance e
durabilit; Ampia gamma di librerie open source.

5utti i servizi sono esposti tramite ;556 >.> e ;556(. ? stato scelto tale protocollo perch@ "
ampiamente supportato da tutti i sistemi operativi e esistono svariate li#rerie free che permettono di
dialogare con il server tramite procedure semplici e intuitive. .nche il protocollo di comunicazione
alla #ase dellinterazione $ntelligence Logic e 'usiness Logic " ;556(. $l client invia tramite delle
richieste 60(5 su connessione sicura i suoi dati di autenticazione tramite Basic access
authentication.
$l software utilizzato come #asi di dati " 0racle >>g anche se il sistema " interfaccia#ile anche con
-)(:L e 6ostgre(:L. La scelta di 0racle nasce da esigenze di performance e sta#ilit. $l we#
server scelto " .pache A.=. (ono supportati anche ngin8 >.= e $$( B/C.
()()*) -ramework
$l frameworD alla #ase del 6rogetto " ()mfon) A. 5ra i vari frameworD -1* presenti sul mercato
()mfon) " !uello pi9 maturo, sta#ile e riconosciuto essere lo stato dellarte a livello glo#ale. $l
frameworD in oggetto ci permette di implementare i servizi we# in modo veloce, sicuro e
performante.
()()() .octrine
Doctrine " una li#reria che ci permette di interfacciarci in maniera trasparente a 0racle, -)(:L e
simili. $l sistema :uer)'uilder ottimizza e costruisce in automatico le chiamate al data#ase,
fornisce protezione da pro#lematiche di (:L inEection e riduce al minimo loverhead delle chiamate
(:L tramite un sistema di lazy loading.
()()/) 'ssetic
.ssetic ci permette di gestire in maniera oculata gli asset del programma minimizzando e
com#inando i fogli di stile, gli script EavascriptF ottimizzando inoltre le immagini G6,H/6IH.
()()0) 1#22ecurit345tra,undle e -627ser,undle
:uesti due bundle di ()mfon) sono stati scelti perch@ ci aiutano a gestire gli utenti e ad assegnargli
ruoli e permessi nella maniera pi9 sicura possi#ile. (u Digital 7indow ogni singola azione e/o vista
esposta allesterno " vincolata a un sistema di permessi che protegge aree di vitale importanza da
intrusioni esterne consentendo agli amministratori di poter assegnare diritti di accesso personalizzati
per ogni singolo utente del sistema.
()()8) 9witter ,ootstrap e 9wig
'ootstrap " una serie di tool per creare applicazioni we# dinamiche. ? il frameworD pi9 popolare a
livello mondiale e usato su siti importanti come I.(. e -(I'*.
un sistema modulare; Supporta tutti i pi famosi browser; Ha componenti
facilmente riusabili; Le librerie avascript che l!accompagnano sono state
ampiamente testate; responsive e supporta i dispositivi mobile
5wig " un template engine veloce, con escape ;5-L automatico e estendi#ile facilmente. 1iene
ampiamente usato su Digital 7indow per generare le viste invocate dai controller.
()():) -lot
(u Digital 7indow " possi#ile generare grafici avanzati delle statistiche dei singoli negozi,
#rand e compagnie. $ dati possono essere visualizzati a schermo sotto forma di istogrammi,
grafici cartesiani e grafici a torta. ? stata scelta la li#reria 4lot per via della sua ampia
compati#ilit con tutti i #rowser e le avanzate opzioni di plotting.
3. #odello 2paziale
.ggiungere !ualcosa di descrittivo sul modello
(i fa notare che la scelta di operare con un modello AD anzich@ 3D " strategica
per a##attere i costi dellela#orazione software e per ridurre al minimo le spese
per lhardware. $l modello AD infatti permette, non solo di diminuire il carico
computazionale del sistema, ma presenta anche il notevole vantaggio di non
richiedere una connessione ad internet ad alte prestazioni. $noltre, la scelta del
AD " maggiormente tarata sul pro#lema in oggetto, dato che la maggior parte
delle vetrine hanno profondit trascura#ile e si sviluppano per lo pi9 in altezza e
in larghezza.