73 resultados para WEB application
em AMS Tesi di Laurea - Alm@DL - Università di Bologna
Resumo:
Analisi e progettazione di una applicazione web ERP (Enterprise Resource Planning) per una azienda di piccole/medie dimensioni.
Resumo:
Sviluppo di una web application multipiattaforma per un'azienda, per l'elaborazione e la visualizzazione di dati commerciali.
Resumo:
In questo progetto di tesi vengono descritte le fasi che hanno portato alla creazione di una web application per automatizzare campagne pubblicitarie attraverso Google Shopping. Partendo dall'analisi dello stato dell'arte del web advertising, vengono successivamente trattate le fasi di progettazione ed implementazione. Infine vengono valutati i risultati ottenuti e discussi i possibili sviluppi futuri.
Resumo:
Negli ultimi anni le Web application stanno assumendo un ruolo sempre più importante nella vita di ognuno di noi. Se fino a qualche anno fa eravamo abituati ad utilizzare quasi solamente delle applicazioni “native”, che venivano eseguite completamente all’interno del nostro Personal Computer, oggi invece molti utenti utilizzano i loro vari dispositivi quasi esclusivamente per accedere a delle Web application. Grazie alle applicazioni Web si sono potuti creare i cosiddetti social network come Facebook, che sta avendo un enorme successo in tutto il mondo ed ha rivoluzionato il modo di comunicare di molte persone. Inoltre molte applicazioni più tradizionali come le suite per ufficio, sono state trasformate in applicazioni Web come Google Docs, che aggiungono per esempio la possibilità di far lavorare più persone contemporanemente sullo stesso documento. Le Web applications stanno assumendo quindi un ruolo sempre più importante, e di conseguenza sta diventando fondamentale poter creare delle applicazioni Web in grado di poter competere con le applicazioni native, che siano quindi in grado di svolgere tutti i compiti che sono stati sempre tradizionalmente svolti dai computer. In questa Tesi ci proporremo quindi di analizzare le varie possibilità con le quali poter migliorare le applicazioni Web, sia dal punto di vista delle funzioni che esse possono svolgere, sia dal punto di vista della scalabilità. Dato che le applicazioni Web moderne hanno sempre di più la necessità di poter svolgere calcoli in modo concorrente e distribuito, analizzeremo un modello computazionale che si presta particolarmente per progettare questo tipo di software: il modello ad Attori. Vedremo poi, come caso di studio di framework per la realizzazione di applicazioni Web avanzate, il Play framework: esso si basa sulla piattaforma Akka di programmazione ad Attori, e permette di realizzare in modo semplice applicazioni Web estremamente potenti e scalabili. Dato che le Web application moderne devono avere già dalla nascita certi requisiti di scalabilità e fault tolerance, affronteremo il problema di come realizzare applicazioni Web predisposte per essere eseguite su piattaforme di Cloud Computing. In particolare vedremo come pubblicare una applicazione Web basata sul Play framework sulla piattaforma Heroku, un servizio di Cloud Computing PaaS.
Resumo:
Il Web nel corso della sua esistenza ha subito un mutamento dovuto in parte dalle richieste del mercato, ma soprattutto dall’evoluzione e la nascita costante delle numerose tecnologie coinvolte in esso. Si è passati da un’iniziale semplice diffusione di contenuti statici, ad una successiva collezione di siti web, dapprima con limitate presenze di dinamicità e interattività (a causa dei limiti tecnologici), ma successivamente poi evoluti alle attuali applicazioni web moderne che hanno colmato il gap con le applicazioni desktop, sia a livello tecnologico, che a livello di diffusione effettiva sul mercato. Tali applicazioni web moderne possono presentare un grado di complessità paragonabile in tutto e per tutto ai sistemi software desktop tradizionali; le tecnologie web hanno subito nel tempo un evoluzione legata ai cambiamenti del web stesso e tra le tecnologie più diffuse troviamo JavaScript, un linguaggio di scripting nato per dare dinamicità ai siti web che si ritrova tutt’ora ad essere utilizzato come linguaggio di programmazione di applicazioni altamente strutturate. Nel corso degli anni la comunità di sviluppo che ruota intorno a JavaScript ha prodotto numerose librerie al supporto del linguaggio dotando così gli sviluppatori di un linguaggio completo in grado di far realizzare applicazioni web avanzate. Le recenti evoluzioni dei motori javascript presenti nei browser hanno inoltre incrementato le prestazioni del linguaggio consacrandone la sua leadership nei confronti dei linguaggi concorrenti. Negli ultimi anni a causa della crescita della complessità delle applicazioni web, javascript è stato messo molto in discussione in quanto come linguaggio non offre le classiche astrazioni consolidate nel tempo per la programmazione altamente strutturata; per questo motivo sono nati linguaggi orientati alla programmazione ad oggetti per il web che si pongono come obiettivo la risoluzione di questo problema: tra questi si trovano linguaggi che hanno l’ambizione di soppiantare JavaScript come ad esempio Dart creato da Google, oppure altri che invece sfruttano JavaScript come linguaggio base al quale aggiungono le caratteristiche mancanti e, mediante il processo di compilazione, producono codice JavaScript puro compatibile con i motori JavaScript presenti nei browser. JavaScript storicamente fu introdotto come linguaggio sia per la programmazione client-side, che per la controparte server-side, ma per vari motivi (la forte concorrenza, basse performance, etc.) ebbe successo solo come linguaggio per la programmazione client; le recenti evoluzioni del linguaggio lo hanno però riportato in auge anche per la programmazione server-side, soprattutto per i miglioramenti delle performance, ma anche per la sua naturale predisposizione per la programmazione event-driven, paradigma alternativo al multi-threading per la programmazione concorrente. Un’applicazione web di elevata complessità al giorno d’oggi può quindi essere interamente sviluppata utilizzando il linguaggio JavaScript, acquisendone sia i suoi vantaggi che gli svantaggi; le nuove tecnologie introdotte ambiscono quindi a diventare la soluzione per i problemi presenti in JavaScript e di conseguenza si propongono come potenziali nuovi linguaggi completi per la programmazione web del futuro, anticipando anche le prossime evoluzioni delle tecnologie già esistenti preannunciate dagli enti standard della programmazione web, il W3C ed ECMAScript. In questa tesi saranno affrontate le tematiche appena introdotte confrontando tra loro le tecnologie in gioco con lo scopo di ottenere un’ampia panoramica delle soluzioni che uno sviluppatore web dovrà prendere in considerazione per realizzare un sistema di importanti dimensioni; in particolare sarà approfondito il linguaggio TypeScript proposto da Microsoft, il quale è nato in successione a Dart apparentemente con lo stesso scopo, ma grazie alla compatibilità con JavaScript e soprattutto con il vasto mondo di librerie legate ad esso nate in questi ultimi anni, si presenta nel mercato come tecnologia facile da apprendere per tutti gli sviluppatori che già da tempo hanno sviluppato abilità nella programmazione JavaScript.
Resumo:
Lo scopo di questa tesi è dimostrare che è possibile effettuare in maniera proficua esami di tecnologie web all'università senza utilizzare carta e penna. Nello specifico si parla di ExaM Bin, piattaforma open-source creata come adattamento del tool di web playground JSBIN per fare esami di tecnologie web.
Resumo:
Conversione delle interfaccie grafiche legay di un gestionale ERP verso più moderne interfaccie grafiche Windows Form. Si descrive inoltre come realizzare un interfaccia web alternativa che si basa su Ajax.
Resumo:
La mia tesi è formata da tre capitoli. Il primo capito è composto da due parti: -Nella prima parte ho descritto l'online advertising dalla sua nascita fino alle diverse categorie attualmente presenti sul mercato. -Nella seconda parte ho descritto i processi cognitivi della mente umana, più nello specifico, i fattori che influenzano le scelte degli utilizzatori del web. Il secondo capitolo comprende un'unica parte dove ho descritto il funzionamento e i principali settori di utilizzo del dispositivo di remote tracker che ho utilizzato nel terzo ed ultimo capitolo, contenente la parte di sperimentazione. Il terzo capitolo è la parte sperimentale, dove ho eseguito una scrupolosa analisi finalizzata alla stipulazione di fondate ipotesi su efficaci strategie di posizionano di banner pubblicitari in una pagina web.
Resumo:
Negli ultimi vent'anni con lo sviluppo di Internet, il modo di comunicare tra le persone �è totalmente cambiato. Grazie a Internet si sono ridotte le distanze e soprattutto tramite i siti web le aziende hanno una propria vetrina sul mondo sempre accessibile. Tutto ci�ò ha portato a nuovi comportamenti da parte dei consumatori che divengono sempre pi�u esigenti nella vastità di informazioni presenti sul Web. Perciò è necessario che le web companies riescano a produrre website efficienti e usabili per favorire l'interazione con l'utente. Inoltre il web ha avuto una rapida espansione per quanto concerne le metodologie di sviluppo e analisi del comportamento del consumatore. Si cercano sempre nuovi spunti per poter acquisire quello che �è il percorso di un utente affinché porti a termine una determinata azione nel proprio dominio. Per questo motivo, oltre agli strumenti gi�à consolidati come il riempimento di questionari o il tracking per mezzo di piattaforme come Google Analytics, si �è pensato di andare oltre e cercare di analizzare ancora pi�u a fondo il "consumAttore". Grazie ad un eye-tracker �è possibile riconoscere quelli che sono i modelli cognitivi che riguardano il percorso di ricerca, valutazione e acquisto di un prodotto o una call to action, e come i contenuti di una web application influenzano l'attenzione e la user experience. Pertanto l'obiettivo che si pone questo studio �è quello di poter misurare l'engagement della navigazione utente di una web application e, nel caso fosse necessario, ottimizzare i contenuti al suo interno. Per il rilevamento delle informazioni necessarie durante l'esperimento, mi sono servito di uno strumento a supporto delle decisioni, ovvero un eye-tracker e della successiva somministrazione di questionari.
Resumo:
In this report it was designed an innovative satellite-based monitoring approach applied on the Iraqi Marshlands to survey the extent and distribution of marshland re-flooding and assess the development of wetland vegetation cover. The study, conducted in collaboration with MEEO Srl , makes use of images collected from the sensor (A)ATSR onboard ESA ENVISAT Satellite to collect data at multi-temporal scales and an analysis was adopted to observe the evolution of marshland re-flooding. The methodology uses a multi-temporal pixel-based approach based on classification maps produced by the classification tool SOIL MAPPER ®. The catalogue of the classification maps is available as web service through the Service Support Environment Portal (SSE, supported by ESA). The inundation of the Iraqi marshlands, which has been continuous since April 2003, is characterized by a high degree of variability, ad-hoc interventions and uncertainty. Given the security constraints and vastness of the Iraqi marshlands, as well as cost-effectiveness considerations, satellite remote sensing was the only viable tool to observe the changes taking place on a continuous basis. The proposed system (ALCS – AATSR LAND CLASSIFICATION SYSTEM) avoids the direct use of the (A)ATSR images and foresees the application of LULCC evolution models directly to „stock‟ of classified maps. This approach is made possible by the availability of a 13 year classified image database, conceived and implemented in the CARD project (http://earth.esa.int/rtd/Projects/#CARD).The approach here presented evolves toward an innovative, efficient and fast method to exploit the potentiality of multi-temporal LULCC analysis of (A)ATSR images. The two main objectives of this work are both linked to a sort of assessment: the first is to assessing the ability of modeling with the web-application ALCS using image-based AATSR classified with SOIL MAPPER ® and the second is to evaluate the magnitude, the character and the extension of wetland rehabilitation.
Resumo:
La tesi è stata redatta per fornire ad un utente una panoramica completa sugli attuali sistemi di pagamento elettronico in uso sul Web.
Resumo:
Fra le varie ragioni della crescente pervasività di Internet in molteplici settori di mercato del tutto estranei all’ICT, va senza dubbio evidenziata la possibilità di creare canali di comunicazione attraverso i quali poter comandare un sistema e ricevere da esso informazioni di qualsiasi genere, qualunque distanza separi controllato e controllore. Nel caso specifico, il contesto applicativo è l’automotive: in collaborazione col Dipartimento di Ingegneria Elettrica dell’Università di Bologna, ci si è occupati del problema di rendere disponibile a distanza la grande quantità di dati che i vari sotto-sistemi componenti una automobile elettrica si scambiano fra loro, sia legati al tipo di propulsione, elettrico appunto, come i livelli di carica delle batterie o la temperatura dell’inverter, sia di natura meccanica, come i giri motore. L’obiettivo è quello di permettere all’utente (sia esso il progettista, il tecnico riparatore o semplicemente il proprietario) il monitoraggio e la supervisione dello stato del mezzo da remoto nelle sue varie fasi di vita: dai test eseguiti su prototipo in laboratorio, alla messa in strada, alla manutenzione ordinaria e straordinaria. L’approccio individuato è stato quello di collezionare e memorizzare in un archivio centralizzato, raggiungibile via Internet, tutti i dati necessari. Il sistema di elaborazione a bordo richiede di essere facilmente integrabile, quindi di piccole dimensioni, e a basso costo, dovendo prevedere la produzione di molti veicoli; ha inoltre compiti ben definiti e noti a priori. Data la situazione, si è quindi scelto di usare un sistema embedded, cioè un sistema elettronico di elaborazione progettato per svolgere un limitato numero di funzionalità specifiche sottoposte a vincoli temporali e/o economici. Apparati di questo tipo sono denominati “special purpose”, in opposizione ai sistemi di utilità generica detti “general purpose” quali, ad esempio, i personal computer, proprio per la loro capacità di eseguire ripetutamente un’azione a costo contenuto, tramite un giusto compromesso fra hardware dedicato e software, chiamato in questo caso “firmware”. I sistemi embedded hanno subito nel corso del tempo una profonda evoluzione tecnologica, che li ha portati da semplici microcontrollori in grado di svolgere limitate operazioni di calcolo a strutture complesse in grado di interfacciarsi a un gran numero di sensori e attuatori esterni oltre che a molte tecnologie di comunicazione. Nel caso in esame, si è scelto di affidarsi alla piattaforma open-source Arduino; essa è composta da un circuito stampato che integra un microcontrollore Atmel da programmare attraverso interfaccia seriale, chiamata Arduino board, ed offre nativamente numerose funzionalità, quali ingressi e uscite digitali e analogici, supporto per SPI, I2C ed altro; inoltre, per aumentare le possibilità d’utilizzo, può essere posta in comunicazione con schede elettroniche esterne, dette shield, progettate per le più disparate applicazioni, quali controllo di motori elettrici, gps, interfacciamento con bus di campo quale ad esempio CAN, tecnologie di rete come Ethernet, Bluetooth, ZigBee, etc. L’hardware è open-source, ovvero gli schemi elettrici sono liberamente disponibili e utilizzabili così come gran parte del software e della documentazione; questo ha permesso una grande diffusione di questo frame work, portando a numerosi vantaggi: abbassamento del costo, ambienti di sviluppo multi-piattaforma, notevole quantità di documentazione e, soprattutto, continua evoluzione ed aggiornamento hardware e software. È stato quindi possibile interfacciarsi alla centralina del veicolo prelevando i messaggi necessari dal bus CAN e collezionare tutti i valori che dovevano essere archiviati. Data la notevole mole di dati da elaborare, si è scelto di dividere il sistema in due parti separate: un primo nodo, denominato Master, è incaricato di prelevare dall’autovettura i parametri, di associarvi i dati GPS (velocità, tempo e posizione) prelevati al momento della lettura e di inviare il tutto a un secondo nodo, denominato Slave, che si occupa di creare un canale di comunicazione attraverso la rete Internet per raggiungere il database. La denominazione scelta di Master e Slave riflette la scelta fatta per il protocollo di comunicazione fra i due nodi Arduino, ovvero l’I2C, che consente la comunicazione seriale fra dispositivi attraverso la designazione di un “master” e di un arbitrario numero di “slave”. La suddivisione dei compiti fra due nodi permette di distribuire il carico di lavoro con evidenti vantaggi in termini di affidabilità e prestazioni. Del progetto si sono occupate due Tesi di Laurea Magistrale; la presente si occupa del dispositivo Slave e del database. Avendo l’obiettivo di accedere al database da ovunque, si è scelto di appoggiarsi alla rete Internet, alla quale si ha oggi facile accesso da gran parte del mondo. Questo ha fatto sì che la scelta della tecnologia da usare per il database ricadesse su un web server che da un lato raccoglie i dati provenienti dall’autovettura e dall’altro ne permette un’agevole consultazione. Anch’esso è stato implementato con software open-source: si tratta, infatti, di una web application in linguaggio php che riceve, sotto forma di richieste HTTP di tipo GET oppure POST, i dati dal dispositivo Slave e provvede a salvarli, opportunamente formattati, in un database MySQL. Questo impone però che, per dialogare con il web server, il nodo Slave debba implementare tutti i livelli dello stack protocollare di Internet. Due differenti shield realizzano quindi il livello di collegamento, disponibile sia via cavo sia wireless, rispettivamente attraverso l’implementazione in un caso del protocollo Ethernet, nell’altro della connessione GPRS. A questo si appoggiano i protocolli TCP/IP che provvedono a trasportare al database i dati ricevuti dal dispositivo Master sotto forma di messaggi HTTP. Sono descritti approfonditamente il sistema veicolare da controllare e il sistema controllore; i firmware utilizzati per realizzare le funzioni dello Slave con tecnologia Ethernet e con tecnologia GPRS; la web application e il database; infine, sono presentati i risultati delle simulazioni e dei test svolti sul campo nel laboratorio DIE.
Resumo:
Attualmente il panorama informatico è dominato dai dispositivi mobile: smartphone e tablet pc dominano incontrastati la scena del mercato elettronico. Questo comporta un radicale ripensamento e cambiamento del software, le web app e le mobile application richiedono infatti una sempre maggiore reattività dell’interfaccia utente, la persistente connessione a Internet e l’interazione con una moltitudine di dispositivi esterni. Il progettista di software deve oggi far fronte a tutta una serie di problematiche, l’aumentata complessità dei sistemi e i sempre più ristretti tempi di sviluppo e consegna richiedono compromessi tra la semplicità delle tecniche di progettazione e l’efficienza del prodotto ottenuto. Le architetture ad eventi in primis, unitamente al paradigma di programmazione asincrona, si pongono come soluzione ottimale a queste esigenze. L’obbiettivo principale di questa tesi è quello di offrire una panoramica generale sullo stato dell’arte delle architetture ad eventi focalizzandosi sul ruolo che esse assumono nel contesto delle applicazioni moderne, intendendo principalmente con questo termine le web application e le mobile application. Partendo dal concetto di programmazione sincrona e parallela si giunge a descrivere un terzo modello, il modello asincrono, di fondamentale importanza per i sistemi event-driven. Utilizzando come principale linguaggio di riferimento JavaScript si affrontano le problematiche legate alla stesura del codice per la gestione degli eventi, l’asincronicità intrinseca degli eventi e l’utilizzo di funzioni di callback portano a produrre codice di difficile lettura e manutenzione. Si analizzano quindi in dettaglio i pattern fondamentali e le tecniche attualmente utilizzate per l’ottimizzazione della gestione del codice e delle problematiche esposte fornendo numerosi esempi esplicativi.
Resumo:
In questa tesi verranno chiariti i concetti di open source e software libero e alcune nozioni utili a comprenderli. Verranno poi spiegate brevemente le licenze GPLv3 AGPLv3 e LGPLv3. Infine verrà spiegato come applicare la licenza GPLv3 al proprio programma, e verranno forniti alcuni consigli su come diffonderlo nel web.