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.

Slides:



Advertisements
Similar presentations
DT228/3 Web Development WWW and Client server model.
Advertisements

Netscape Application Server Application Server for Business-Critical Applications Presented By : Khalid Ahmed DS Fall 98.
Browsers and Servers CGI Processing Model ( Common Gateway Interface ) © Norman White, 2013.
XP Browser and Basics1. XP Browser and Basics2 Learn about Web browser software and Web pages The Web is a collection of files that reside.
Introduction to Web Database Processing
Introduction to Web Interface Technology (CSE2030)
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Chapter 25 Networking.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 8: Implementing and Managing Printers.
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
CP476 Internet Computing Browser and Web Server 1 Web Browsers A client software program that allows you to access and view Web pages on the Internet –Examples.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 8: Implementing and Managing Printers.
Browser and Basics Tutorial 1. Learn about Web browser software and Web pages The Web is a collection of files that reside on computers, called.
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
ECA 228 Internet/Intranet Design I Intro to the Web.
Linux Operations and Administration
Electronic Commerce Last Week
1 Web Developer & Design Foundations with XHTML Chapter 6 Key Concepts.
TC2-Computer Literacy Mr. Sencer February 8, 2010.
INTRODUCTION TO WEB DATABASE PROGRAMMING
 2000 Deitel & Associates, Inc. All rights reserved. Chapter 24 – Web Servers (PWS, IIS, Apache, Jigsaw) Outline 24.1Introduction 24.2Microsoft Personal.
NETWORK CENTRIC COMPUTING (With included EMBEDDED SYSTEMS)
Use of ROOT in the D0 Online Event Monitoring System Joel Snow, D0 Collaboration, February 2000.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Dr. Azeddine Chikh IS444: Modern tools for applications development.
Chapter 33 CGI Technology for Dynamic Web Documents There are two alternative forms of retrieving web documents. Instead of retrieving static HTML documents,
Chapter 16 The World Wide Web Chapter Goals Compare and contrast the Internet and the World Wide Web Describe general Web processing Describe several.
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
DATA COMMUNICATION DONE BY: ALVIN SAMPATH CARLVIN SAMPATH.
Chapter 6 The World Wide Web. Web Pages Each page is an interactive multimedia publication It can include: text, graphics, music and videos Pages are.
ASP.NET 2.0 Chapter 5 Advanced Web Controls. ASP.NET 2.0, Third Edition2 Objectives.
5 Chapter Five Web Servers. 5 Chapter Objectives Learn about the Microsoft Personal Web Server Software Learn how to improve Web site performance Learn.
Web Programming: Client/Server Applications Server sends the web pages to the client. –built into Visual Studio for development purposes Client displays.
ITIS 1210 Introduction to Web-Based Information Systems Chapter 23 How Web Host Servers Work.
HOW WEB SERVER WORKS? By- PUSHPENDU MONDAL RAJAT CHAUHAN RAHUL YADAV RANJIT MEENA RAHUL TYAGI.
Web Programming : Building Internet Applications Chris Bates CSE :
Database-Driven Web Sites, Second Edition1 Chapter 5 WEB SERVERS.
Section 2 Section 2.1 Identify hardware Describe processing components Compare and contrast input and output devices Compare and contrast storage devices.
Chapter 34 Java Technology for Active Web Documents methods used to provide continuous Web updates to browser – Server push – Active documents.
10/13/2015 ©2006 Scott Miller, University of Victoria 1 Content Serving Static vs. Dynamic Content Web Servers Server Flow Control Rev. 2.0.
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
Active Server Pages  In this chapter, you will learn:  How browsers and servers interacted on the Internet when the Internet first became popular 
Architecture of the web Client Server retrieved or generated web page.
1 Welcome to CSC 301 Web Programming Charles Frank.
Mainframe (Host) - Communications - User Interface - Business Logic - DBMS - Operating System - Storage (DB Files) Terminal (Display/Keyboard) Terminal.
1 © Netskills Quality Internet Training, University of Newcastle HTML Forms © Netskills, Quality Internet Training, University of Newcastle Netskills is.
Application Block Diagram III. SOFTWARE PLATFORM Figure above shows a network protocol stack for a computer that connects to an Ethernet network and.
1 Chapter 28 Networking. 2 Objectives F To comprehend socket-based communication in Java (§28.2). F To understand client/server computing (§28.2). F To.
Xgooey etc. root_gui/root_framework/exweb/exam_reg xgooey, root_gui executable, ROOT File browser File mode –Local disk - ROOT File –Remote rootd server.
WWW: an Internet application Bill Chu. © Bei-Tseng Chu Aug 2000 WWW Web and HTTP WWW web is an interconnected information servers each server maintains.
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
Web Server.
Online Monitoring for the CDF Run II Experiment T.Arisawa, D.Hirschbuehl, K.Ikado, K.Maeshima, H.Stadie, G.Veramendi, W.Wagner, H.Wenzel, M.Worcester MAR.
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
Internet Applications (Cont’d) Basic Internet Applications – World Wide Web (WWW) Browser Architecture Static Documents Dynamic Documents Active Documents.
BABCA Software Operating Systems (OS) aka Systems Software A set of instructions that coordinate all the activities among computer hardware resources.
Web-based Access to ROOT at D-Zero Joel Snow Langston University/D0 Collaboration CHEP 2001 Displaying histograms dynamically generated by ROOT in a Web.
1) PHP – Personal Home Page Scripting Language 2) JavaScript.
Web Programming Overview. Introduction HTML is limited - it cannot manipulate data How Web pages are extended (include): –Java: an object-oriented programming.
S.Linev: Go4 - J.Adamczewski, H.G.Essel, S.Linev ROOT 2005 New development in Go4.
COSC 2328 – Web Programming.  PHP is a server scripting language  It’s widely-used and free  It’s an alternative to Microsoft’s ASP and Ruby  PHP.
Lect5.ppt - 02/23/06 CIS 4100 Systems Performance and Evaluation Lecture 6 by Zornitza Genova Prodanoff.
Online Data Monitoring Framework Based on Histogram Packaging in Network Distributed Data Acquisition Systems Tomoyuki Konno 1, Anatael Cabrera 2, Masaki.
VIRTUAL NETWORK COMPUTING SUBMITTED BY:- Ankur Yadav Ashish Solanki Charu Swaroop Harsha Jain.
Fermilab Scientific Computing Division Fermi National Accelerator Laboratory, Batavia, Illinois, USA. Off-the-Shelf Hardware and Software DAQ Performance.
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
JavaScript and Ajax (Ajax Tutorial)
PHP / MySQL Introduction
MapServer In its most basic form, MapServer is a CGI program that sits inactive on your Web server. When a request is sent to MapServer, it uses.
Chapter 27 WWW and HTTP.
Architecture of the web
Presentation transcript:

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 histograms generated by ROOT in a Web Browser –ROOT histogram server program –Proxy CGI program invoked by a Web server from an HTML forms page –Virtual frame buffer X display

