CHEP 2013, Amsterdam Reading ROOT files in a browser ROOT I/O IN JAVASCRIPT B. Bellenot, CERN, PH-SFT B. Linev, GSI, CS-EE.

Slides:



Advertisements
Similar presentations
17 Copyright © 2005, Oracle. All rights reserved. Deploying Applications by Using Java Web Start.
Advertisements

PHP I.
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?
CHAPTER 15 WEBPAGE OPTIMIZATION. LEARNING OBJECTIVES How to test your web-page performance How browser and server interactions impact performance What.
4.01 How Web Pages Work.
Copyright © 2012 Certification Partners, LLC -- All Rights Reserved Lesson 4: Web Browsing.
DT228/3 Web Development WWW and Client server model.
Lesson 4: Web Browsing.
1 Chapter 12 Working With Access 2000 on the Internet.
Creating WordPress Websites. Creating a site on your computer Local server Local WordPress installation Setting Up Dreamweaver.
World Wide Web1 Applications World Wide Web. 2 Introduction What is hypertext model? Use of hypertext in World Wide Web (WWW) – HTML. WWW client-server.
Multiple Tiers in Action
Introduction to HTML 2006 CIS101. What is the Internet? Global network of computers that are connected and communicate via a series of Protocols Protocols.
Introduction to HTML 2004 CIS101. What is the Internet? Global network of computers that are connected and communicate via a series of Protocols Protocols.
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.
Server Side Scripting Norman White. Where do we do processing? Client side – Javascript (embed code in html) – Java applets (send java program to run.
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.
IT Website Development Welcome!. Welcome to Unit 7! Optimizing Images and creating photo albums in Dreamweaver There are no textbook readings for.
INTRODUCTION TO WEB DATABASE PROGRAMMING
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)
Introduction to ASP.NET. Prehistory of ASP.NET Original Internet – text based WWW – static graphical content  HTML (client-side) Need for interactive.
Dynamic Web Pages (Flash, JavaScript)
About Dynamic Sites (Front End / Back End Implementations) by Janssen & Associates Affordable Website Solutions for Individuals and Small Businesses.
Screen Snapshot Service Kurt Biery SiTracker Monitoring Meeting, 23-Jan-2007.
CGI programming Using Apache. Concepts Browser prepares parameter list List is attached to name of program to run on server "submit" button sends string.
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.
HTML and Style. Session overview Leveling-off on the basic concepts of HTML and Styles Discuss Web authoring options.
JavaScript ROOT Bertrand Bellenot (CERN) Sergey Linev (GSI)
Microsoft FrontPage 2003 Illustrated Complete Finalizing a Web Site.
Chapter 34 Java Technology for Active Web Documents methods used to provide continuous Web updates to browser – Server push – Active documents.
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.
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.
THttpServer for ROOT Bertrand Bellenot, CERN Sergey Linev, GSI Darmstadt
COP 3813 Intro to Internet Computing Prof. Roy Levow Lecture 1.
ROOT What & Why? ROOT Status ROOT Application ROOT Install ROOT Example ROOT References Introduction to March 13, 2003 Dae Jung CHEP.
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
PERFORMANCE ENHANCEMENT IN ASP.NET By Hassan Tariq Session #1.
H.G.Essel: Go4 - J. Adamczewski, M. Al-Turany, D. Bertini, H.G.Essel, S.Linev CHEP 2003 GSI Online Offline Object Oriented Go4.
Client-side & Server-side Scripting ©Richard L. Goldman August 5, 2003 Requires PowerPoint 2002 or later for full functionality.
Chapter 4 Applets Cop Why Applets? WWW makes huge information available to anyone with web browser. Web server send web pages and images to your.
1 WWW. 2 World Wide Web Major application protocol used on the Internet Simple interface Two concepts –Point –Click.
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 
H.G.Essel: Go4 - J. Adamczewski, M. Al-Turany, D. Bertini, H.G.Essel, S.Linev ROOT 2002 GSI Online Offline Object Oriented Go4.
Internet Applications (Cont’d) Basic Internet Applications – World Wide Web (WWW) Browser Architecture Static Documents Dynamic Documents Active Documents.
ROOT I/O in JavaScript Browsing ROOT Files on the Web For more information see: For any questions please use following address:
Unit 1 – Web Concepts Instructor: Brent Presley.
JavaScript 101 Introduction to Programming. Topics What is programming? The common elements found in most programming languages Introduction to JavaScript.
LCG AA Meeting 31 October 2007 The new dynamically and extensively customizable ROOT browser Bertrand Bellenot.
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.
Reading ROOT files in (almost) any browser.  Use XMLHttpRequest JavaScript class to perform the HTTP HEAD and GET requests  This class is highly browser.
Your final site CSS WP Hand- code, using TextEdit, TextWrangler, Dreamweaver or any other wysiwyg editor. Site doesn’t require to be hosted Deliver all.
Online Data Monitoring Framework Based on Histogram Packaging in Network Distributed Data Acquisition Systems Tomoyuki Konno 1, Anatael Cabrera 2, Masaki.
Fermilab Scientific Computing Division Fermi National Accelerator Laboratory, Batavia, Illinois, USA. Off-the-Shelf Hardware and Software DAQ Performance.
Applications Active Web Documents Active Web Documents.
Experience of PROOF cluster Installation and operation
JavaScript ROOT
Active Server Pages Computer Science 40S.
ASP MVP Web applications and Razor
Lesson 4: Web Browsing.
3D graphics in JavaScript ROOT
PHP / MySQL Introduction
Lesson 4: Web Browsing.
Presentation transcript:

