952 resultados para Android, Typing Game, Client-Server, App, Applicazione, mobile
Resumo:
Consisteix en la implementació d¿un escenari segur client - servidor amb un proveïdor d¿identitat i un control d¿accés extern. En concret, s¿hand¿implementar principalment dos components web, el proveïdor de servei i el proveïdor d¿identitat.
Resumo:
El projecte consisteix en desenvolupar un sistema que permeti a un client poder connectar-se auna pàgina web, validar-se sense contrasenya (amb un certificat idCat), i accedir als seus recursos.
Resumo:
Nykyään kolmeen kerrokseen perustuvat client-server –sovellukset ovat suuri kinnostuskohde sekä niiden kehittäjille etta käyttäjille. Tietotekniikan nopean kehityksen ansiosta näillä sovelluksilla on monipuolinen käyttö teollisuuden eri alueilla. Tällä hetkellä on olemassa paljon työkaluja client-server –sovellusten kehittämiseen, jotka myös tyydyttävät asiakkaiden asettamia vaatimuksia. Nämä työkalut eivät kuitenkaan mahdollista joustavaa toimintaa graafisen käyttöliittyman kanssa. Tämä diplomityö käsittelee client-server –sovellusten kehittamistä XML –kielen avulla. Tämä lähestymistapa mahdollistaa client-server –sovellusten rakentamista niin, että niiden graafinen käyttöliittymä ja ulkonäkö olisivat helposti muokattavissa ilman ohjelman ytimen uudelleenkääntämistä. Diplomityö koostuu kahdesta ostasta: teoreettisesta ja käytännöllisestä. Teoreettinen osa antaa yleisen tiedon client-server –arkkitehtuurista ja kuvailee ohjelmistotekniikan pääkohdat. Käytannöllinen osa esittää tulokset, client-server –sovellusten kehittämisteknologian kehittämislähestymistavan XML: ää käyttäen ja tuloksiin johtavat usecase– ja sekvenssidiagrammit. Käytännöllinen osa myos sisältää esimerkit toteutetuista XML-struktuureista, jotka kuvaavat client –sovellusten kuvaruutukaavakkeiden esintymisen ja serverikyselykaaviot.
Resumo:
Tässä työssä tutkitaan ohjelmistoarkkitehtuurisuunnitteluominaisuuksien vaikutusta erään client-server –arkkitehtuuriin perustuvan mobiilipalvelusovelluksen suunnittelu- ja toteutusaikaan. Kyseinen tutkimus perustuu reaalielämän projektiin, jonka kvalitatiivinen analyysi paljasti arkkitehtuurikompponenttien välisten kytkentöjen merkittävästi vaikuttavan projektin työmäärään. Työn päätavoite oli kvantitatiivisesti tutkia yllä mainitun havainnon oikeellisuus. Tavoitteen saavuttamiseksi suunniteltiin ohjelmistoarkkitehtuurisuunnittelun mittaristo kuvaamaan kyseisen järjestelmän alijärjestelmien arkkitehtuuria ja luotiin kaksi suunniteltua mittaristoa käyttävää, työmäärää (komponentin suunnittelu-, toteutus- ja testausaikojen summa) arvioivaa mallia, joista toinen on lineaarinen ja toinen epälineaarinen. Näiden mallien kertoimet sovitettiin optimoimalla niiden arvot epälineaarista gloobaalioptimointimenetelmää, differentiaalievoluutioalgoritmia, käyttäen, niin että mallien antamat arvot vastasivat parhaiten mitattua työmäärää sekä kaikilla ominaisuuksilla eli attribuuteilla että vain osalla niistä (yksi jätettiin vuorotellen pois). Kun arkkitehtuurikompenttien väliset kytkennät jätettiin malleista pois, mitattujen ja arvoitujen työmäärien välinen ero (ilmaistuna virheenä) kasvoi eräässä tapauksessa 367 % entisestä tarkoittaen sitä, että näin muodostettu malli vastasi toteutusaikoja huonosti annetulla ainestolla. Tämä oli suurin havaitu virhe kaikkien poisjätettyjen ominaisuuksien kesken. Saadun tuloksen perusteella päätettiin, että kyseisen järjestelmän toteutusajat ovat vahvasti riippuvaisia kytkentöjen määrästä, ja näin ollen kytkentöjen määrä oli mitä todennäköisemmin kaikista tärkein työmäärään vaikuttava tekijä tutkitun järjestelmän arkkitehtuurisuunnittelussa.
Resumo:
Mitä on läsnäolo? Tämä työ määrittelee läsnäolon tietyn henkilön, laitteen tai palvelun halukkuudeksi kommunikoida. Nykyään on olemassa lukuisia läsnäolotietoa levittäviä sovelluksia, joista jokainen käyttää erilaista protokollaa tehtävän suorittamiseen. Vasta viime aikoina sovellusten kehittäjät ovat huomanneet tarpeen yhdelle sovellukselle, joka kykenee tukemaan lukuisia läsnäoloprotokollia. Session Initiation Protocol (SIP) voi levittää läsnäolotietoa muiden ominaisuuksiensa lisäksi. Kun muita protokollia käytetään vain reaaliaikaiseen viestintään ja läsnäolotiedon lähetykseen, SIP pystyy moniin muihinkin asioihin. Se on alunperin suunniteltu aloittamaan, muuttamaan ja lopettamaan osapuolien välisiä multimediaistuntoja. Arkkitehtuurin toteutus käyttää kahta Symbian –käyttöjärjestelmän perusominaisuutta: asiakas-palvelin rakennetta ja kontaktitietokantaa. Asiakaspalvelin rakenne erottaa asiakkaan protokollasta tarjoten perustan laajennettavalle usean protokollan arkkitehtuurille ja kontaktitietokanta toimii läsnäolotietojen varastona. Työn tuloksena on Symbianin käyttöjärjestelmässä toimiva läsnäoloasiakas.
Resumo:
Erilaisten langattomien päätelaitteiden kuten älypuhelimien ja kommunikaattoreiden määrän lisääntyessä myös kiinnostus liikkuville käyttäjille lisäarvoa tuottavia verkkopalveluita ja -sovelluksia kohtaan kasvaa. Työn tarkoituksena oli tutkia kuinka langattomat Symbianin käyttöjärjestelmää käyttävät laitteet voivat hyödyntää verkkotiedostoja. Työssä arvioitiin eri tiedostojenjakoprotokollien käytettävyyttä langattomissa verkoissa, määriteltiin etätiedostoyhteyden Symbian-alustalle tarjoavan ohjelmiston vaatimukset ja tehtiin alustava suunnitelma ohjelmiston toteuttamiseksi. Läpinäkyvä tiedostojen etäkäyttö vaatii tiedostojenjakoprotokollan toteuttamista sovelluksille yhteisen tiedostosaantimekanismin alle. Tiedostojen etäkäyttö voi perustua eri tiedostojenjakoprotokolliin kuten IP:n päällä toimiviin NFS:ään tai CIFS:ään. Langattomuuden aiheuttamat rajoitukset laitteissa ja tiedonsiirrossa saattavat vähentää sovellutuksen käytettävyyttä ja on huomioitava ohjelmistoa toteutettaessa. Symbian-alusta perustuu asiakas-palvelin arkkitehtuuriin, jossa asiakassovellukset käyttävät tiedostopalveluita yhteisen tiedostopalvelimen kautta. Etätiedostoyhteys on mahdollista toteuttaa liittämällä uusi kirjastomoduuli tiedostopalvelimeen. Protokollan toteuttavan moduulin on muunnettava protokollan viestit tiedostopalvelimelle sopiviksi huolehtien samalla muista samanaikaisista tiedostotapahtumista. Suunniteltu moduulin arkkitehtuuri mahdollistaa eri protokollavaihtoehtojen käyttämisen etätiedostoyhteyden toteuttamiseen.
Resumo:
Det mobila operativsystemet Android är idag ett ganska dominerande operativsystem på den mobila marknaden dels på grund av sin öppenhet men också på grund av att tillgängligheten är stor i och med både billiga och dyra telefoner finns att tillgå. Men idag har Android inget fördefinierat designmönster vilket leder till att varje utvecklare får bestämma själv vad som ska användas, vilket ibland kan leda till onödigt komplex kod i applikationerna som sen blir svårtestad och svårhanterlig. Detta arbete ämnar jämföra två designmönster, Passive Model View Controller (PMVC) och Model View View-Model (MVVM), för att se vilket designmönster som blir minst komplext med hjälp av att räkna fram mätvärden med hjälp av Cyclomatic Complexity Number (CCN). Studien är gjord utifrån arbetssättet Design & Creation och ämnar bidra med: kunskap om vilket mönster man bör välja, samt om CCN kan peka ut vilka delar i en applikation som kommer att ta mer eller mindre lång tid att testa. Under studiens gång tog vi även fram skillnader på om man anväder sig av den så kallade Single Responsibilyt Principle (SRP) eller inte. Detta för att se om separerade vyer gör någon skillnad i applikationernas komplexitet. I slutändan så visar studien på att komplexiteten i små applikationer är väldigt likvärdig, men att man även på små applikationer kan se skillnad på hur komplex koden är men också att kodkomplexitet på metodnivå kan ge riktlinjer för testfall.
Resumo:
Pós-graduação em Ciência da Computação - IBILCE
Resumo:
This project brings the development of an Android application which will allow users to access 3D models on web. The application developed allows Android devices to access web pages which have code that should use OPENGL to renderize. To demonstrate this functionality, an example web application was build, using technologies such as X3DOM and HTML5, which uses WebGL to get renderized. This web application gives to the user an environment of a virtual city, where he could surf by and interact with the objects. The Android application brings this immersion to the mobile world, also. The access and storage of data was developed a Webserver, which bring to the web application a simple API to give access to the database
Resumo:
The Peer-to-Peer network paradigm is drawing the attention of both final users and researchers for its features. P2P networks shift from the classic client-server approach to a high level of decentralization where there is no central control and all the nodes should be able not only to require services, but to provide them to other peers as well. While on one hand such high level of decentralization might lead to interesting properties like scalability and fault tolerance, on the other hand it implies many new problems to deal with. A key feature of many P2P systems is openness, meaning that everybody is potentially able to join a network with no need for subscription or payment systems. The combination of openness and lack of central control makes it feasible for a user to free-ride, that is to increase its own benefit by using services without allocating resources to satisfy other peers’ requests. One of the main goals when designing a P2P system is therefore to achieve cooperation between users. Given the nature of P2P systems based on simple local interactions of many peers having partial knowledge of the whole system, an interesting way to achieve desired properties on a system scale might consist in obtaining them as emergent properties of the many interactions occurring at local node level. Two methods are typically used to face the problem of cooperation in P2P networks: 1) engineering emergent properties when designing the protocol; 2) study the system as a game and apply Game Theory techniques, especially to find Nash Equilibria in the game and to reach them making the system stable against possible deviant behaviors. In this work we present an evolutionary framework to enforce cooperative behaviour in P2P networks that is alternative to both the methods mentioned above. Our approach is based on an evolutionary algorithm inspired by computational sociology and evolutionary game theory, consisting in having each peer periodically trying to copy another peer which is performing better. The proposed algorithms, called SLAC and SLACER, draw inspiration from tag systems originated in computational sociology, the main idea behind the algorithm consists in having low performance nodes copying high performance ones. The algorithm is run locally by every node and leads to an evolution of the network both from the topology and from the nodes’ strategy point of view. Initial tests with a simple Prisoners’ Dilemma application show how SLAC is able to bring the network to a state of high cooperation independently from the initial network conditions. Interesting results are obtained when studying the effect of cheating nodes on SLAC algorithm. In fact in some cases selfish nodes rationally exploiting the system for their own benefit can actually improve system performance from the cooperation formation point of view. The final step is to apply our results to more realistic scenarios. We put our efforts in studying and improving the BitTorrent protocol. BitTorrent was chosen not only for its popularity but because it has many points in common with SLAC and SLACER algorithms, ranging from the game theoretical inspiration (tit-for-tat-like mechanism) to the swarms topology. We discovered fairness, meant as ratio between uploaded and downloaded data, to be a weakness of the original BitTorrent protocol and we drew inspiration from the knowledge of cooperation formation and maintenance mechanism derived from the development and analysis of SLAC and SLACER, to improve fairness and tackle freeriding and cheating in BitTorrent. We produced an extension of BitTorrent called BitFair that has been evaluated through simulation and has shown the abilities of enforcing fairness and tackling free-riding and cheating nodes.
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:
La tesi tratta in primo piano la personalizzazione di un sistema Android utilizzata come piattaforma per la seconda parte del lavoro. Quest'ultima consiste nell'installazione sul sistema operativo Android, personalizzato, un modulo e un'applicazione, il primo denominato Transmission Error Detector (TED), che estende il funzionamento della tecnologia WiFi e la seconda denominata Wvdial che estende invece il funzionamento della tecnologia 3G(o UMTS). Entrambi fanno parte di una architettura per il supporto alla mobilità in contesti eterogenei.
Resumo:
Nel contesto della tesi è stata sviluppata un'applicazione di Realtà Aumentata per tablet Android nell'ambito dell'interior design. Dopo aver acquisito un'istantanea con la fotocamera del dispositivo di un ambiente interno, è possibile selezionare attraverso un "tocco" sul display il rivestimento (pavimento o parete) di cui si vuole simulare il cambiamento di colore o texture. Una volta individuata ed evidenziata l'area di interesse, in tempo reale è possibile cambiare interattivamente l'aspetto del rivestimento precedentemente selezionato. La tesi si focalizza sulla ricerca di un metodo che consenta di avere una segmentazione accurata della superficie di interesse. L'algoritmo di segmentazione studiato, utilizzato nell'applicazione di Realtà Aumentata, è sviluppato nel contesto della collaborazione tra il Computer Vision Group (CVG), coordinato dal Prof. Alessandro Bevilacqua e Maticad S.r.l., un'azienda che opera nel settore dell'Information Technology, Distributed Applications, Internet e Computer Grafica, presso la quale ho effettuato un periodo di tirocinio. Maticad, oltre a software per pc desktop, sviluppa applicazioni per iOS e in questo contesto, durante il tirocinio, ho sviluppata un'applicazione demo per iOS 7 volta a studiare le prestazioni dei sensori (ottico, inerziali, magnetici), in vista di un futuro porting dell'applicazione su quel sistema operativo.
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:
En los últimos años, debido al notable desarrollo de los terminales portátiles, que han pasado de ser “simples” teléfonos o reproductores a puros ordenadores, ha crecido el número de servicios que ofrecen cada vez mayor cantidad de contenido multimedia a través de internet. Además, la distinta evolución de estos terminales hace que nos encontremos en el mercado con una amplísima gama de productos de diferentes tamaños y capacidades de procesamiento, lo que hace necesario encontrar una fórmula que permita satisfacer la demanda de dichos servicios sea cual sea la naturaleza de nuestro dispositivo. Para poder ofrecer una solución adecuada se ha optado por la integración de un protocolo como RTP y un estándar de video como SVC. RTP (Real-time Transport Protocol), en contraposición a los protocolos de propósito general fue diseñado para aplicaciones de tiempo real por lo que es ideal para el streaming de contenido multimedia. Por su parte, SVC es un estándar de video escalable que permite transmitir en un mismo stream una capa base y múltiples capas de mejora, por lo que podremos adaptar la calidad y tamaño del contenido a la capacidad y tamaño de nuestro dispositivo. El objetivo de este proyecto consiste en integrar y modificar tanto el reproductor MPlayer como la librería RTP live555 de tal forma que sean capaces de soportar el formato SVC sobre el protocolo RTP y montar un sistema servidorcliente para comprobar su funcionamiento. Aunque este proceso esté orientado a llevarse a cabo en un dispositivo móvil, para este proyecto se ha optado por realizarlo en el escenario más sencillo posible, para lo cual, se emitirán secuencias a una máquina virtual alojada en el mismo ordenador que el servidor. ABSTRACT In recent years, due to the remarkable development of mobile devices, which have evolved from "simple" phones or players to computers, the amount of services that offer multimedia content over the internet have shot up. Furthermore, the different evolution of these terminals causes that we can find in the market a wide range of different sizes and processing capabilities, making necessary to find a formula that will satisfy the demand for such services regardless of the nature of our device. In order to provide a suitable solution we have chosen to integrate a protocol as RTP and a video standard as SVC. RTP (Real-time Transport Protocol), in opposition to general purpose protocols was designed for real-time applications making it ideal for media streaming. Meanwhile, SVC is a scalable video standard which can transmit a single stream in a base layer and multiple enhancement layers, so that we can adapt the quality and size of the content to the capacity and size of our device. The objective of this project is to integrate and modify both MPlayer and RTP library live555 so that they support the SVC format over RTP protocol and set up a client-server system to check its behavior. Although this process has been designed to be done on a mobile device, for this project we have chosen to do it in the simplest possible scenario so we will stream to a virtual machine hosted on the same computer where we have the server.