D-Zero Online Use of ROOT Monitoring programs (called Examines) unpack raw data, reconstruct each event to the required level, and define and fill necessary histograms.Monitoring programs (called Examines) unpack raw data, reconstruct each event to the required level, and define and fill necessary histograms. ROOT is used as the main analysis tool for the Examines. The results are stored in memory in ROOT object format. The main mode of accessing the results is to browse the objects in the monitoring program's memory with a ROOT GUI via socket connections. ROOT is used as the main analysis tool for the Examines. The results are stored in memory in ROOT object format. The main mode of accessing the results is to browse the objects in the monitoring program's memory with a ROOT GUI via socket connections. An Examine consists of a main analysis thread and a communications thread that passes messages between the Examine and the GUI. The communications thread of the Examine functions as a histogram server with the possibly numerous GUI's as clients. The client selects which histograms to display and the server makes them available to the client over the network.An Examine consists of a main analysis thread and a communications thread that passes messages between the Examine and the GUI. The communications thread of the Examine functions as a histogram server with the possibly numerous GUI's as clients. The client selects which histograms to display and the server makes them available to the client over the network. Joel Snow Langston University/D0 Collaboration ROOT 2001

What it is and is not Makes data available to a larger audience while requiring no exotic software on the user's part.Makes data available to a larger audience while requiring no exotic software on the user's part. Builds on the capabilities of the existing histogram server of the D-Zero Examines.Builds on the capabilities of the existing histogram server of the D-Zero Examines. Does NOT allow all the wonderful interactive features of a ROOT histogram on a ROOT canvas. It merely allows the histogram image as rendered on a TCanvas to be displayed in a Web browser.Does NOT allow all the wonderful interactive features of a ROOT histogram on a ROOT canvas. It merely allows the histogram image as rendered on a TCanvas to be displayed in a Web browser. Joel Snow Langston University/D0 Collaboration ROOT 2001

Scheme Web browser can easily display GIF files.Web browser can easily display GIF files. ROOT conveniently can produce GIF files.ROOT conveniently can produce GIF files. Browser can communicate with a Web server CGI program.Browser can communicate with a Web server CGI program. CGI program can be a client of a histogram server.CGI program can be a client of a histogram server. CGI program can render histograms, produces GIF files, send them to browser.CGI program can render histograms, produces GIF files, send them to browser.  CGI program on the web server acts as a proxy for the Web browser when communicating with the histogram server. Joel Snow Langston University/D0 Collaboration ROOT 2001

Problem For ROOT to make a GIF file it needs for the histogram to be rendered on a graphical display.For ROOT to make a GIF file it needs for the histogram to be rendered on a graphical display. It is not practical or desirable for a CGI program on a Web server to utilize a graphical console for display to render the histograms.It is not practical or desirable for a CGI program on a Web server to utilize a graphical console for display to render the histograms. For Linux and perhaps other OS there is an X display driver that uses only memory and no hardware.For Linux and perhaps other OS there is an X display driver that uses only memory and no hardware. The Virtual Frame Buffer driver (VFB) is the key to making this scheme work. The Virtual Frame Buffer driver (VFB) is the key to making this scheme work. Joel Snow Langston University/D0 Collaboration ROOT 2001