CHEP 2013, Amsterdam Reading ROOT files in a browser ROOT I/O IN JAVASCRIPT B. Bellenot, CERN, PH-SFT B. Linev, GSI, CS-EE

CHEP 2013, Amsterdam JAVASCRIPT B. BELLENOT, CERN, PH-SFT S. LINEV, GSI, CS-EE 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

CHEP 2013, Amsterdam READING THE FILE B. BELLENOT, CERN, PH-SFT S. LINEV, GSI, CS-EE 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 User’s selection request Compressed object Client ROOT Files WEB SERVER

CHEP 2013, Amsterdam DISPLAYING OBJECTS B. BELLENOT, CERN, PH-SFT S. LINEV, GSI, CS-EE JavaScript rendering in a web browser: Same font, same color, same layout! Only minor differences… Original rendering (with ROOT)

CHEP 2013, Amsterdam DISPLAYING OBJECTS (CONT.) B. BELLENOT, CERN, PH-SFT S. LINEV, GSI, CS-EE Example of roofit plot styles

CHEP 2013, Amsterdam DISPLAYING OBJECTS (CONT.) B. BELLENOT, CERN, PH-SFT S. LINEV, GSI, CS-EE 2D histogram (TH2), drawn with the BOX option (default)

CHEP 2013, Amsterdam DISPLAYING OBJECTS (CONT.) B. BELLENOT, CERN, PH-SFT S. LINEV, GSI, CS-EE Same histogram, displayed with 3D option (“LEGO”), using WebGL (when available)

CHEP 2013, Amsterdam DISPLAYING OBJECTS (CONT.) B. BELLENOT, CERN, PH-SFT S. LINEV, GSI, CS-EE 3D Histogram (TH3), using WebGL (when available)

CHEP 2013, Amsterdam HOW TO USE IT? B. BELLENOT, CERN, PH-SFT S. LINEV, GSI, CS-EE 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: Read a ROOT file in Javascript (Demonstration)

CHEP 2013, Amsterdam MONITORING OF A RUNNING ROOT APPLICATION B. BELLENOT, CERN, PH-SFT S. LINEV, GSI, CS-EE 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

CHEP 2013, Amsterdam MONITORING OF A RUNNING ROOT APPLICATION B. BELLENOT, CERN, PH-SFT S. LINEV, GSI, CS-EE 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

CHEP 2013, Amsterdam CONCLUSION B. BELLENOT, CERN, PH-SFT S. LINEV, GSI, CS-EE The source code is available in git: Not a replacement of ROOT: No tree analysis No fitting Feel free to try and to send feedback & requests