12 resultados para programmazione asincrona, JavaScript, Web app, jQuery, Node.js
em Doria (National Library of Finland DSpace Services) - National Library of Finland, Finland
Resumo:
Tässä työssä selvitettiin Ajax-tekniikan tilannetta web-sovellusten kehityksessä. Sitä varten kehitettiin demosovellus, jonka avulla tekniikoiden käyttökelpoisuutta voitiin arvioida. Samalla työssä on esitelty eri tekniikoita, jotka liittyvät kiinteästi Ajax-sovellusten toteuttamiseen. Demosovellus tehtiin vapaalla LAMP (Linux, Apache, MySQL and PHP) -alustalla. Työssä on arvioitu Ajax-tekniikan käyttökelpoisuutta ja ongelmia nykyisen webin, web-kehittäjien, käytössä olevien selainten ja käyttäjien kannalta. Lopussa on myös pohdittu hieman webin tulevaisuutta ja Ajaxin osaa siinä.
Resumo:
Työ tutkii, miten yksinkertaisen opetuskäyttöön suunnatun videoneuvotteluportaalin prototyypin rakentaminen onnistuu avoimilla tekniikoilla. WebRTC mahdollistaa selaimen päällä toimivan videoneuvottelusovelluksen rakentamisen avoimia ohjelmistorajapintoja käyttäen. Prototyypin toteuttamiseen käytetään WebRTC:n lisäksi WebSocket-standardia keskustelun tahojen yhdistämiseen. WebSocket toteutetaan Node.js:ää käyttävällä socket.io-kirjastolla. Sovelluksen avulla on tarkoitus pystyä muodostamaan ääni- ja videoyhteys kahden asiakasohjelman välille. Opetuskäyttöä tukevina ominaisuuksina mukana on myös tekstipohjainen keskustelu ja mahdollisuus opetuskalvojen selaamiseen. Lopputuloksena on laajennettavissa oleva avoin videoneuvottelusovelluksen prototyyppi.
Resumo:
Presentation at Open Repositories 2014, Helsinki, Finland, June 9-13, 2014
Resumo:
App Engine on lyhenne englanninkielisistä termeistä application, sovellus ja engine, moottori. Kyseessä on Google, Inc. -konsernin toteuttama kaupallinen palvelu, joka noudattaa pilvimallin tietojenkäsittelyn periaatteita ja mahdollistaa asiakkaan oman sovelluskehityksen. Järjestelmään on mahdollista ohjelmoida itse ideoitu palvelu Internet - verkon välityksellä käytettäväksi, joko yksityisesti tai julkisesti. Kyse on siis hajautetusta palvelinjärjestelmästä, jonka tarjoaa dynaamisesti kuormitukseen sopeutuvan sovellusalustan, jossa asiakas ei vuokraa virtuaalikoneita. Myös järjestelmän tarjoama tallennuskapasiteetti on saatavilla joustavasti. Itse kandidaatintyössä syvennytään yksityiskohtaisemmin sovelluksen toteuttamiseen palvelussa, rajoitteisiin ja soveltuvuuteen. Alussa käydään läpi pilvikäsite, joista monilla tietokoneiden käyttäjillä on epäselvä käsitys. Erilaisia kokonaisuuksia voidaan luoda erittäin monella tavalla, joista rajaamme käsittelyn kohteeksi toteuttamiskelpoiset yleiset ratkaisut.
Resumo:
Current-day web search engines (e.g., Google) do not crawl and index a significant portion of theWeb and, hence, web users relying on search engines only are unable to discover and access a large amount of information from the non-indexable part of the Web. Specifically, dynamic pages generated based on parameters provided by a user via web search forms (or search interfaces) are not indexed by search engines and cannot be found in searchers’ results. Such search interfaces provide web users with an online access to myriads of databases on the Web. In order to obtain some information from a web database of interest, a user issues his/her query by specifying query terms in a search form and receives the query results, a set of dynamic pages that embed required information from a database. At the same time, issuing a query via an arbitrary search interface is an extremely complex task for any kind of automatic agents including web crawlers, which, at least up to the present day, do not even attempt to pass through web forms on a large scale. In this thesis, our primary and key object of study is a huge portion of the Web (hereafter referred as the deep Web) hidden behind web search interfaces. We concentrate on three classes of problems around the deep Web: characterization of deep Web, finding and classifying deep web resources, and querying web databases. Characterizing deep Web: Though the term deep Web was coined in 2000, which is sufficiently long ago for any web-related concept/technology, we still do not know many important characteristics of the deep Web. Another matter of concern is that surveys of the deep Web existing so far are predominantly based on study of deep web sites in English. One can then expect that findings from these surveys may be biased, especially owing to a steady increase in non-English web content. In this way, surveying of national segments of the deep Web is of interest not only to national communities but to the whole web community as well. In this thesis, we propose two new methods for estimating the main parameters of deep Web. We use the suggested methods to estimate the scale of one specific national segment of the Web and report our findings. We also build and make publicly available a dataset describing more than 200 web databases from the national segment of the Web. Finding deep web resources: The deep Web has been growing at a very fast pace. It has been estimated that there are hundred thousands of deep web sites. Due to the huge volume of information in the deep Web, there has been a significant interest to approaches that allow users and computer applications to leverage this information. Most approaches assumed that search interfaces to web databases of interest are already discovered and known to query systems. However, such assumptions do not hold true mostly because of the large scale of the deep Web – indeed, for any given domain of interest there are too many web databases with relevant content. Thus, the ability to locate search interfaces to web databases becomes a key requirement for any application accessing the deep Web. In this thesis, we describe the architecture of the I-Crawler, a system for finding and classifying search interfaces. Specifically, the I-Crawler is intentionally designed to be used in deepWeb characterization studies and for constructing directories of deep web resources. Unlike almost all other approaches to the deep Web existing so far, the I-Crawler is able to recognize and analyze JavaScript-rich and non-HTML searchable forms. Querying web databases: Retrieving information by filling out web search forms is a typical task for a web user. This is all the more so as interfaces of conventional search engines are also web forms. At present, a user needs to manually provide input values to search interfaces and then extract required data from the pages with results. The manual filling out forms is not feasible and cumbersome in cases of complex queries but such kind of queries are essential for many web searches especially in the area of e-commerce. In this way, the automation of querying and retrieving data behind search interfaces is desirable and essential for such tasks as building domain-independent deep web crawlers and automated web agents, searching for domain-specific information (vertical search engines), and for extraction and integration of information from various deep web resources. We present a data model for representing search interfaces and discuss techniques for extracting field labels, client-side scripts and structured data from HTML pages. We also describe a representation of result pages and discuss how to extract and store results of form queries. Besides, we present a user-friendly and expressive form query language that allows one to retrieve information behind search interfaces and extract useful data from the result pages based on specified conditions. We implement a prototype system for querying web databases and describe its architecture and components design.
Resumo:
Workshop at Open Repositories 2014, Helsinki, Finland, June 9-13, 2014
Resumo:
HTML5-tekniikka sekä Javascript tuen laajuus selaimissa vaihtelee. Tässä työssä kyseisiä tekniikoita tutkitaan ja selvitetään niiden toimivuus keräilykorttipelin tarvittavien ominaisuuksien osalta. Tuet kartoitetaan viiden yleisimmän selaimen osalta. HTML5 tukee WebSocket-ominaisuutta, mutta kaikki selaimet eivät tue ominaisuutta tai se on poistettu käytöstä. Työssä etsitään tiedonsiirtotekniikan korvaaja, jota testataan ja verrattaan yleisesti käytettäviin tekniikoihin. Socket.io oli nopea tekniikka ja viisi yleisintä selainta tuki kyseistä tekniikkaa. Tämän vuoksi Socket.io-tekniikka soveltuu keräilykorttipeliin hyvin. Työssä tutkitaan keräilykorttipeliin liittyviä ongelmia sekä ratkaistaan ilmenneet ongelmat. Keräilykorttipelissä kyseisiä ongelmia ilmeni hyvin vähän. HTML5 animaatio tutkitaan että se on optimoitu hyvin, jotta käyttäjälle tulee miellyttävä peli kokemus. Keräilykorttipeliin lisäksi tehdään käytännön toteutuksena pakkaeditorin prototyyppi, jossa käytetään drag&drop-tekniikkaa. Tämän vuoksi myös drag&drop-tekniikan tuki on selainten osalta kartoitettu myös työssä, sekä testattu käytännön toteutuksena prototyypissä. Prototyypin tarkoitus on kartoittaa mahdolliset tulevat ongelmat sekä auttaa varsinaisen pakkaeditorin tuotantoversiossa.
Resumo:
Only recently, during the past five years, consumer electronics has been evolving rapidly. Many products have started to include “smart home” capabilities, enabling communication and interoperability of various smart devices. Even more devices and sensors can be remote controlled and monitored through cloud services. While the smart home systems have become very affordable to average consumer compared to the early solutions decades ago, there are still many issues and things that need to be fixed or improved upon: energy efficiency, connectivity with other devices and applications, security and privacy concerns, reliability, and response time. This paper focuses on designing Internet of Things (IoT) node and platform architectures that take these issues into account, notes other currently used solutions, and selects technologies in order to provide better solution. The node architecture aims for energy efficiency and modularity, while the platform architecture goals are in scalability, portability, maintainability, performance, and modularity. Moreover, the platform architecture attempts to improve user experience by providing higher reliability and lower response time compared to the alternative platforms. The architectures were developed iteratively using a development process involving research, planning, design, implementation, testing, and analysis. Additionally, they were documented using Kruchten’s 4+1 view model, which is used to describe the use cases and different views of the architectures. The node architecture consisted of energy efficient hardware, FC3180 microprocessor and CC2520 RF transceiver, modular operating system, Contiki, and a communication protocol, AllJoyn, used for providing better interoperability with other IoT devices and applications. The platform architecture provided reliable low response time control, monitoring, and initial setup capabilities by utilizing web technologies on various devices such as smart phones, tablets, and computers. Furthermore, an optional cloud service was provided in order to control devices and monitor sensors remotely by utilizing scalable high performance technologies in the backend enabling low response time and high reliability.
Resumo:
Automation technologies are widely acclaimed to have the potential to significantly reduce energy consumption and energy-related costs in buildings. However, despite the abundance of commercially available technologies, automation in domestic environments keep on meeting commercial failures. The main reason for this is the development process that is used to build the automation applications, which tend to focus more on technical aspects rather than on the needs and limitations of the users. An instance of this problem is the complex and poorly designed home automation front-ends that deter customers from investing in a home automation product. On the other hand, developing a usable and interactive interface is a complicated task for developers due to the multidisciplinary challenges that need to be identified and solved. In this context, the current research work investigates the different design problems associated with developing a home automation interface as well as the existing design solutions that are applied to these problems. The Qualitative Data Analysis approach was used for collecting data from research papers and the open coding process was used to cluster the findings. From the analysis of the data collected, requirements for designing the interface were derived. A home energy management functionality for a Web-based home automation front-end was developed as a proof-of-concept and a user evaluation was used to assess the usability of the interface. The results of the evaluation showed that this holistic approach to designing interfaces improved its usability which increases the chances of its commercial success.
Resumo:
Web 2.0 viittaa toisen polven rikkaisiin verkkosovelluksiin, jotka lähestyvät käytettävyydeltään työpöydän ohjelmia. AJAX (Asyncrhonous JavaScript and XML) on ryhmä tekniikoita, joilla rakennetaan rikkaita verkkosovelluksia. AJAX on saanut valtavasti huomiota mullistavien ominaisuuksiensa ansiosta ja se on syrjäyttämässä tuttuja malleja verkkoympäristössä. Kaikki puhuvat AJAXista, mutta harva todella tietää mistä on kyse. Tämän opinnäytteen tavoitteena on selvittää mistä AJAXissa oikein on kyse, miten se on mullistanut verkkosovelluksia ja mihin suuntaan se on menossa tulevaisuudessa. Tutkimuksen kohteena olivat myös AJAXin kilpailijat, joita verrattiin tähän teoreettisella tasolla. Alan kirjallisuuteen nojautuvassa teknisessä selvityksessä esiteltiin AJAX-tekniikat ja niiden toimintatavat AJAX-sovelluksissa. Median esille tuomien AJAXin uraauurtavien hyvien ominaisuuksien lisäksi käytiin tutkimuksessa läpi kriittisesti myös sen heikkoja puolia. SWOT-analyysissä selvisi, että AJAXin vahvuuksia ovat nopeus ja asynkronisuus ja heikkouksista suurimpia olivat tietoturva-aukot ja navigointimallin muutoksen mukanaan tuomat ongelmat. Analyysin tuloksena AJAXin mahdollisuuksiksi nähtiin laajempi levinneisyys ja kehittyminen sekä näiden mukanaan tuomat hyödyt. Uhkina nähtiin kilpailijat ja AJAXin suosion lasku. Tuloksissa selvisi myös, että kilpailijat esiintyvät kuitenkin AJAXin kanssa yhteiskäytössä, minkä vuoksi niiden vertailu kilpailijoina on hankalaa. Kilpailu on tärkeää, sillä se lisää tekniikoiden kehittymistä ja standardien muodostumista ja johtaa entistä parempiin rikkaisiin verkkosovelluksiin. Heikkouksistaan huolimatta AJAX on käyttöominaisuuksiltaan varteenotettava malli ja säilyttää varmasti paikkansa muiden WWW-sovellustekniikoiden joukossa.
Resumo:
Abstract