Mechanics The user just needs a graphical Web browser.The user just needs a graphical Web browser. On the web server machine:On the web server machine: –The VFB driver must be running (e.g. Xvfb :1&) –In the web server's CGI directory must be the CGI proxy program. A stand alone ROOT based program that can decode CGI forms and communicate with the histogram server.A stand alone ROOT based program that can decode CGI forms and communicate with the histogram server. –A directory that the CGI proxy program can write to. The HTML image marker looks for a file on disk and ROOT writes the GIF to a file.The HTML image marker looks for a file on disk and ROOT writes the GIF to a file. A machine running a histogram server. Joel Snow Langston University/D0 Collaboration ROOT 2001

Implementation Examine programs running on Linux PC’s provide histogram server.Examine programs running on Linux PC’s provide histogram server. Web server is another Linux PC running Apache.Web server is another Linux PC running Apache. In the server's cgi-bin directory is a script which sets up the environment (X display, Path, ROOT) for the C++ CGI proxy program and then exec's it. The script can detect whether the VFB is running and if it is not then inform the user.In the server's cgi-bin directory is a script which sets up the environment (X display, Path, ROOT) for the C++ CGI proxy program and then exec's it. The script can detect whether the VFB is running and if it is not then inform the user. –The CGI proxy program uses the ROOT WriteGif code as a method in a canvas class inheriting from TCanvas. In this way the rendered canvases can “gifify” themselves without user intervention, a must for a CGI program. Netscape or Internet Explorer running on a third machine.Netscape or Internet Explorer running on a third machine. Joel Snow Langston University/D0 Collaboration ROOT 2001

Operation I The user points Web browser to an Examine URL. The page contains an HTML form allowing the user to choose which Examine to connect to.The user points Web browser to an Examine URL. The page contains an HTML form allowing the user to choose which Examine to connect to. When the selection is made the CGI program decodes the form and connects to the waiting Examine. If no Examine is listening an error page is sent to the user's browser.When the selection is made the CGI program decodes the form and connects to the waiting Examine. If no Examine is listening an error page is sent to the user's browser. The proxy requests a listing of the available histograms which the server sends to the proxy.The proxy requests a listing of the available histograms which the server sends to the proxy. The proxy receives this info and makes an HTML page with a form containing a series of selection boxes, one for each TDirectory in the TFiles in the Examine. The boxes list the keys in the directory. The keys correspond to histograms, sub-directories, TTrees, and TNuples. The proxy receives this info and makes an HTML page with a form containing a series of selection boxes, one for each TDirectory in the TFiles in the Examine. The boxes list the keys in the directory. The keys correspond to histograms, sub-directories, TTrees, and TNuples. Joel Snow Langston University/D0 Collaboration ROOT 2001

Operation II The user selects which histograms in a directory to display and submits the form to the CGI proxy.The user selects which histograms in a directory to display and submits the form to the CGI proxy. This is decoded and a request is sent for those histograms to the histogram server.This is decoded and a request is sent for those histograms to the histogram server. When they arrive at the proxy, the histograms are rendered on canvases in the VFB and those canvases write themselves out as GIF files to the temporary directory.When they arrive at the proxy, the histograms are rendered on canvases in the VFB and those canvases write themselves out as GIF files to the temporary directory. The proxy sends to the browser an HTML page with the just written GIF files as the sources for image markers, thus delivering the ROOT histograms to the user's browser.The proxy sends to the browser an HTML page with the just written GIF files as the sources for image markers, thus delivering the ROOT histograms to the user's browser. Joel Snow Langston University/D0 Collaboration ROOT 2001

CFT SMT MUON Netscape Joel Snow Langston University/D0 Collaboration ROOT 2001 Examine Histogram Servers Web Browsers Virtual Frame Buffer Disk Web Server Netscape Internet Explorer Data Flow

Presently Only histograms from one directory at a time can be shown on a page. The directory is chosen via radio select buttons in the form.Only histograms from one directory at a time can be shown on a page. The directory is chosen via radio select buttons in the form. TNuples and TTrees cannot be displayed.TNuples and TTrees cannot be displayed. Histogram updating can be accomplished simply by a browser page reload.Histogram updating can be accomplished simply by a browser page reload. The user interface in the Web browser is plain HTML. It could be enhanced with Java or Javascript, but then that's more requirements on the user end.The user interface in the Web browser is plain HTML. It could be enhanced with Java or Javascript, but then that's more requirements on the user end. The ergonomics of the Web interface could benefit from some time devoted to adding some bells and whistles features.The ergonomics of the Web interface could benefit from some time devoted to adding some bells and whistles features. Joel Snow Langston University/D0 Collaboration ROOT 2001

Wish List Better keyboard handling for widgets.Better keyboard handling for widgets.