14 resultados para WEB SERVER
em AMS Tesi di Laurea - Alm@DL - Università di Bologna
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:
Il web ha cambiato radicalmente le nostre vite. Grazie ad esso, oggi si possono fare cose che solo qualche decennio fa erano pura fantascienza, come ad esempio la telepresenza o gli interventi chirurgici da remoto, ma anche cose più “semplici” come seguire corsi di formazione (anche universitaria), effettuare la spesa, operare con il proprio conto corrente, tutto restando comodamente a casa propria, semplificando così la vita di tutti. Allo stesso tempo il web è stato utilizzato per fini tutt’altro che nobili, ad esempio per commettere crimini informatici, recare danni alla concorrenza, compiere varie forme di truffe ecc. Ogni persona dovrebbe comportarsi in modo corretto e nel pieno rispetto del prossimo, sia sul mondo reale che sul web, ma purtroppo non è sempre così. Per quanto riguarda il mondo del web, sta agli sviluppatori soddisfare le necessità dei propri utenti, assicurandosi però che la propria applicazione non verrà usata per recare qualche tipo di danno a terzi o alla propria infrastruttura. Questa tesi nasce da un idea dei docenti del corso di Programmazione riguardo alla realizzazione di un modulo del sito web del corso che si occupa della correzione automatica di esercizi scritti in linguaggio C dagli studenti del corso, dove per correzione automatica si intende la verifica della correttezza degli esercizi.
Resumo:
Questo progetto di tesi è lo sviluppo di un sistema distribuito di acquisizione e visualizzazione interattiva di dati. Tale sistema è utilizzato al CERN (Organizzazione Europea per la Ricerca Nucleare) al fine di raccogliere i dati relativi al funzionamento dell'LHC (Large Hadron Collider, infrastruttura ove avvengono la maggior parte degli esperimenti condotti al CERN) e renderli disponibili al pubblico in tempo reale tramite una dashboard web user-friendly. L'infrastruttura sviluppata è basata su di un prototipo progettato ed implementato al CERN nel 2013. Questo prototipo è nato perché, dato che negli ultimi anni il CERN è diventato sempre più popolare presso il grande pubblico, si è sentita la necessità di rendere disponibili in tempo reale, ad un numero sempre maggiore di utenti esterni allo staff tecnico-scientifico, i dati relativi agli esperimenti effettuati e all'andamento dell'LHC. Le problematiche da affrontare per realizzare ciò riguardano sia i produttori dei dati, ovvero i dispositivi dell'LHC, sia i consumatori degli stessi, ovvero i client che vogliono accedere ai dati. Da un lato, i dispositivi di cui vogliamo esporre i dati sono sistemi critici che non devono essere sovraccaricati di richieste, che risiedono in una rete protetta ad accesso limitato ed utilizzano protocolli di comunicazione e formati dati eterogenei. Dall'altro lato, è necessario che l'accesso ai dati da parte degli utenti possa avvenire tramite un'interfaccia web (o dashboard web) ricca, interattiva, ma contemporaneamente semplice e leggera, fruibile anche da dispositivi mobili. Il sistema da noi sviluppato apporta miglioramenti significativi rispetto alle soluzioni precedentemente proposte per affrontare i problemi suddetti. In particolare presenta un'interfaccia utente costituita da diversi widget configurabili, riuitilizzabili che permettono di esportare i dati sia presentati graficamente sia in formato "machine readable". Un'alta novità introdotta è l'architettura dell'infrastruttura da noi sviluppata. Essa, dato che è basata su Hazelcast, è un'infrastruttura distribuita modulare e scalabile orizzontalmente. È infatti possibile inserire o rimuovere agenti per interfacciarsi con i dispositivi dell'LHC e web server per interfacciarsi con gli utenti in modo del tutto trasparente al sistema. Oltre a queste nuove funzionalità e possbilità, il nostro sistema, come si può leggere nella trattazione, fornisce molteplici spunti per interessanti sviluppi futuri.
Resumo:
Il progetto si propone di dotare la realta fisica di un estensione digitale. Sensori, attuatori e tecnologie embedded hanno cambiato il nostro modo di lavorare, allenarci e seguire i nostri interessi. Il mondo del commercio non e rimasto a guardare ed ha dovuto adattarsi alla metamorfosi high-tech del settore dei servizi. Il sistema proposto costituisce un promotore per acquisti ed un raccoglitore intelligente di abitudini sullo shopping e si compone di applicazione mobile, microcontroller e web server. Caratteristica prima e principale del progetto e sicuramente la pervasivita. All'utente ed utilizzatore dell'app dello shopping center deve essere certamente resa nota la collaborazione al fine di raccogliere dati statistici sulle sue abitudini, tuttavia sono le modalita di tale operazione a dover rimanere velate, in modo da non appesantire il cliente con tediose operazioni di invio di feedback e valutazioni ed allo stesso tempo permettere una raccolta capillare delle informazioni. Parallelamente alla raccolta di dati funzionali al producer, sono state implementate features per il consumatore, come notifiche promozionali place-triggered e pubblicita mirata. Tra tutte le tecnologie adibite allo scambio di informazioni, si e scelto l'utilizzo del Bluetooth e del piu recente Bluetooth Low Energy (BLE) per permettere ai dispositivi di comunicare tra loro.
Resumo:
Negli ultimi anni si sente sempre più spesso parlare di cloud computing. L'idea di fondo di questo concetto è quella di pagare per il solo effettivo utilizzo di un servizio, disponibile sulla rete, avendo a disposizione la possibilità di poter variare le proprie risorse utilizzabili a seconda delle necessità, che potrebbero essere, per esempio, applicazioni standard oppure spazi di storage per i dati. Quando cominciò a diffondersi l'utilizzo del Web, la rete Internet veniva raffigurata come una nuvola (cloud) in modo tale che si rendesse l'idea di un'entità esterna rispetto alla nostra casa o al nostro posto di lavoro, un qualcosa cioè al di fuori dei luoghi abituali in cui vengono utilizzati i PC. Tale rappresentazione diventa ora utile per poter spiegare il concetto di cloud computing. Infatti, grazie a questa nuova tecnologia, dati e programmi normalmente presenti nei nostri computer potranno ora trovarsi sul cloud. Molti reparti IT sono costretti a dedicare una parte significativa del loro tempo a progetti di implementazione, manutenzione e upgrade che spesso non danno un vero valore per l'azienda. I team di sviluppo hanno cominciato quindi a rivolgersi a questa nuova tecnologia emergente per poter minimizzare il tempo dedicato ad attività a basso valore aggiunto per potersi concentrare su quelle attività strategiche che possono fare la differenza per un'azienda. Infatti un'infrastruttura come quella cloud computing promette risparmi nei costi amministrativi che raggiungono addirittura il 50% rispetto ad un software standard di tipo client/server. Questa nuova tecnologia sta dando inizio ad un cambiamento epocale nel mondo dello sviluppo delle applicazioni. Il passaggio che si sta effettuando verso le nuove soluzioni cloud computing consente infatti di creare applicazioni solide in tempi decisamente più brevi e con costi assai inferiori, evitando inoltre tutte le seccature associate a server, soluzioni software singole, aggiornamenti, senza contare il personale necessario a gestire tutto questo. L'obiettivo di questa tesi è quello di mostrare una panoramica della progettazione e dello sviluppo di applicazioni Web nel cloud computing, analizzandone pregi e difetti in relazione alle soluzioni software attuali. Nel primo capitolo viene mostrato un quadro generale in riferimento al cloud, mettendo in luce le sue caratteristiche fondamentali, esaminando la sua architettura e valutando vantaggi e svantaggi di tale piattaforma. Nel secondo capitolo viene presentata la nuova metodologia di progettazione nel cloud, operando prima di tutto un confronto con lo sviluppo dei software standard e analizzando poi l'impatto che il cloud computing opera sulla progettazione. Nel terzo capitolo si entra nel merito della progettazione e sviluppo di applicazioni SaaS, specificandone le caratteristiche comuni ed elencando le piattaforme di rilievo allo stato dell'arte. Si entrerà inoltre nel merito della piattaforma Windows Azure. Nel quarto capitolo viene analizzato nel particolare lo sviluppo di applicazioni SaaS Multi-Tenant, specificando livelli e caratteristiche, fino a spiegare le architetture metadata-driven. Nel quinto capitolo viene operato un confronto tra due possibili approcci di sviluppo di un software cloud, analizzando nello specifico le loro differenze a livello di requisiti non funzionali. Nel sesto capitolo, infine, viene effettuata una panoramica dei costi di progettazione di un'applicazione cloud.
Resumo:
Il Web ha subito numerose trasformazioni rispetto al passato. Si è passati da un Web statico, in cui l'unica possibilità era quella di leggere i contenuti della pagina, ad un Web dinamico e interattivo come quello dei social network. Il Web moderno è, ancora oggi, un universo in espansione. La possibilità di arricchire le pagine con contenuti interattivi, video, foto e molto altro, rende l'esperienza web sempre più coinvolgente. Inoltre la diffusione sempre più ampia di mobile device ha reso necessaria l'introduzione di nuovi strumenti per sfruttare al meglio le funzionalità di tali dispositivi. Esistono al momento tantissimi linguaggi di scripting e di programmazione, ma anche CMS che offrono a chiunque la possibilità di scrivere e amministrare siti web. Nonostante le grandi potenzialità che offrono, spesso queste tecnologie si occupano di ambiti specifici e non permettono di creare sistemi omogenei che comprendano sia client che server. Dart si inserisce proprio in questo contesto. Tale linguaggio dà a i programmatori la possibilità di poter sviluppare sia lato client sia lato server. L'obiettivo principale di questo linguaggio è infatti la risoluzione di alcune problematiche comuni a molti programmatori web. Importante in questo senso è il fatto di rendere strutturata la costruzione di programmi web attraverso l'uso di interfacce e classi. Fornisce inoltre un supporto per l'integrazione di svariate funzionalità che allo stato attuale sono gestite da differenti tecnologie. L'obiettivo della presente tesi è quello di mettere a confronto Dart con alcune delle tecnologie più utilizzate al giorno d'oggi per la programmazione web-based. In particolare si prenderanno in considerazione JavaScript, jQuery, node.js e CoffeeScript.
Resumo:
La tesi riguarda la creazione di una architettura che ha lo scopo di far interagire attivamente un utente con una mappa digitale tramite browser web e un applicativo che calcola dei percorsi in base ad un algoritmo di ottimizzazione. Un ambito interessante, attuale e che avrà, molto probabilmente, notevoli sviluppi futuri. Basti pensare per esempio a come le persone interagiscono con le mappe digitali tramite i famosi Google Maps o Google Earth, Bing Maps e OpenStreetMap. Questa interazione è diventata talmente naturale che è ormai intuitivo ruotare la rotellina del mouse per zoomare oppure tenere premuto il tasto sinistro per trascinare la mappa. Spesso questi applicativi web offrono servizi per il calcolo di percorsi, o rilasciano anche delle API per interagire e personalizzare alcuni aspetti, anche se spesso in modo limitato per questioni di copyright. In questo contesto entrano in gioco associazioni, singoli individui e fondazioni che creano software e standard fruibili da chiunque per creare applicativi e architetture personalizzate senza vincoli di diritti troppo limitanti. In questa tesi viene mostrato un approccio che permette una personalizzazione molto dettagliata e un'alta interoperabilità con queste applicazioni specifiche. Ma tutti questi aspetti positivi sono fruibili, per ora, solo mediante supporto umano avente un bagaglio di esperienze tecniche adeguate.
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:
L’azienda committente vuole ampliare la possibilità di accedere al suo database, sia dall’esterno che dall’interno, non solamente da parte di un unico utente amministratore, ma anche da tutti gli agenti distribuiti sul territorio nazionale e tutti gli impiegati degli uffici. Si vuole inoltre creare un sistema di notifiche via email che permetta a tutti gli utenti (agenti) registrati di avere in tempo reale informazioni sempre aggiornate riguardo i propri clienti. La ditta si chiama Tropical Lane S.p.A. e vuole realizzare questo progetto per rendere maggiormente accessibili le informazioni per i propri agenti, distribuiti nelle varie regioni italiane, direttamente tramite un loro dispositivo mobile, come smartphone o tablet, senza dover necessariamente telefonare continuamente in ditta dove è presente una segretaria che svolge solamente questa mansione. In questo modo si cerca di velocizzare la procedura di accesso ai dati così da liberare una risorsa utile per lo svolgimento di altre funzioni interne. Si è deciso quindi di creare un sito web, basato su tecnologia Active Server Pages e interfacciato al database aziendale, che sia fruibile dall’esterno della rete aziendale e sul quale vengono mostrati i dati, organizzati in modo da essere facilmente comprensibili e visualizzabili da tutti. La realizzazione del sito è stata effettuata utilizzando notepad++ sia per le pagine ASP che per le poche pagine di HTML statico presenti. Gli script sono stati realizzati in linguaggio Javascript, compatibile con le specifiche dei browser più diffusi. Il sito è supportato da un unico database realizzato in precedenza con Microsoft SQL ed integrato.
Resumo:
Lo scopo di questo lavoro è realizzare, in ambito web, un'applicazione client-server database-independent, ovvero un'applicazione il cui funzionamento non è vincolato da uno specifico tipo di base di dati.
Resumo:
Lo scopo di questa tesi è di mettere a confronto le performance, su grandi quantità di dati, tra applicazioni web basate su database a modello relazionale, noti come RDBMS, e applicazioni web basate su database a modello non-relazionale, meglio conosciuti con l'appellativo NoSQL. Sono stati selezionati sette casi d'uso appartenenti ad una applicazione reale per effettuare il confronto di prestazioni tra i seguenti database: MySQL, Microsoft SQL Server, OrientDB, MongoDB e BaseX.
Resumo:
Al giorno d’oggi il World Wide Web non è più un semplice strumento per la condivisione di informazioni. Le tecnologie nate nel corso dell’ultimo decennio hanno permesso lo sviluppo di vere e proprie applicazioni Web (Web App) complesse, indipendenti e multi-utente in grado di fornire le stesse funzionalità delle normali applicazioni desktop. In questa tesi verranno trattate le caratteristiche di una Web App moderna, analizzandone l’evoluzione e il processo produttivo. Particolare attenzione sarà posta alle Web App distribuite e ai meccanismi di comunicazione client-server che queste nuove tecnologie hanno reso disponibili. I WebSocket, la tecnologia di riferimento di HTML5, saranno riportati come caso di studio e relazionati allo standard precedente ad HTML5, cioè Ajax e Long Polling.
Resumo:
In questa tesi viene analizzato il concetto di mobilità elettrica e viene proposta un’applicazione per la gestione della propria auto elettrica. L'applicazione in questione si pone come scopo l’agevolazione delle interazioni dell’utente con l’auto a distanza. Analizzando le caratteristiche principali dell’auto elettrica, ne vengono delineati i benefici e le limitazioni dell’autonomia, per la quale si suggerisce soluzione tramite regole da adottare alla guida. Attraverso la comparazione con le tipologie di applicazioni esistenti per la mobilità si decide che genere di approccio adottare nella realizzazione della nostra applicazione. Seguono la descrizione delle tecnologie di sviluppo del progetto sotto forma di applicazione ibrida, tra le quali ci si sofferma sull'utilizzo di linguaggi di markup, fogli di stile e JavaScript lato client. Di quest’ultimo ne vengono elencate le API utilizzate, in particolare Google Maps e Google Charts. Successivamente si introduce il concetto di simulazione server ed i metodi e le tecniche adottate per renderlo effettivo. Infine vengono spiegate le scelte implementative nonché i metodi e le decisioni presi in ambito di sviluppo per realizzare al meglio l’applicazione, fornendo una presentazione dettagliata delle sue funzionalità.
Resumo:
The aim of this thesis is to merge two of the emerging paradigms about web programming: RESTful Web Development and Service-Oriented Programming. REST is the main architectural paradigm about web applications, they are characterised by procedural structure which avoid the use of handshaking mechanisms. Even though REST has a standard structure to access the resources of the web applications, the backend side is usually not very modular if not complicated. Service-Oriented Programming, instead, has as one of the fundamental principles, the modularisation of the components. Service-Oriented Applications are characterised by separate modules that allow to simplify the devel- opment of the web applications. There are very few example of integration between these two technologies: it seems therefore reasonable to merge them. In this thesis the methodologies studied to reach this results are explored through an application that helps to handle documents and notes among several users, called MergeFly. The MergeFly practical case, once that all the specifics had been set, will be utilised in order to develop and handle HTTP requests through SOAP. In this document will be first defined the 1) characteristics of the application, 2) SOAP technology, partially introduced the 3) Jolie Language, 4) REST and finally a 5) Jolie-REST implementation will be offered through the MergeFly case. It is indeed implemented a token mechanism for authentication: it has been first discarded sessions and cookies algorithm of authentication in so far not into the pure RESTness theory, even if often used). In the final part the functionality and effectiveness of the results will be evaluated, judging the Jolie-REST duo.