ROOT I/O in JavaScript Browsing ROOT Files on the Web For more information see: For any questions please use following address:

Slides:



Advertisements
Similar presentations
PHP I.
Advertisements

Samsung Smart TV is a web-based application running on an application engine installed on digital TVs connected to the Internet.
WEB DESIGN TABLES, PAGE LAYOUT AND FORMS. Page Layout Page Layout is an important part of web design Why do you think your page layout is important?
ASP.NET Intro An introduction to the languages and communication of an ASP.NET system.
CHAPTER 15 WEBPAGE OPTIMIZATION. LEARNING OBJECTIVES How to test your web-page performance How browser and server interactions impact performance What.
Java Script Session1 INTRODUCTION.
Copyright © 2012 Certification Partners, LLC -- All Rights Reserved Lesson 4: Web Browsing.
Web Visualization Technology Horner APG Ver 1.0.
Lesson 4: Web Browsing.
Chapter 16 Dynamic HTML and Animation The Web Warrior Guide to Web Design Technologies.
Chapter 9 Introduction to the Document Object Model (DOM) JavaScript, Third Edition.
Topics in this presentation: The Web and how it works Difference between Web pages and web sites Web browsers and Web servers HTML purpose and structure.
1 Chapter 20 — Creating Web Projects Microsoft Visual Basic.NET, Introduction to Programming.
Presented by Mina Haratiannezhadi 1.  publishing, editing and modifying content  maintenance  central interface  manage workflows 2.
4.01B Authoring Languages and Web Authoring Software 4.01 Examine webpage development and design.
Ashish jaiman architect evangelist Microsoft
Bertrand Bellenot root.cern.ch ROOT I/O in JavaScript Reading ROOT files from any web browser ROOT Users Workshop
Reading ROOT files in any browser ROOT I/O IN JAVASCRIPT Bertrand Bellenot CERN, PH-SFT.
1. 2 What’s New in NetBeans IDE What is NetBeans IDE?  Ready to use out of the box  Support for latest Java specifications & standards  Other.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Dynamic Web Pages (Flash, JavaScript)
Overview of Previous Lesson(s) Over View  ASP.NET Pages  Modular in nature and divided into the core sections  Page directives  Code Section  Page.
Screen Snapshot Service Kurt Biery SiTracker Monitoring Meeting, 23-Jan-2007.
Tutorial 1 Getting Started with Adobe Dreamweaver CS3
Tutorial 1: Getting Started with Adobe Dreamweaver CS4.
Creating Effective School and PTA Websites Sam Farnsworth Utah PTA Technology Specialist
5 Chapter Five Web Servers. 5 Chapter Objectives Learn about the Microsoft Personal Web Server Software Learn how to improve Web site performance Learn.
Chapter 2 Developing a Web Page. A web page is composed of two distinct sections: –The head content –The body Creating Head Content and Setting Page Properties.
CNIT 133 Interactive Web Pags – JavaScript and AJAX JavaScript Environment.
JavaScript ROOT Bertrand Bellenot (CERN) Sergey Linev (GSI)
Chapter 34 Java Technology for Active Web Documents methods used to provide continuous Web updates to browser – Server push – Active documents.
Java Root IO Part of the FreeHEP Java Library Tony Johnson Mark Dönszelmann
Introduction to HTML Tutorial 1 eXtensible Markup Language (XML)
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
What does WWW stand for? And following abbreviations? HTTP: Hyper Text Transfer Protocol HTML: Hyper Text Mark-up Language URL: Uniform Resource Locator.
Introduction to HTML. What is HTML?  Hyper Text Markup Language  Not a programming language but a markup language  Used for presentation and layout.
CERN - IT Department CH-1211 Genève 23 Switzerland t DB Development Tools Benthic SQL Developer Application Express WLCG Service Reliability.
Are you getting the benefits from ASP.NET and AJAX? Introduction to the CTC ASP.NET Webforms Generator.
200 pt 300 pt 400 pt 500 pt 100 pt 200 pt 300 pt 400 pt 500 pt 100 pt 200pt 300 pt 400 pt 500 pt 100 pt 200 pt 300 pt 400 pt 500 pt 100 pt 200 pt 300 pt.
Dynamic web content HTTP and HTML: Berners-Lee’s Basics.
Things like Textboxes, Lables, ‘n’at. ASPX page is not HTML Controls are rendered into markup that a browser can understand Some controls are rendered.
THttpServer for ROOT Bertrand Bellenot, CERN Sergey Linev, GSI Darmstadt
JavaScript Tutorial 1 - Introduction to JavaScript1 Tutorial 1 Introduction to JavaScript Section A – Programming, HTML, and JavaScript.
COP 3813 Intro to Internet Computing Prof. Roy Levow Lecture 1.
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
CHEP 2013, Amsterdam Reading ROOT files in a browser ROOT I/O IN JAVASCRIPT B. Bellenot, CERN, PH-SFT B. Linev, GSI, CS-EE.
PERFORMANCE ENHANCEMENT IN ASP.NET By Hassan Tariq Session #1.
Client-side & Server-side Scripting ©Richard L. Goldman August 5, 2003 Requires PowerPoint 2002 or later for full functionality.
Road Ahead for Vector Mapping
Web Design Vocab 7 Absolute, Cache, Codec, CSS, Gamma.
Web Design and Development. World Wide Web  World Wide Web (WWW or W3), collection of globally distributed text and multimedia documents and files 
Internet Applications (Cont’d) Basic Internet Applications – World Wide Web (WWW) Browser Architecture Static Documents Dynamic Documents Active Documents.
JavaScript 101 Introduction to Programming. Topics What is programming? The common elements found in most programming languages Introduction to JavaScript.
Web-based Access to ROOT at D-Zero Joel Snow Langston University/D0 Collaboration ROOT 2001 Displaying histograms generated by ROOT in a Web BrowserDisplaying.
LCG AA Meeting 31 October 2007 The new dynamically and extensively customizable ROOT browser Bertrand Bellenot.
IE Developer Tools Jonathan Seitel Program Manager.
Introduction to the World Wide Web & Internet CIS 101.
S.Linev: Go4 - J.Adamczewski, H.G.Essel, S.Linev ROOT 2005 New development in Go4.
Browser Compatibility Testing, using different browsers Conditional Statements.
Reading ROOT files in (almost) any browser.  Use XMLHttpRequest JavaScript class to perform the HTTP HEAD and GET requests  This class is highly browser.
Web Cache. What is Cache? Cache is the storing of data temporarily to improve performance. Cache exist in a variety of areas such as your CPU, Hard Disk.
Tutorial 1 Getting Started with Adobe Dreamweaver CS5.
111 State Management Beginning ASP.NET in C# and VB Chapter 4 Pages
Fermilab Scientific Computing Division Fermi National Accelerator Laboratory, Batavia, Illinois, USA. Off-the-Shelf Hardware and Software DAQ Performance.
Experience of PROOF cluster Installation and operation
JavaScript ROOT
Lesson 4: Web Browsing.
3D graphics in JavaScript ROOT
PHP / MySQL Introduction
Lesson 4: Web Browsing.
Presentation transcript:

