965 resultados para Java Persistence API
Resumo:
I laghi vulcanici sono corpi idrici che si posizionano all’interno di crateri originatisi da eruzioni idrotermali, idrovulcaniche o magmatiche. Dato il particolare ambiente di formazione di questi bacini, le condizioni fisico-chimiche delle loro acque riflettono l’influenza dei diversi “input” vulcanici quali gas e fluidi che risultano dall’interazione tra le acque sotterranee e i fluidi rilasciati da un corpo magmatico in profondità. Il presente lavoro consiste nella caratterizzazione geochimica delle acque del lago craterico del Kawah Ijen e nella definizione dei principali processi che la controllano, come i processi di diluizione, degassamento e precipitazione di fasi minerali. Tale definizione è la base conoscitiva necessaria per una più realistica interpretazione delle eventuali variazioni geochimiche spazio-temporali
Resumo:
All’interno di questa tesi è stata affrontata la tematica della realizzazione di comuni- cazioni sicure, in modo da ottenere l'indipendenza di queste ultime dal canale utilizzato, con l'ausilio di strumenti in grado di fornire supporto per la creazione di applicativi orientati allo scambio di dati e messaggi, quali i linguaggi di programmazione Java e Jolie, il quale è basato sul precedente. Sono state inizialmente analizzate le principali caratteristiche e le problematiche più importanti che è necessario dover risolvere in modo da poter arrivare al risultato desiderato. Successivamente, è stato dato un ampio sguardo ad una delle scienze più applicate per risolvere i problemi tipici che affliggono questo tipo di comunicazioni, la crittografia. Sono stati elencati gli strumenti messi a disposizione ed il loro funzionamento. La crittografia viene poi applicata al protocollo SSL, il quale rappresenta la soluzione maggiormente diffusa, sia sul Web che in altri ambiti, per proteggere le informazioni personali che transitano tra gli end-point di una comunicazione. Sono state elencate le principali caratteristiche, alcuni cenni riguardanti la nascita e lo sviluppo ed è stato descritto il funzionamento di questo protocollo, soprattutto per quanto riguarda la sua fase preliminare, che è una delle parti che lo caratterizzano maggiormente. In seguito, è stata analizzata la soluzione fornita all’interno delle librerie del linguaggio Java per realizzare comunicazioni indipendenti dal mezzo di comunicazione che soddisfino le politiche dettate dal protocollo SSL. Questa soluzione è rappresentata dalla classe SSLEngine, che è quindi stata esaminata, a partire dal ciclo di vita e dall'inizializzazione, fino ad arrivare all'interazione all'interno di un applicazione. Quanto esplorato in precedenza viene poi applicato a Jolie, un linguaggio di programmazione basato sulle comunicazioni e sviluppato in Java, all'interno dell'Università di Bologna. Dopo uno sguardo generale alle sue caratteristiche è stata approfondita la gestione dei protocolli, e di conseguenza, l'introduzione di SSL all'interno di essi, realizzata tramite la classe SSLProtocol. Questa classe contiene ed implementa i concetti analizzati nel capitolo riguardante Java, adattandoli all'architettura ed alla progettazione pensata appositamente per Jolie; è stata quindi effettuata un'analisi del codice e della gestione della classe SSLEngine per realizzare comunicazioni sicure. Infine, per verificare l’effettivo funzionamento, sono stati creati due semplici casi d’uso per poter sfruttare i vantaggi offerti da Jolie, il quale è particolarmente indicato per la creazione di applicazioni orientate ai servizi.
Resumo:
La tesi ha lo scopo di indagare le tecnologie disponibili per la realizzazione di linguaggi di programmazione e linguaggi domain specific in ambiente Java. In particolare, vengono proposti e analizzati tre strumenti presenti sul mercato: JavaCC, ANTLR e Xtext. Al termine dell’elaborato, il lettore dovrebbe avere un’idea generale dei principali meccanismi e sistemi utilizzati (come lexer, parser, AST, parse trees, etc.), oltre che del funzionamento dei tre tools presentati. Inoltre, si vogliono individuare vantaggi e svantaggi di ciascuno strumento attraverso un’analisi delle funzionalità offerte, così da fornire un giudizio critico per la scelta e la valutazione dei sistemi da utilizzare.
Resumo:
Questa tesi esamina la progettazione e lo sviluppo di un'applicazione mobile Android che è in grado di gestire l'attività sportiva di un utente. L'applicazione offre numerose funzionalità, che permettono all'utente di eseguire allenamenti per il fitness e allenamenti per la corsa, tenendo sempre sotto controllo i risultati ottenuti e tutte le informazioni necessarie. Oltre ad eseguire allenamenti l'utente può crearne di propri e modificarli a suo piacimento, in più nell'App è inserito lo shop dove l'utilizzatore può comprare allenamenti messi a disposizione direttamente da FitBody. Gli aspetti visti sopra saranno descritti attraverso un'analisi del problema e un'analisi sulla progettazione architetturale. In particolare verranno sottolineati aspetti riguardanti l'interazione tra utenti e l'utilizzo di API che permetteranno all'utilizzatore di condividere le proprie esperienze sul social network Facebook e di avere un'esperienza completa con l'app. In questo scritto si parlerà anche della comunicazione tra applicazione e server, che avviene grazie a chiamate HTTP con metodo POST. Attraverso queste chiamate l'applicazione leggerà e scriverà informazioni sul database online, 'hostato' sulla piattaforma Altervista. L'applicazione web, di cui sarà data solamente un'infarinatura, è stata sviluppata utilizzando il linguaggio di programmazione PHP. Ogni 'response' inviata dal server al client è composta da uno o più oggetti JSON.
Resumo:
La grande crescita e l'enorme distribuzione che hanno avuto negli ultimi tempi i moderni devices mobile (smartphones, tablet, dispositivi wearable, etc...) ha dato l'avvio ad un massiccio sviluppo di applicazioni mobile di qualunque genere, dall'health-care all'AR (Augmented Reality, realtà aumentata), dalle applicazioni social alle applicazioni che offrono servizi all'utente.
Resumo:
L’argomento centrale della tesi sono i centri sportivi, l’applicazione permette quindi all’utente di cercare un centro sportivo per nome, per città o per provincia. Consente inoltre di visualizzare la disponibilità per ogni campo offerto dalle strutture ed eventualmente di effettuare una prenotazione. Il centro sportivo renderà disponibili informazioni altrimenti difficilmente reperibili come gli orari, il numero telefonico, l’indirizzo, ecc.. Il progetto si compone di una parte front end e una parte back end. Il front consiste in un’applicazione android nativo (sviluppata in java). Il back-end invece vede un applicativo basato su ASP.NET Web API 2, con db Entity Framework Code First. Per la gestione degli user è stato scelto il framework ASP.NET Identity 2.1.
Resumo:
In questa tesi sono stati introdotti e studiati i Big Data, dando particolare importanza al mondo NoSQL, approfondendo MongoDB, e al mondo del Machine Learning, approfondendo PredictionIO. Successivamente è stata sviluppata un'applicazione attraverso l'utilizzo di tecnologie web, nodejs, node-webkit e le tecnologie approfondite prima. L'applicazione utilizza l'interpolazione polinomiale per predirre il prezzo di un bene salvato nello storico presente su MongoDB. Attraverso PredictionIO, essa analizza il comportamento degli altri utenti consigliando dei prodotti per l'acquisto. Infine è stata effetuata un'analisi dei risultati dell'errore prodotto dall'interpolazione.
Resumo:
In questa tesi inizialmente ci si è occupati di definire ed approfondire le caratteristiche della tecnologia Wi-Fi Direct, illustrandone il funzionamento, l’architettura e gli scenari di utilizzo. Successivamente è stata sviluppata un’applicazione basata su tale tecnologia, con lo scopo di fornire un servizio di disseminazione di messaggi d’aiuto in situazioni di emergenza o di catastrofi naturali, nelle quali la rete cellulare viene inevitabilmente meno. In queste occasioni c’è il bisogno di avere uno strumento che permetta di comunicare in maniera facile, veloce e che sia alla portata di tutti. Caratteristiche e qualità proprie di uno smartphone, dispositivo che oggigiorno è presente nelle tasche di ognuno di noi. L’obiettivo finale infatti, sarebbe quello di creare un applicativo che possa idealmente essere preinstallato in ogni nostro dispositivo, un servizio che sia diffuso, compreso ed utilizzabile istantaneamente da tutti, in modo tale da essere una sicurezza e un aiuto di vitale importanza in situazioni di pericolo. Per lo sviluppo di una tale applicazione ci si è basati sul sistema operativo Android, che è il più diffuso tra gli utenti di tutto il mondo. Nel primo capitolo ci si è occupati di di presentare ed approfondire la tecnologia Wi-Fi Direct, definendone gli ambiti generali di utilizzo e le problematiche che vengono affrontate. Nel secondo capitolo si prosegue con la presentazione della tecnologia in ambiente Android, descrivendo le API fornite da Google per l’utilizzo del servizio in questione. Nel terzo capitolo, dopo un’analisi dei progetti che coinvolgono tale tecnologia, viene illustrata l’applicazione creata, le sue funzionalità e caratteristiche ed eventuali casi d’uso. Nel quarto capitolo è stata inserita la parte più tecnica, dove illustro i problemi incontrati e le modalità di risoluzione degli stessi, insieme alle strutture ed agli oggetti messi a disposizione da Java che sono stati utilizzati. Infine nel capitolo conclusivo è stato fatto un riepilogo del lavoro svolto, indicando le difficoltà incontrate ed eventuali possibili miglioramenti e sviluppi futuri del mio progetto.
Resumo:
La programmazione aggregata è un paradigma che supporta la programmazione di sistemi di dispositivi, adattativi ed eventualmente a larga scala, nel loro insieme -- come aggregati. L'approccio prevalente in questo contesto è basato sul field calculus, un calcolo formale che consente di definire programmi aggregati attraverso la composizione funzionale di campi computazionali, creando i presupposti per la specifica di pattern di auto-organizzazione robusti. La programmazione aggregata è attualmente supportata, in modo più o meno parziale e principalmente per la simulazione, da DSL dedicati (cf., Protelis), ma non esistono framework per linguaggi mainstream finalizzati allo sviluppo di applicazioni. Eppure, un simile supporto sarebbe auspicabile per ridurre tempi e sforzi d'adozione e per semplificare l'accesso al paradigma nella costruzione di sistemi reali, nonché per favorire la ricerca stessa nel campo. Il presente lavoro consiste nello sviluppo, a partire da un prototipo della semantica operazionale del field calculus, di un framework per la programmazione aggregata in Scala. La scelta di Scala come linguaggio host nasce da motivi tecnici e pratici. Scala è un linguaggio moderno, interoperabile con Java, che ben integra i paradigmi ad oggetti e funzionale, ha un sistema di tipi espressivo, e fornisce funzionalità avanzate per lo sviluppo di librerie e DSL. Inoltre, la possibilità di appoggiarsi, su Scala, ad un framework ad attori solido come Akka, costituisce un altro fattore trainante, data la necessità di colmare l'abstraction gap inerente allo sviluppo di un middleware distribuito. Nell'elaborato di tesi si presenta un framework che raggiunge il triplice obiettivo: la costruzione di una libreria Scala che realizza la semantica del field calculus in modo corretto e completo, la realizzazione di una piattaforma distribuita Akka-based su cui sviluppare applicazioni, e l'esposizione di un'API generale e flessibile in grado di supportare diversi scenari.
Resumo:
In questo lavoro di tesi si è analizzato il problema di creare un sistema di assistenza allo shopping integrabile in applicazioni e-commerce web e mobile sviluppate con le tecnologie messe a disposizione da Marketcloud, ovvero un progetto che punta a fornire strumenti per la realizzazione, la manutenzione, la gestione, la diffusione e la pubblicizzazione di tali applicazioni limitando i costi e le problematiche di sviluppo a carico delle aziende che intendono fornire servizi di e-commerce. Dopo aver discusso gli aspetti principali del progetto Marketcloud, sono state analizzate le necessità delle aziende interessate allo sviluppo del sistema di assistenza in esame, così come le aspettative degli utenti (i clienti) finali, ed è stato discusso perché fosse necessario e preferibile, nel caso in esame, non utilizzare soluzioni già presenti sul mercato. Infine, è stata progettata ed implementata un’applicazione web che includesse tale sistema e che fosse immediatamente integrabile tra i servizi già sviluppati da Marketcloud, testandone risultati, prestazioni, problemi e possibili sviluppi futuri. Al termine del lavoro di implementazione, il sistema e l'applicazione garantiscono all'utente finale l'utilizzo di tre funzioni: ricerca per categoria, ricerca libera, recommendation di prodotti. Per gestire la ricerca libera, è stato implementato un sistema di filtri successivi, ed una rete neurale multi-livello dotata di un opportuno algoritmo di machine learning per poter apprendere dalle scelte degli utenti; per la recommendation di prodotti, è stato utilizzato un sistema di ranking (classificazione). Le prestazioni della rete neurale sono state oggetto di attenta analisi.
Resumo:
In Java 8, ultimo aggiornamento ufficiale del linguaggio Java, sono state introdotte alcune nuove funzionalità che permettono l’integrazione di alcuni meccanismi legati ai linguaggi dinamici o funzionali, come le espressioni lambda, l’utilizzo degli stream e la dichiarazione di metodi statici all’interno di interfacce. Se si volesse installare un’applicazione scritta in Java 8 su Android, Dalvik VM, la JVM in esso presente, fallirà il processo di traduzione del bytecode. In questa tesi quindi esplorerò, sia ad alto livello che a basso livello, l’origine del problema e presenterò una soluzione di backporting per un’applicazione esistente.
Resumo:
We examined 89 normal volunteers using Cloninger's Temperament and Character Inventory (TCI). Genotyping the 102T/C polymorphism of the serotonin 5HT2A receptor gene and the ser9gly polymorphism in exon 1 of the dopamine D3 receptor (DRD3) gene was performed using PCR-RFLP, whereas the dopamine transporter (DAT1) gene variable number of tandem repeats (VNTR) polymorphism was investigated using PCR amplification followed by electrophoresis in an 8% acrylamide gel with a set of size markers. We found a nominally significant association between gender and harm avoidance (P=0.017; women showing higher scores). There was no association of either DAT1, DRD3 or 5HT2A alleles or genotypes with any dimension of the TCI applying Kruskal-Wallis rank-sum tests. Comparing homozygote and heterozygote DAT1 genotypes, we found higher novelty seeking scores in homozygotes (P=0.054). We further found a nominally significant interaction between DAT1 and 5HT2A homo-/heterozygous gene variants (P=0.0071; DAT1 and 5HT2A genotypes P value of 0.05), performing multivariate analysis of variance (MANOVA). Examining the temperamental TCI subscales, this interaction was associated with persistence (genotypes: P=0.004; homo-/heterozygous gene variants: P=0.0004). We conclude that an interaction between DAT1 and 5HT2A genes might influence the temperamental personality trait persistence.
Resumo:
Java Enterprise Applications (JEAs) are large systems that integrate multiple technologies and programming languages. Transactions in JEAs simplify the development of code that deals with failure recovery and multi-user coordination by guaranteeing atomicity of sets of operations. The heterogeneous nature of JEAs, however, can obfuscate conceptual errors in the application code, and in particular can hide incorrect declarations of transaction scope. In this paper we present a technique to expose and analyze the application transaction scope in JEAs by merging and analyzing information from multiple sources. We also present several novel visualizations that aid in the analysis of transaction scope by highlighting anomalies in the specification of transactions and violations of architectural constraints. We have validated our approach on two versions of a large commercial case study.
Resumo:
Java Enterprise Applications (JEAs) are complex software systems written using multiple technologies. Moreover they are usually distributed systems and use a database to deal with persistence. A particular problem that appears in the design of these systems is the lack of a rich business model. In this paper we propose a technique to support the recovery of such rich business objects starting from anemic Data Transfer Objects (DTOs). Exposing the code duplications in the application's elements using the DTOs we suggest which business logic can be moved into the DTOs from the other classes.
Resumo:
We describe some characteristics of persistent musical and verbal retrieval episodes, commonly known as "earworms." In Study 1, participants first filled out a survey summarizing their earworm experiences retrospectively. This was followed by a diary study to document each experience as it happened. Study 2 was an extension of the diary study with a larger sample and a focus on triggering events. Consistent with popular belief, these persistent musical memories were common across people and occurred frequently for most respondents, and were often linked to recent exposure to preferred music. Contrary to popular belief, the large majority of such experiences were not unpleasant. Verbal earworms were uncommon. These memory experiences provide an interesting example of extended memory retrieval for music in a naturalistic situation.