Experiment Software and Projects on the Web with VISPA

Experiment Software and Projects on the Web with VISPA

M Erdmann, B Fischer, R Fischer, E Geiser, C Glaser, G Müller,
M Rieger, M Urban, R F von Cube and C Welling
Abstract

The Visual Physics Analysis (VISPA) project defines a toolbox for accessing software via the web. It is based on latest web technologies and provides a powerful extension mechanism that enables to interface a wide range of applications. Beyond basic applications such as a code editor, a file browser, or a terminal, it meets the demands of sophisticated experiment-specific use cases that focus on physics data analyses and typically require a high degree of interactivity. As an example, we developed a data inspector that is capable of browsing interactively through event content of several data formats, e.g., „MiniAOD“ which is utilized by the CMS collaboration. The VISPA extension mechanism can also be used to embed external web-based applications that benefit from dynamic allocation of user-defined computing resources via SSH. For example, by wrapping the „JSROOT“ project, ROOT files located on any remote machine can be inspected directly through a VISPA server instance. We introduced domains that combine groups of users and role-based permissions. Thereby, tailored projects are enabled, e.g. for teaching where access to student’s homework is restricted to a team of tutors, or for experiment-specific data that may only be accessible for members of the collaboration. We present the extension mechanism including corresponding applications and give an outlook onto the new permission system.

  • III. Physics Institute A, RWTH Aachen University, Germany

  • E-mail: rieger@physik.rwth-aachen.de, rfischer@physik.rwth-aachen.de

1 Introduction

Scientific workflows can strongly benefit from the advantages of web applications. Especially location-independent access via web browsers and centralized software installation on dedicated servers are convincing arguments. As an example, IPython Notebooks [ipython] become more and more popular in the physics community.

However, specialized experiment-specific software requires an entirely different level of infrastructure in order to profit from web-based approaches. The VISPA system is capable of coping with the demands of complex experiment environments in the web [vispa].

The article is structured as follows. Section 2 describes the architecture of the VISPA software as well as its key concepts. Subsequent sections LABEL:sec:pxl and LABEL:sec:jsroot present developed extensions that demonstrate its suitability as an environment for experiment-specific software. In section LABEL:sec:um the user management and permission system is explained which introduces configurability of resources and access to them.

2 The VISPA Software

Following a server-client approach, the VISPA software consists of two parts. The server is written in Python and is implemented using the CherryPy framework [cherrypy]. The browser-based client is written in JavaScript with graphical components defined in HTML5 [html5] and CSS3 [css3]. Communication between the two relies on Hypertext Transfer Protocol (HTTP) requests and WebSockets. User-related information, i.e. login data, permissions and preferences, are stored in a relational database, which is accessed via object-relational mapping (ORM) using the SQLAlchemy toolkit [sqlalchemy]. The internal user management system enables administrators to group users into logical entities, such as Projects and Groups, and handles allocation of permissions.

Two key concepts are the ability to connect to user-defined resources, called workspaces, and a mechanism that allows for extending functionalities. Both of them are described in detail in the following.

2.1 Workspace Architecture

The purpose of the VISPA server is to provide a working environment for multiple users. Thus, in order to preserve server responsiveness, requests for large amounts of data and computing power should be treated separately. Workspaces constitute the means to including dynamic and scalable resources into the server-client architecture. A schematic overview is shown in figure LABEL:fig:arch1.


\hb@xt@

.


\hb@xt@

.


\hb@xt@

.

Comments 0
Request Comment
You are adding the first comment!
How to quickly get a good reply:
  • Give credit where it’s due by listing out the positive aspects of a paper before getting into which changes should be made.
  • Be specific in your critique, and provide supporting evidence with appropriate references to substantiate general statements.
  • Your comment should inspire ideas to flow and help the author improves the paper.

The better we are at sharing our knowledge with each other, the faster we move forward.
""
The feedback must be of minimum 40 characters and the title a minimum of 5 characters
   
Add comment
Cancel
Loading ...
60245
This is a comment super asjknd jkasnjk adsnkj
Upvote
Downvote
""
The feedback must be of minumum 40 characters
The feedback must be of minumum 40 characters
Submit
Cancel

You are asking your first question!
How to quickly get a good answer:
  • Keep your question short and to the point
  • Check for grammar or spelling errors.
  • Phrase it like a question
Test
Test description