ROOT I/O in JavaScript Browsing ROOT Files on the Web For more information see: For any questions please use following address: From this (locally) To this (on the web) Browsing ROOT files B. Bellenot 1), S. Linev 2) 1) CERN, PH-SFT – European Organization for Nuclear Research, Geneva, Switzerland 2) GSI, CS-EE - GSI Helmholtzzentrum für Schwerionenforschung GmbH, Darmstadt, Germany Features Uses JavaScript Load on demand Supported objects: TH1 TH2 TH3 TGraph TCanvas … Using HTTP byte range (available in HTTP/1.1) to download only a single compressed object when the user wants to read it Minimizes data transfer and memory usage Compressed (zipped) objects are in binary format Binary data is stored in a JavaScript string When opening a file: Read the list of streamer info Read the list of keys and display them in a list tree When the user selects an item in the list tree (and only then) Read the compressed buffer from the file Inflate the buffer Decode (decipher) the object from the inflated buffer using its streamer info The complete source code is available in git: git clone 3D graphics uses WebGL technology when available (browser and platform dependent) JavaScript rendering in a web browser: Same font, same color, same layout! Only minor differences… Same histogram, displayed with 3D option (“LEGO”), using WebGL (when available) 2D histogram (TH2), drawn with the BOX option (default)3D Histogram (TH3), using WebGL (when available) Example of Streamer Info Visualization selection Compressed object Client ROOT Files WEB SERVER Data flow Original rendering (with ROOT) Easy to use! Simply copy the ROOT file(s) anywhere on the web Create a simple html page next to the files Only two lines have to be added in the And a few lines in the. Here is a complete example: Including css and js directly from the root web site keeps you up to date with the latest version Read a ROOT file in Javascript (Demonstration) One very nice feature of JavaScript is the possibility to dynamically (at runtime) create classes Allowed to implement dynamic streamers (automatically generated from the streamer info) Allows to potentially read any object from a ROOT file, as soon as we can read the streamer info of its class single command to start http server DabcRoot::StartHttpServer(8095); scans gROOT for existing objects builds objects hierarchy in the browser stream and zip objects only when requested JSRootIO graphics for objects display live update of objects content NO ANY changes in analysis code similar approach for: DAQ, slow control, online/offline analysis more information on Monitoring of a running ROOT application ROOT session * You are welcome to visit our Web site * * * * * ******************************************* ROOT 5.34/09 Jun , 17:10:36 on linuxx8664gcc) CINT/ROOT C/C++ Interpreter version , July Type ? for help. Commands must be C++ statements. Enclose multiple statements between { }. root [0] DabcRoot::StartHttpServer(8095); root [1].x $ROOTSYS/tutorials/hsimple.C hsimple : Real Time = 0.14 seconds Cpu Time = 0.14 seconds (class TFile*)0x7fbe1c26ed70 root [2] http Availability & Use ROOT zdemo.C tutorial Different roofit plot styles