/** \page root_plugin ROOT plugin for DABC (libDabcRoot.so) \subpage root_plugin_doc \n \subpage root_plugin_usage \ingroup dabc_plugins */ /** \page root_plugin_doc Short description of ROOT plugin Plugin provides: - [THttpServer implementation](\ref httpserver) (if not compiled in ROOT itself) - [JavaScript ROOT](\ref jsrootmain) - [Implementation of DABC-based THttpEngine](\ref root_plugin_usage) */ /** \page root_plugin_usage Usage of DABC in ROOT Introduction ============ Main motivation for writing of libDabcRoot plugin - provide web interface to the arbitrary ROOT-based analysis. Therefore here functionality of DABC web server and its usage is described DABC Compilation ================ First of all, ROOT itself should be compiled and configured. DABC uses ROOTSYS shell variable, therefore it should be defined before DABC compilation starts. One could use ". your_root_path/bin/thisroot.sh" script. Normal DABC compilation procedure should be performed, [details can be found here](\ref dabc_getting_started). At the end of the DABC compilation libDabcRoot.so library will be created in $DABCSYS/lib subdirectory. Running of web server ===================== After DABC compiled and ". dabclogin" initialization script is called, one just starts root session and creates \ref THttpServer instance at any moment of macro execution. For instance: [shell] root -b -l root [0] new THttpServer("http:8095"); root [1] .x $ROOTSYS/tutorials/hsimple.C hsimple : Real Time = 0.14 seconds Cpu Time = 0.15 seconds (class TFile*)0x2b74510 root [2] After http server is started, one should be able to access it with the address `http://your_host_name:8095/` One could continue root usage, creating or deleting histograms or any other objects - it will not disturb running server. More information about ROOT http server one could find in [ROOT documentation](\ref httpserver) Running of DABC server ====================== In addition to ROOT-based http and fastcgi server, one could use following servers: * DABC-based http server * DABC-based fastcgi server * DABC master socket * DABC slave socket DABC-based http server ====================== root [0] new THttpServer("dabc:http:8095"); DABC-based fastcgi server ========================= root [0] new THttpServer("dabc:fastcgi:9000"); DABC master socket ================== root [0] new THttpServer("dabc:1237"); This is DABC command socket. Go4 can connect with this socket and request all objects in binary form. DABC slave socket ================== root [0] new THttpServer("dabc:master_node:1237"); This is possibility to attach slave to some running master and export all objects via master. This gives possibility to merge many slave jobs together. For any comments and wishes contact \n Sergey Linev S.Linev(at)gsi.de */