Web browser application

Hi,

Here is what I want to have.

Develop an application using ROOT, keep it on a server with whatever components are needed, for it to run.

Access a GUI through web-browser remotely, possibly using a simple plug-in.

See and control the application’s run on the remote machine.

Is it possible? Please advise.

I am not sure if this was a too basic question to bother replying, but it would surely be helpful to me if somebody points me to the right direction.

thanks, Anand.

Hi,

We are actually working on the subject… :slight_smile:
For the time being, I see several options:

  1. Use remote Root session (using .R command, recently introduced - v5.16.00 and up) i.e. from a local Root session, you can type .R username@remotehost to start a remote (batch) session, and then use the remote session as a standard Root session.

  2. Create client/server application - see $(ROOTSYS)/tutorials/net/spyserv.C and spy.C

  3. If you only need monitoring, create a root application which creates and fills histograms or trees in a root file, and then you can remotely look at root files with Root html browser (see $(ROOTSYS)/test/rhtml). Clicking on a Root file from the Root Html browser opens the file in a TBrowser.

It is probably not what you are looking for, but they are the only options available for now (as far as I can see).

Cheers,
Bertrand.

  1. you can use ROOT as CGI program + Ajax. See Subir’s talk
    indico.cern.ch/getFile.py/access … nfId=13356
  2. use carrot (apache module). Unfortunately the development is frozen :frowning:

Regards. Valeriy

[quote=“anandpr”]Hi,

Here is what I want to have.

Develop an application using ROOT, keep it on a server with whatever components are needed, for it to run.

Access a GUI through web-browser remotely, possibly using a simple plug-in.

See and control the application’s run on the remote machine.

Is it possible? Please advise.[/quote]With the current ROOT design the most reliable approach is to install the entire ROOT on the client machine as the Web browser plug-in (anyway one has to install some sort of the dedicated plug-in) and associate the ROOT macro extension (for example *.C) with root.exe application. I.e. you should configure your Web browser to start the ROOT locally as soon as the URL points to the ROOT macro .C. It is assumed the macro needs some remote data. That can be accessed via the TNetFile class ( root.cern.ch/root/html/TNetFile.html ) from within your macro. I do not see how what you want can be achieved with the so-called “simple” plug-in. The later implies that the well-separated “interactive graphical” client and “batch” server layers within ROOT can be found and client part can be deployed alone. It is not a case yet. Of course, for the concrete task one can suggest the concrete more optimal solution rather the generic one-size-fits-all. ON the other hands the “entire ROOT” mentioned above is not as huge as one can imagine. Many ROOT plugins can be left behind with no problem. For example, you may not want to install libReflex.so, libMatrix.so, libCintex.so libVMC.so,libPyROOT.so, libXrd.so and other ROOT components.