Paper Presents an Architecture for up Read-Only Access at the Cost of Slower Update Queries

Total Page:16

File Type:pdf, Size:1020Kb

Paper Presents an Architecture for up Read-Only Access at the Cost of Slower Update Queries An architecture for the Web of Things Dave Raggett W3C/ERCIM 2004, route des Lucioles Sophia Antipolis - France [email protected] ABSTRACT end servers that handle the HTTP client requests can spread the The real World consists of physical things that computer software computational load across multiple back-end servers. can interact with through sensors and actuators. This can be com- Cloud computing refers to the means to fulfil compute or storage bined with rich descriptions, e.g. of devices, people, places and requirements by connecting a large number of computers. These events. There is a huge potential for services, and most of the work computers are often hosted by third parties as a service at a lower to date has focused on communication technologies for the Internet cost that it would be to provision these yourself. Virtualization of Things. It is now timely for an increased focus on how to create allows a single physical computer to be shared as a number of services, and the importance of standards for realizing the potential. virtual computers. This gives users the ability to install and configure The Web of Things extends the Semantic Web into the real World their own software as needed. Scalable solutions for data storage for an open ecosystem of value added services based upon physi- involve mechanisms for replication and synchronization. If most cal sensors, actuators and tags, together with rich descriptions of data queries are read-only, the mechanisms can be designed to speed physical and abstract things. This paper presents an architecture for up read-only access at the cost of slower update queries. a scalable services platform for the Web of Things with APIs for Graphics processing units (GPUs) are very efficient for matrix services layered on top of HTTP and Representational State Transfer and vector operations compared to traditional computer processing (REST). units (CPUs). Cloud based GPUs [7] are expected to be increas- ingly important for speech and image processing, machine learning, Categories and Subject Descriptors translation, and emulation of neural networks [8]. For highly distributed solutions, some form of peer to peer com- X.4 [Insert]: ACM Categories puting is appropriate. This can be made more efficient if the number of peer connections per node follows a power law [9], so that any Keywords arbitrary pair of nodes can be connected to each other through a Internet of Things, Services, Cloud computing, REST, Semantic relatively small number of intermediaries [10]. Distributed hash Web, Web Security, Privacy, Open Standards tables (DHTs) allow you to distribute tasks across a large number of nodes through a mechanism that maps the task description to an index in an array. A related technique is to use Bloom filters which 1. WEB ARCHITECTURE have the property of constant time to add items or to check whether The Web is based upon open standards for addressing resources an item is in the set, independent of the size of the set. (URIs [1]), protocols for accessing resources (HTTP [2]), and for- mats such as HTML [3], CSS [4] and JavaScript [5], for more details, see W3C Web Architecture [6]. The Web has evolved from brows- 2. THE WEB OF THINGS ing static web pages to applications and services, with the browser Bar codes have made it easy to scan identifiers for physical items. hosting the user interface. The application processing is distributed: This has had a huge impact on tracking items through the supply some occurs in the web page scripts executed in the browser, other chain or assembly line, or as they are transported across the World, processing occurs in the server. as well as speeding checkout at a retail point of sales terminal. The HTTP protocol is designed to support caching of resources The year on year improvements in electronic circuits has made to reduce the load on servers for static or infrequently changing it practical to provide inexpensive radio frequency identification content. Applications often involve dynamically generated pages (RFID) tags. These are often more convenient than barcodes, e.g. tailored to a specific user’s needs. This is typically data driven, not requiring direct line of sight to the scanner. RFID has evolved to involving database queries, and sourcing information from third support integrated storage, computation, and even simple sensors. party servers. At the same time the communications technologies for sensors The distributed nature of clients and servers provides a degree and actuators have evolved at a rapid pace. Low cost battery powered of scalability compared to centralized approaches. Scaling to fulfil sensors are now available that operate for several years. Falling increases in demand for a given web site can be accomplished in costs are making it practical to integrate sensors in all kinds of a number of ways. The DNS servers can be configured to map a environments. Application areas include: given domain name to multiple servers to spread the load. Front- • Smart cities – transport, power, water, planning, . Copyright is held by the author/owner(s). • Smart homes – home automation, extended warranties & WS-REST 2014, Seoul, Korea proactive maintenance, security, entertainment, . ACM (to be determined). • Home healthcare – improved outcomes and reduced costs Value-Added Services A cloud-based platform can be designed to support both scalability • Retail – stock taking, and richer shopping experiences and easy registration of services. The starting point is a description of the service as a REST API. The platform also provides a basis • Smart factories and distribution for value added services that build upon other services: Work on the Internet of Things [11] has mainly focused on com- • By combining multiple services in some useful way munications technologies and much less so on how to create services. • By combining services with rich descriptions and other sources There are plenty of challenges: scalability, security, interoperability, of information coping with continuing change in communications technologies, a lack of clarity in respect to business models, privacy, personal • By transforming service data into the same, higher or lower control and threats to individual freedoms. level of abstraction The Web of Things is a term coined in 2007 [12] for applying Data fusion combines multiple sources of information, e.g. anonymised web technologies to blend the Internet of Things with the Semantic data on the locations of cars with map data to generate traffic density Web [13] to enable value added services. maps. An example of a transformation at the same level of abstrac- tion is a conversion of data units such as temperatures from Celsius • Interaction with the physical world through tags, sensors and to Farenheight. Another example is a conversion of data formats, e.g. actuators (the Internet of Things), from XML to JSON. Biological metaphors for pipelined perception and actuation are applicable to tranformations at different levels of • Machine interpretable descriptions and context (i.e. the Se- abstraction: mantic Web and linked data) and • Extracting meaning from progressive interpretation of am- • Open markets and ecosystems for services using scalable biguous or noisy data distributed cloud-based platforms. • Mapping high level intent to coordinated & synchronized control of actuators The basic idea is to expose sensors and actuators via HTTP. The server involved hides the details of how the sensors and actuators Examples of perception include: speech recognition, face detec- are connected to it. This allows you to use whatever communication tion, tracking of pedestrians and cars in street scenes. Examples technologies make the most sense for the given environment. The of actuation include: coordinating traffic lights based upon current sensors and actuators in many cases won’t be using HTTP due to the traffic conditions, and signalling smart appliances to reduce the load need to conserve battery life. Some examples of communications on a electrical grid in response to peaks in demand. technologies: Biological insights are also relevant to creating intelligent agents that act on their user’s behalf, e.g. based upon a representation of goals, the ability to construct and execute plans, and to learn from • WiFi, Weightless, ZigBee, CoAP & 6LoWPAN, NFC, Blue- experience. This is something where an interdisciplinary approach Tooth & BLE, ANT, Infrared, USB, IEEE 1394, DASH7, is likely to pay dividends, e.g. computational linguistics, cognitive KNX for buildings, EnOcean, GPRS/3G/4G, WiMAX, etc. science and artificial intelligence. All this suggests the value of a service platform with support Web applications can directly access services exposed by HTTP, for a heterogenous mix of programming languages, e.g. simple subject to the same origin security restriction. This limits web page expressions for data conversions, scripting languages for flexibil- scripts to accessing HTTP on the same server that provided the ity, rule-based languages for logical inferences, and specialized HTML web page. This is not a problem if the web applications languages for exploiting GPUs for efficient operations on numeric are installed onto the same server as the server side scripts for ac- data. cessing the sensors and actuators. Several companies have recently Markets of services involve people in a variety of different roles. announced plans for open standards for services running on home Some people design and sell services. Others purchase services gateways [14] and apply them to their personal or business needs. The former is There are work arounds for the same origin restriction. One analogous to selling native apps through app stores for use on iOS approach is to use the HTML script element to load data into the and Android devices. As an example Peter sells a service for home page’s scripting execution environment. A related approach uses security webcams. Mary purchases this as a packaged service, and document.write to dynamically extend the web page.
Recommended publications
  • Web-Enabled DDS Version 1.0
    Date: July 2016 Web-Enabled DDS Version 1.0 __________________________________________________ OMG Document Number: formal/2016-03-01 Standard document URL: http://www.omg.org/spec/DDS-WEB Machine Consumable File(s): Normative: http://www.omg.org/spec/DDS-WEB/20150901/webdds_rest1.xsd http://www.omg.org/spec/DDS-WEB/20150901/webdds_websockets1.xsd http://www.omg.org/spec/DDS-WEB/20131122/webdds_soap1_types.xsd http://www.omg.org/spec/DDS-WEB/20131122/webdds_soap1.wsdl http://www.omg.org/spec/DDS-WEB/20131122/webdds_soap1_notify.wsdl Non-normative: http://www.omg.org/spec/DDS-WEB/20150901/webdds_rest1_example.xml http://www.omg.org/spec/DDS-WEB/20150901/webdds_pim_model_v1.eap _______________________________________________ Copyright © 2013, eProsima Copyright © 2016, Object Management Group, Inc. (OMG) Copyright © 2013, Real-Time Innovations, Inc. (RTI) Copyright © 2013, THALES USE OF SPECIFICATION - TERMS, CONDITIONS & NOTICES The material in this document details an Object Management Group specification in accordance with the terms, condi- tions and notices set forth below. This document does not represent a commitment to implement any portion of this speci- fication in any company's products. The information contained in this document is subject to change without notice. LICENSES The companies listed above have granted to the Object Management Group, Inc. (OMG) a nonexclusive, royalty-free, paid up, worldwide license to copy and distribute this document and to modify this document and distribute copies of the modified version. Each of the copyright holders listed above has agreed that no person shall be deemed to have infringed the copyright in the included material of any such copyright holder by reason of having used the specification set forth herein or having conformed any computer software to the specification.
    [Show full text]
  • Fido-Uaf-Client-Api-Transport-V1.0-Ps
    FIDO UAF Application API and Transport Binding Specification v1.0 FIDO Alliance Proposed Standard 08 December 2014 This version: https://fidoalliance.org/specs/fido-uaf-v1.0-ps-20141208/fido-uaf-client-api-transport-v1.0-ps-20141208.html Previous version: https://fidoalliance.org/specs/fido-uaf-client-api-transport-v1.0-rd-20141008.pdf Editor: Brad Hill, PayPal, Inc. Contributors: Davit Baghdasaryan, Nok Nok Labs, Inc. Bill Blanke, Nok Nok Labs, Inc. Dr. Rolf Lindemann, Nok Nok Labs, Inc. Jeff Hodges, PayPal, Inc. The English version of this specification is the only normative version. Non-normative translations may also be available. Copyright © 2013-2014 FIDO Alliance All Rights Reserved. Abstract Describes APIs and an interoperability profile for client applications to utilize FIDO UAF. This includes methods of communicating with a FIDO UAF Client for both Web platform and Android applications, transport requirements, and an HTTPS interoperability profile for sending FIDO UAF messages to a compatible server. Status of This Document This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current FIDO Alliance publications and the latest revision of this technical report can be found in the FIDO Alliance specifications index at https://www.fidoalliance.org/specifications/. This document was published by the FIDO Alliance as a Proposed Standard. If you wish to make comments regarding this document, please Contact Us. All comments are welcome. Implementation of certain elements of this Specification may require licenses under third party intellectual property rights, including without limitation, patent rights.
    [Show full text]
  • Tr 126 981 V15.0.0 (2018-07)
    ETSI TR 126 981 V15.0.0 (2018-07) TECHNICAL REPORT LTE; MBMS Extensions for Provisioning and Content Ingestion (3GPP TR 26.981 version 15.0.0 Release 15) 3GPP TR 26.981 version 15.0.0 Release 15 1 ETSI TR 126 981 V15.0.0 (2018-07) Reference RTR/TSGS-0426981vf00 Keywords LTE ETSI 650 Route des Lucioles F-06921 Sophia Antipolis Cedex - FRANCE Tel.: +33 4 92 94 42 00 Fax: +33 4 93 65 47 16 Siret N° 348 623 562 00017 - NAF 742 C Association à but non lucratif enregistrée à la Sous-Préfecture de Grasse (06) N° 7803/88 Important notice The present document can be downloaded from: http://www.etsi.org/standards-search The present document may be made available in electronic versions and/or in print. The content of any electronic and/or print versions of the present document shall not be modified without the prior written authorization of ETSI. In case of any existing or perceived difference in contents between such versions and/or in print, the only prevailing document is the print of the Portable Document Format (PDF) version kept on a specific network drive within ETSI Secretariat. Users of the present document should be aware that the document may be subject to revision or change of status. Information on the current status of this and other ETSI documents is available at https://portal.etsi.org/TB/ETSIDeliverableStatus.aspx If you find errors in the present document, please send your comment to one of the following services: https://portal.etsi.org/People/CommiteeSupportStaff.aspx Copyright Notification No part may be reproduced or utilized in any form or by any means, electronic or mechanical, including photocopying and microfilm except as authorized by written permission of ETSI.
    [Show full text]
  • A Webrtc Based Platform for Synchronous Online Collaboration and Screen Casting
    A WEBRTC BASED PLATFORM FOR SYNCHRONOUS ONLINE COLLABORATION AND SCREEN CASTING by NIKOLAOS PINIKAS Master in Informatics and Multimedia, Department of Informatics Engineering, School of Applied Technology, Technological Educational Institute of Crete, 2016 A THESIS submitted in partial fulfillment of the requirements for the degree of MASTER OF SCIENCE IN INFORMATICS & MULTIMEDIA DEPARTMENT OF INFORMATICS ENGINEERING SCHOOL OF APPLIED TECHNOLOGY TECHNOLOGICAL EDUCATIONAL INSTITUTE OF CRETE 2016 Approved by: Assistant Professor Dr. Spyros Panagiotakis Copyright NIKOLAOS PINIKAS 2 0 16 This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/. All included code is licensed under the MIT License. 2 “WebRTC is not a standard. It’s a movement.” -Tsahi Levent-Levi 3 Abstract WebRTC is a project that was released by Google in 2011 to allow browser- to-browser communication. It includes voice, video and data without the use of plugins. The mission of WebRTC according to Google is to enable rich, high quality, RTC applications to be developed for the browser, mobile platforms, and Internet of Things (IoT) devices, and allow them all to communicate via a common set of protocols. In this thesis we employ the capabilities of the WebRTC APIs to implement a platform for synchronous online collaboration, screen casting and simultaneous multimedia communication by utilizing the WebRTC data and media streams. Collaborative software is defined as “a software that supports intentional group processes”. Collaborative solutions include a wide range of tools. On the Web these tools can be part of what is known as a “Client-Portal” and can include discussions, white boards, media and file exchanging etc.
    [Show full text]
  • W3C TAG Perspectives
    The future of applications: W3C TAG perspectives Henry S. Thompson School of Informatics University of Edinburgh W3C Technical Architecture Group 28 March 2011 * help? contents? restart? Copyright (C) 2011 Henry S. Thompson slide 1/23 The World Wide Web Consortium Founded by Tim Berners-Lee to sustain the value of the Web for everyone and "lead the Web to its full potential" Hosted by MIT in US, Keio University in Japan and ERCIM in Europe ~60 employees, about half working remotely Over 300 members: organisations and companies Recently awarded substantial support from ISOC Standards work carried out by Working Groups made up of member representatives and invited experts 100s of existing Recommendations, dozens in progress from >50 WGs Mostly 'horizontal' technologies HTML (itself, Forms, CSS) XML (itself, XSLT, Schema, Query, Processing Model, Linking) * help? contents? restart? Copyright (C) 2011 Henry S. Thompson slide 2/23 Multimedia (PNG, SVG, SMIL, VoiceXML) Mobile (Mobile Web Initiative ('one web'), Mobile CSS, Geospatial (!)) Semantic Web (RDF, OWL, Rules) Accessibility Internationalisation * help? contents? restart? Copyright (C) 2011 Henry S. Thompson slide 2/23 The Technical Architecture Group of the W3C Originally the Director (Tim B-L) was responsible for maintaining consistency across activities As the Consortium grew and the scope of its activities enlarged, this task became impossible The TAG was established eight years ago to pick up and broaden this task Identify and promote core principles of Web Architecture Look backwards at what has made the Web succeed And forwards to what must be done to protect that success While embracing as much as possible that emerges And, perhaps most importantly for tonight's panel * help? contents? restart? Copyright (C) 2011 Henry S.
    [Show full text]
  • Enabling Web–Based SBML Tools
    bioRxiv preprint doi: https://doi.org/10.1101/594804; this version posted April 3, 2019. The copyright holder for this preprint (which was not certified by peer review) is the author/funder, who has granted bioRxiv a license to display the preprint in perpetuity. It is made available under aCC-BY 4.0 International license. libsbmljs — Enabling Web–Based SBML Tools J Kyle Medley1, , Joseph Hellerstein2, and Herbert M Sauro1 1Department of Bioengineering, University of Washington, Seattle, Washington, 98195-5061, United States of America 2eScience Institute, University of Washington, Seattle, Washington, 98195-5061, United States of America The SBML standard is used in a number of online reposito- the Web. Furthermore, the Web is becoming a major plat- ries for storing systems biology models, yet there is currently form for systems biology tools. With the advent of Web ap- no Web–capable JavaScript library that can read and write the plications for pathway visualization (Escher (9)), gene inter- SBML format. We present libsbmljs, a JavaScript / WebAssem- action network visualization (Cytoscape.js (10)), expression bly library for Node.js and the Web with full support for all analysis (ZBIT (11)) and integrated design systems (Caffeine SBML extensions. Our library is an enabling technology for on- (12)), the need for a JavaScript library which can read and line SBML editors, model–building tools, and web–based simu- write SBML becomes imperative. lators. We provide NPM packages, an extensive set of examples, JavaScript API documentation, and an online demo that allows We present libsbmljs, a feature–complete JavaScript library users to read and validate the SBML content of any model in for reading and writing SBML in the browser and Node.js.
    [Show full text]
  • A Study of Internet of Things Real-Time Data Updating Based On
    Invited Paper A Study of Internet of Things Real-time Data Updating Based on WebSocket Shoulin Wei*, Konglin Yu, Wei Dai, Bo Liang, Xiaoli Zhang Computer Technology Application Key Lab of Yunnan Province, Kunming University of Science and Technology, Kunming, 650500, China ABSTRACT The Internet of Things (IoT) is gradually entering the industrial stage. Web applications in IoT such as monitoring, instant messaging, real-time quote system changes need to be transmitted in real-time mode to client without client constantly refreshing and sending the request. These applications often need to be as fast as possible and provide nearly real-time components. Real-time data updating is becoming the core part of application layer visualization technology in IoT. With support of data push in server-side, running state of "Things" in IoT could be displayed in real-time mode. This paper discusses several current real-time data updating method and explores the advantages and disadvantages of each method. We explore the use of WebSocket in a new approach for real-time data updating in IoT, since WebSocket provides low delay, low network throughput solutions for full-duplex communication. Keywords: WebSocket, Real-time data updating, Internet of Things, HTML5 1. INTRODUCTION The Internet of Things (IoT) is a novel paradigm that is rapidly gaining ground in the scenario of modern wireless telecommunications [1]. With the development of sensor and the gradual maturity of sensing technology, Internet of Things has been widely applied to industrial process monitoring, production chain management, material supply chain management, product quality control, equipment maintenance, inspection and production safety with energy management and other processes of production [2].
    [Show full text]
  • Dom Objects in Javascript Examples
    Dom Objects In Javascript Examples Is Toby armigeral or Martian after outflowing Tobiah standardizing so meanwhile? Keefe often wambled intreatunprincely scatteredly when drab as exterminable Olivier configures Reilly glacially resolve andapproximately discolors her and Cobden. trivialised Bart unblamably. is destroyed and The first and second methods are more suited to an HTML environment. For third while the DOM uses IDL attributes in the definition of. How and you manipulate a dom? In flutter example we have was important elements that you're gonna see a lot. What extra the Document Object Model. URL is wit and passenger request is successful. Url of all about some programming language and by an object to the library and can also joined dzone community can eradicate those in javascript dom objects in examples that item. The event listener can choose to prevent the action from being run. The root go a tree is through object participating in that will whose parent is. Anne van Kesteren; et al. The long form is only used in a few odd cases when your page is loading several libraries, both of which use the dollar sign. This example we will do so? Js Bind and To DOM Element Basic Example In our example current will use D3js to bind stuff to DOM elements of a basic webpage Start with. Chrome because these objects in javascript dom object models. This example of objects borrow from exertnal stylesheets on any, and examples page, and prevention techniques, then children are. How-To will taint the JavaScript programming language in its examples.
    [Show full text]
  • Righting Web Development
    University of Massachusetts Amherst ScholarWorks@UMass Amherst Doctoral Dissertations Dissertations and Theses October 2018 Righting Web Development John Vilk University of Massachusetts Amherst Follow this and additional works at: https://scholarworks.umass.edu/dissertations_2 Part of the OS and Networks Commons, and the Programming Languages and Compilers Commons Recommended Citation Vilk, John, "Righting Web Development" (2018). Doctoral Dissertations. 1405. https://doi.org/10.7275/12765546 https://scholarworks.umass.edu/dissertations_2/1405 This Open Access Dissertation is brought to you for free and open access by the Dissertations and Theses at ScholarWorks@UMass Amherst. It has been accepted for inclusion in Doctoral Dissertations by an authorized administrator of ScholarWorks@UMass Amherst. For more information, please contact [email protected]. RIGHTING WEB DEVELOPMENT A Dissertation Presented by JOHN VILK Submitted to the Graduate School of the University of Massachusetts Amherst in partial fulfillment of the requirements for the degree of DOCTOR OF PHILOSOPHY September 2018 College of Information and Computer Sciences c Copyright by John Vilk 2018 All Rights Reserved RIGHTING WEB DEVELOPMENT A Dissertation Presented by JOHN VILK Approved as to style and content by: Emery D. Berger, Chair Yuriy Brun, Member Arjun Guha, Member David Irwin, Member James Mickens, Member James Allan, Chair of Faculty College of Information and Computer Sciences DEDICATION For my mother, who has always believed in me and pushed me to do my best. ACKNOWLEDGMENTS First, I would like to thank my advisor, Emery Berger, for his unwavering support and invaluable guidance over the past seven years. Your advice has had a considerable impact on how I conduct research, present ideas, and measure success.
    [Show full text]
  • Libsbmljs — Enabling Web–Based SBML Tools
    bioRxiv preprint doi: https://doi.org/10.1101/594804; this version posted June 5, 2019. The copyright holder for this preprint (which was not certified by peer review) is the author/funder, who has granted bioRxiv a license to display the preprint in perpetuity. It is made available under aCC-BY 4.0 International license. libsbmljs — Enabling Web–Based SBML Tools J Kyle Medley1, , Joseph Hellerstein2, and Herbert M Sauro1 1Department of Bioengineering, University of Washington, Seattle, Washington, 98195-5061, United States of America 2eScience Institute, University of Washington, Seattle, Washington, 98195-5061, United States of America The SBML standard is used in a number of online reposito- ing BioModels (5, 6) and JWS Online (7, 8), which host ries for storing systems biology models, yet there is currently primarily kinetic reaction network models, and BiGG Mod- no Web–capable JavaScript library that can read and write els cite (9), which hosts primarily genome–scale constraint– the SBML format. This is a severe limitation since the Web based models. has become a universal means of software distribution, and the Despite this wide–spread adoption and inclusion in several graphical capabilities of modern web browsers offer a power- online repositories, no feature–complete JavaScript library ful means for building rich, interactive applications. Also, there is a growing developer population specialized in web technolo- currently exists that can run in a web browser (a native gies that is poised to take advantage of the universality of the Node.js module exists, but cannot run in the browser). Thus, web to build the next generation of tools in systems biology these online repositories must rely on server–side processing and other fields.
    [Show full text]
  • Webassembly: Status & Web IDL Bindings
    WebAssembly: Status & Web IDL Bindings W3C Games Workshop - June, 2019 Luke Wagner Based on joint Mozilla/Google presentation to WebAssembly CG last week (link) WebAssembly Status ● 2017: "MVP" ships in 4 browsers \o/ ● Immediately continued work on a pipeline of proposed additions ● Based on TC39 stages process ● Post-MVP Roadmap ● https://github.com/webassembly/proposals * Bindings Proposal History ● 2017 - Ship the WebAssembly "MVP" ○ Only 4 value types: i32, i64, f32, f64 ○ How can WebAssembly call Web APIs? ● 2017 - Take 1: "Host Bindings" (CG pres, TPAC pres) ○ All host values go in wasm tables (wasm linear memory requires exposing raw bits) ○ Automatically convert between table indices and host values at the interface ○ Increasingly awkward as we worked through use cases; also not efficient ● 2018 - Reference Types (CG pres, explainer) ○ Subtype hierarchy: anyref, funcref, ref T (where T = func(X→Y), struct{x:A,y:B}, array(T), ...) ○ Gives wasm first-class host values ● 2019 - Take 2: "Web IDL Bindings" (CG pres, explainer) ○ Let's focus just on efficiently binding to Web IDL, building on reference types ○ "Efficiently" means eliminating copies, garbage, auxiliary calls ("Host Bindings" didn't) ○ "Web IDL" allows us to focus on Web IDL's types, avoid Hard(TM) problems In the MVP, ... ... when calling wasm ... when calling a Web API Web API function Web IDL values Web IDL spec: ECMAScript Binding wasm module JS glue code function export JS values wasm JS API spec results results params params function import function import wasm module function export function export results results wasm JS API spec params JS glue code params function import JS values wasm module Web IDL spec: ECMAScript Binding Web IDL values Web API callback With the proposal..
    [Show full text]
  • Hacking Webkit & Its Javascript Engines
    Hacking WebKit & Its JavaScript Engines Jarred Nicholls Work @ Sencha WebKit Committer Doing webkitty things... Our Mission if we choose to accept it Define: What is WebKit? Some Simple Ways to Leverage WebKit Little investment, Large ROI Web Inspector Hacking “Headless” WebKit What is WebKit? ≠ Browser at a High Level User Interface Data Persistence Data Browser Engine Render Engine Networking JavaScript Graphics I/O Engine Stack Browser at a High Level User Interface WebKit Persistence Data Browser Engine Render Engine Networking JavaScript Graphics I/O Engine Stack ≠ ⊂ WebKit is EVERYWHERE! Even in your living room! Portability The WebKit project seeks to address a variety of needs. We want to make it reasonable to port WebKit to a variety of desktop, mobile, embedded and other platforms. We will provide the infrastructure to do this with tight platform integration, reusing native platform services where appropriate and providing friendly embedding APIs. http://www.webkit.org/projects/goals.html How? Client Interface WebKit Components Render Engine CSS DOM SVG HTML Canvas WebCore Client Interface JavaScript Engine (JSC/V8) WebKit Components Render Engine CSS DOM SVG HTML Canvas WebCore Client Interface JavaScript Engine (JSC/V8) Port Abstraction Networking Thread Geolocation Timer I/O Client Interface Clipboard Events Theme Graphics API Calls Events Port (Chrome, Safari, etc.) Port Abstraction Networking Thread Geolocation Timer I/O Client Interface Clipboard Events Theme Graphics API Calls Events Port (Chrome, Safari, etc.) <input
    [Show full text]