DIRAC: Secure Web User Interface

Total Page:16

File Type:pdf, Size:1020Kb

DIRAC: Secure Web User Interface 17th International Conference on Computing in High Energy and Nuclear Physics (CHEP09) IOP Publishing Journal of Physics: Conference Series 219 (2010) 082004 doi:10.1088/1742-6596/219/8/082004 DIRAC: Secure Web User Interface A Casajus Ramo 1, M Sapunov 2, 1 University of Barcelona, Diagonal 647, ES-08028 Barcelona, Spain 2 Centre de Physique des Particules de Marseille, 163 Av de Luminy Case 902 13288 Marseille, France E-mail: [email protected] Abstract . Traditionally the interaction between users and the Grid is done with command line tools. However, these tools are difficult to use by non-expert users providing minimal help and generating outputs not always easy to understand especially in case of errors. Graphical User Interfaces are typically limited to providing access to the monitoring or accounting information and concentrate on some particular aspects failing to cover the full spectrum of grid control tasks. To make the Grid more user friendly more complete graphical interfaces are needed. Within the DIRAC project we have attempted to construct a Web based User Interface that provides means not only for monitoring the system behavior but also allows to steer the main user activities on the grid. Using DIRAC's web interface a user can easily track jobs and data. It provides access to job information and allows performing actions on jobs such as killing or deleting. Data managers can define and monitor file transfer activity as well as check requests set by jobs. Production managers can define and follow large data productions and react if necessary by stopping or starting them. The Web Portal is build following all the grid security standards and using modern Web 2.0 technologies which allow to achieve the user experience similar to the desktop applications. Details of the DIRAC Web Portal architecture and User Interface will be presented and discussed. 1. Introduction Since the beginning of the distributed computing era users need to know what has happened to their payloads. Command line interfaces have been the usual tools, but in the framework of LCG and EGEE projects several graphical interfaces were created. Most current monitoring systems provide really low level or very high level views. Although these types of views are very useful for site managers, users require other ways to control their grid activity. Few monitoring systems provide views useful for non- expert users or interactivity with the monitored object. When the development of the new revision of DIRAC Project started, an interactive monitoring interface was defined as the key new feature. It had to allow users to monitor their jobs in a platform independent way. Using the web proved to be a framework that allowed having an interactive c 2010 IOP Publishing Ltd 1 17th International Conference on Computing in High Energy and Nuclear Physics (CHEP09) IOP Publishing Journal of Physics: Conference Series 219 (2010) 082004 doi:10.1088/1742-6596/219/8/082004 monitoring interface easy to use for non-expert users, and a powerful way to interact with DIRAC [1] for experts. In order to decrease the learning curve, the Web Monitoring had to have a user-friendly interface mimicking standard graphical interface elements like menus or windows commonly found in desktop applications. Another key requirement was a complete interactivity in the monitoring interface. All the actions users can do via command line have to be available via the monitoring web interface as well. Interaction requires having an authorization and authentication mechanism based on grid certificates. After formulating these requirements we started to look for a satisfactory solution. The well known and widely used Grid monitors were carefully examined: GridView [2], GridPP [3] and MonALISA [4]. GridView is a monitoring and visualization tool which provides a high level view of various functional aspects of the LHC Computing Grid (LCG). It shows the statistics of data transfers, jobs running and service availability information for Grid. Unfortunately for us it’s really high level view solution used to display statistical information; it does not meet user needs. GridPP is a brilliant 3D monitor which gathers information from resource brokers around the world. Using images from NASA's Blue Marble Project, presents a visualization of the Grid at work. It could be used as a general overview for the DIRAC system, but similarly to GridView this is a high level solution. Moreover, the client itself is written in Java and is not web based. Although there is an option which allows mapping the monitoring data to Google Maps, it can’t interact with a user on the level we want to. MonALISA is a framework based on dynamic distributed service architecture and is able to provide complete monitoring, control and global optimization services for complex systems. The monitor can be used at a user level but it can’t provide certificate based authorization, and control interfaces provided by this monitor can’t be used for job manipulation. Based on the previous studies we decided to create our own monitoring client to fit our needs. The main features to provide were security access to the web monitor using grid certificates and user- system interaction. The resulting DIRAC’s monitoring interface is designed and built with an interaction paradigm in mind instead of passively looking at the objects history. In this paper we describe in Section 2 the architecture of the monitoring system and justify the choice of its components and their implementation. Overview of the security issues and solutions is presented in Section 3. Interaction between the Web Portal and services is described in Section 4. The user interface, goals and features as well as known limitations are described in Sections 5 and 6 respectively. Section 7 is devoted to conclusions and outlook for future work. 2. Architecture overview 2.1. Brief explanation of how it works In this section we present the architecture of the web monitoring interface and it’s interaction with DIRAC. We start with a quick explanation of the way it works from the mouse click to the page update. Details will follow later in this chapter. When a user clicks on any element of the web page an event is triggered and processed by JavaScript interpreter. We used a JavaScript library to create a common look and feel through the whole set of web pages. Using a JavaScript library allows us to focus our efforts on building functionality by having a set of widgets ready to use. To mimic the look-and-feel of a desktop application the ExtJS library [5] is used. It allows to dynamically display information retrieved from the web server using AJAX techniques [6], so there is no need to refresh the whole page. AJAX provides a way to do a standard GET/POST HTTP query from the user's browser to the web server and feeds the results to ExtJS components which can modify the web page dynamically and hide the client-server interaction. When the web server receives a query, it is processed by DIRAC code running in the web server. To handle all the parameters parsing and URL mapping, the Pylons Web Framework [7] is used. 2 17th International Conference on Computing in High Energy and Nuclear Physics (CHEP09) IOP Publishing Journal of Physics: Conference Series 219 (2010) 082004 doi:10.1088/1742-6596/219/8/082004 Pylons processes all the incoming HTTP queries, translates the parameters to Python variables and maps each URL to a Python function. The Python function executed by pylons acts as an adapter to DIRAC. If some information is required from a DIRAC service, the function uses DIRAC clients to retrieve it. When a connection to a DIRAC service is required the DISET [1] secure protocol (which is part of the DIRAC framework) is used. Once the web server gets a response from the service, it passes the results back to the user’s browser. This information is then processed by JavaScript code and the web page is modified accordingly. Fig 1. Protocol used for interaction between layers 2.2. Server side architecture DIRAC Web Portal uses Pylons as the Python framework to handle all the HTTP processing. Pylons include a web server for testing purposes, but it doesn’t scale properly. To make the solution more scalable, Pylons is run in conjunction with an Apache web server. Apache can run multiple processes to serve requests and spawn or kill processes if needed. Each Apache process runs a Pylons instance. The client authentication can be handled by the Apache mod_ssl module. Although Apache is a well known and rock solid solution, perhaps it’s not really suitable for our needs. As an alternative we have tried to use Lighttpd [8], a well known web server. This web server is used by projects such as YouTube and Wikipedia. Its high speed IO-infrastructure allows a better scaling on the same hardware than the Apache server. Moreover, its event-driven architecture is optimized for a large number of parallel connections. Unfortunately, Lighttpd doesn’t fully support OpenSSL authentication mechanisms. If future releases provide the required functionality, probably Lighttpd will be used instead of Apache for our solution. Another alternative to Apache is Nginx [9], a web server with load balancing and fault tolerance. But it doesn’t fully support OpenSSL neither. DIRAC web logic is coded in Python and runs under Pylons which is also coded in Python. To run it under Apache, the mod_python module is used. By internally invoking a Python interpreter, it allows to increase the execution speed instead of using the standard CGI mechanism that needs to instantiate the interpreter each time a request is received.
Recommended publications
  • Preview Turbogears Tutorial
    TurboGears About the Tutorial TurboGears is a Python web application framework, which consists of many modules. It is designed around the MVC architecture that are similar to Ruby on Rails or Struts. TurboGears are designed to make rapid web application development in Python easier and more supportable. TurboGears is a web application framework written in Python. TurboGears follows the Model-View-Controller paradigm as do most modern web frameworks like Rails, Django, Struts, etc. This is an elementary tutorial that covers all the basics of TurboGears. Audience This tutorial has been designed for all those readers who want to learn the basics of TurboGears. It is especially going to be useful for all those Web developers who are required to simplify complex problems and create single database backed webpages. Prerequisites We assume the readers of this tutorial have a basic knowledge of web application frameworks. It will be an added advantage if the readers have hands-on experience of Python programming language. In addition, it is going to also help if the readers have an elementary knowledge of Ruby-on-Rails and Struts. Disclaimer & Copyright Copyright 2016 by Tutorials Point (I) Pvt. Ltd. All the content and graphics published in this e-book are the property of Tutorials Point (I) Pvt. Ltd. The user of this e-book is prohibited to reuse, retain, copy, distribute or republish any contents or a part of contents of this e-book in any manner without written consent of the publisher. We strive to update the contents of our website and tutorials as timely and as precisely as possible, however, the contents may contain inaccuracies or errors.
    [Show full text]
  • Cherrypy Documentation Release 8.5.1.Dev0+Ng3a7e7f2.D20170208
    CherryPy Documentation Release 8.5.1.dev0+ng3a7e7f2.d20170208 CherryPy Team February 08, 2017 Contents 1 Foreword 1 1.1 Why CherryPy?.............................................1 1.2 Success Stories..............................................2 2 Installation 5 2.1 Requirements...............................................5 2.2 Supported python version........................................5 2.3 Installing.................................................5 2.4 Run it...................................................6 3 Tutorials 9 3.1 Tutorial 1: A basic web application...................................9 3.2 Tutorial 2: Different URLs lead to different functions.......................... 10 3.3 Tutorial 3: My URLs have parameters.................................. 11 3.4 Tutorial 4: Submit this form....................................... 12 3.5 Tutorial 5: Track my end-user’s activity................................. 12 3.6 Tutorial 6: What about my javascripts, CSS and images?........................ 13 3.7 Tutorial 7: Give us a REST....................................... 15 3.8 Tutorial 8: Make it smoother with Ajax................................. 17 3.9 Tutorial 9: Data is all my life...................................... 19 3.10 Tutorial 10: Make it a modern single-page application with React.js.................. 22 3.11 Tutorial 11: Organize my code...................................... 25 4 Basics 27 4.1 The one-minute application example.................................. 28 4.2 Hosting one or more applications...................................
    [Show full text]
  • E-37-V Dome Camera Operation Manual
    E-37-V Dome Camera Operation Manual i Table of Contents 1 Network Config .............................................................................................................. 1 1.1 Network Connection .......................................................................................... 1 1.2 Log in ................................................................................................................ 1 2 Live ................................................................................................................................ 6 2.1 Encode Setup ................................................................................................... 6 2.2 System Menu .................................................................................................... 7 2.3 Video Window Function Option ......................................................................... 7 2.4 Video Window Setup ......................................................................................... 8 2.4.1 Image Adjustment ....................................................................................... 8 2.4.2 Original Size ............................................................................................... 9 2.4.3 Full Screen ................................................................................................. 9 2.4.4 Width and Height Ratio ............................................................................. 10 2.4.5 Fluency Adjustment .................................................................................
    [Show full text]
  • WEB2PY Enterprise Web Framework (2Nd Edition)
    WEB2PY Enterprise Web Framework / 2nd Ed. Massimo Di Pierro Copyright ©2009 by Massimo Di Pierro. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning, or otherwise, except as permitted under Section 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, Inc., 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8600, or on the web at www.copyright.com. Requests to the Copyright owner for permission should be addressed to: Massimo Di Pierro School of Computing DePaul University 243 S Wabash Ave Chicago, IL 60604 (USA) Email: [email protected] Limit of Liability/Disclaimer of Warranty: While the publisher and author have used their best efforts in preparing this book, they make no representations or warranties with respect to the accuracy or completeness of the contents of this book and specifically disclaim any implied warranties of merchantability or fitness for a particular purpose. No warranty may be created ore extended by sales representatives or written sales materials. The advice and strategies contained herein may not be suitable for your situation. You should consult with a professional where appropriate. Neither the publisher nor author shall be liable for any loss of profit or any other commercial damages, including but not limited to special, incidental, consequential, or other damages. Library of Congress Cataloging-in-Publication Data: WEB2PY: Enterprise Web Framework Printed in the United States of America.
    [Show full text]
  • Pylons Reference Documentation Release 1.0.2
    Pylons Reference Documentation Release 1.0.2 Ben Bangert, Graham Higgins, James Gardner, Philip Jenvey January 12, 2018 Contents 1 Getting Started 1 1.1 Requirements...............................................1 1.2 Installing.................................................1 1.3 Creating a Pylons Project........................................3 1.4 Running the application.........................................4 1.5 Hello World...............................................4 2 Concepts of Pylons 7 2.1 The ‘Why’ of a Pylons Project......................................7 2.2 WSGI Applications...........................................8 2.3 WSGI Middleware............................................8 2.4 Controller Dispatch........................................... 10 2.5 Paster................................................... 10 2.6 Loading the Application......................................... 11 3 Controllers 13 3.1 Standard Controllers........................................... 14 3.2 Using the WSGI Controller to provide a WSGI service......................... 16 3.3 Using the REST Controller with a RESTful API............................ 17 3.4 Using the XML-RPC Controller for XML-RPC requests........................ 20 4 Views 23 4.1 Templates................................................. 24 4.2 Passing Variables to Templates...................................... 24 4.3 Default Template Variables....................................... 25 4.4 Configuring Template Engines...................................... 26 4.5 Custom
    [Show full text]
  • Class -IV Super Computer Year- 2020-21
    s Class -IV Super Computer Year- 2020-21 2. Windows 7 ❖ Focus of the Chapter 1. Windows desktop 2. Desktop icons 3. Start Menu 4. Task bar 5. Files and folders 6. Creating & saving new file/folder 7. Selecting a file/folder 8. Opening a file/folder 9. Renaming a file/folder 10. Deleting a file/folder 11. Moving a file/folder 12. Copying a file/folder 13. Creating a shortcut to a file/folder Keywords • Booting – Loading of the operating system. • Taskbar- The long bar present at the bottom of the desktop • Notification area- The area located on the right side of the taskbar • Folder- A container for storing files and other folders. Introduction Windows 7 is an operating system that Microsoft has produced for use on personal computers. It is the follow-up to the Windows Vista Operating System, which was released in 2006. An operating system allows your computer to manage software and perform essential tasks. It is also a Graphical User Interface (GUI) that allows you to visually interact with your computer’s functions in a logical, fun, and easy way. Interact with your computer’s functions in a logical, fun, and easy way. * The first screen appear after you turn on the power of computer is a desktop • If it is a shared PC; more than one user uses it, or one user with password protected, you will arrive at Welcome Screen Desktop Components 1- Icons: An icon is a graphic image, a small picture or object that represents a file, program, web page, or command.
    [Show full text]
  • Chrome Security
    Browser Privacy Settings Some browsers may occasionally make modifications to privacy settings to protect users from possible unsecured content. Unsecured content is identified with the prefix http:// in the URL and can create mixed content in your Canvas Page. Secured content is identified with the https:// prefix in the URL. If something is not displaying properly in Canvas, it could be the browser is preventing it from showing. You can always click the ‘new window’ icon to open the content in a new window. Or you can ‘allow the content. Below, are images that show how to enable content in both browsers Google Chrome and Mozilla Firefox. Chrome Security Google Chrome verifies that the website content you view is transmitted securely. If you visit a page in your Canvas course that is linked to insecure content, Chrome will display a shield icon in the browser address bar. You can choose to override the security restriction and display the content anyway by clicking the shield icon and then clicking the Load unsafe script button. Chrome Media Permissions Chrome has its own media permission within the browser. To use your computer camera and microphone within any Canvas feature, you will have to approve two permissions: 1. Allow access to Canvas via the Adobe Flash Player Settings. This prompt appears in the center of the video and audio pop-up windows, or the center of the browser if you are accessing Conversations. 2. Allow access to Canvas via Chrome's media permission settings. This prompt appears just below the address bar. Click the Allow button.
    [Show full text]
  • Appendix a the Ten Commandments for Websites
    Appendix A The Ten Commandments for Websites Welcome to the appendixes! At this stage in your learning, you should have all the basic skills you require to build a high-quality website with insightful consideration given to aspects such as accessibility, search engine optimization, usability, and all the other concepts that web designers and developers think about on a daily basis. Hopefully with all the different elements covered in this book, you now have a solid understanding as to what goes into building a website (much more than code!). The main thing you should take from this book is that you don’t need to be an expert at everything but ensuring that you take the time to notice what’s out there and deciding what will best help your site are among the most important elements of the process. As you leave this book and go on to updating your website over time and perhaps learning new skills, always remember to be brave, take risks (through trial and error), and never feel that things are getting too hard. If you choose to learn skills that were only briefly mentioned in this book, like scripting, or to get involved in using content management systems and web software, go at a pace that you feel comfortable with. With that in mind, let’s go over the 10 most important messages I would personally recommend. After that, I’ll give you some useful resources like important websites for people learning to create for the Internet and handy software. Advice is something many professional designers and developers give out in spades after learning some harsh lessons from what their own bitter experiences.
    [Show full text]
  • The Turbogears Toolbox and Other Tools
    19 The TurboGears Toolbox and Other Tools In This Chapter ■ 19.1 Toolbox Overview 372 ■ 19.2 ModelDesigner 373 ■ 19.3 CatWalk 375 ■ 19.4 WebConsole 377 ■ 19.5 Widget Browser 378 ■ 19.6 Admi18n and System Info 379 ■ 19.7 The tg-admin Command 380 ■ 19.8 Other TurboGears Tools 380 ■ 19.9 Summary 381 371 226Ramm_ch19i_indd.indd6Ramm_ch19i_indd.indd 337171 110/17/060/17/06 111:50:421:50:42 AAMM urboGears includes a number of nice features to make your life as a de- Tveloper just a little bit easier. The TurboGears Toolbox provides tools for creating and charting your database model, adding data to your database with a web based GUI while you are still in development, debugging system problems, browsing all of the installed widgets, and internationalizing your application. 19.1 Toolbox Overview The TurboGears Toolbox is started with the tg-admin toolbox command. Your browser should automatically pop up when you start the Toolbox, but if it doesn’t you should still be able to browse to http://localhost:7654, where you’ll see a web page with links for each of the tools in the toolbox (as seen in Figure 19.1). FIGURE 19.1 The TurboGears Toolbox home page Each of the components in the Toolbox is also a TurboGears application, so you can also look at them as examples of how TurboGears applications are built. 372 226Ramm_ch19i_indd.indd6Ramm_ch19i_indd.indd 337272 110/17/060/17/06 111:50:431:50:43 AAMM 19.2 ModelDesigner 373 Because there isn’t anything in TurboGears that can’t be done in code or from the command line, the use of the Toolbox is entirely optional.
    [Show full text]
  • CUSTOMIZING YOUR TOOLBARS in INTERNET EXPLORER, OUTLOOK EXPRESS, WINDOWS and WORD a Seminar Presented by Bill Wilkinson April 2008
    CUSTOMIZING YOUR TOOLBARS IN INTERNET EXPLORER, OUTLOOK EXPRESS, WINDOWS AND WORD A Seminar Presented by Bill Wilkinson April 2008 Internet Explorer 7 Toolbars Internet Explorer 7, the latest version of Microsoft’s Web browser, sports a cleaner look than its predecessor. In fact, some users might wonder where everything went. The main toolbar is reduced in IE7 to just a couple of main buttons in the upper-left corner near the Address bar and a smattering of smaller buttons scattered about. The Menu Bar, a familiar feature in just about every program, was hidden by default in the earliest version IE7, but Microsoft was shamed into returning it to its traditional place. If you downloaded IE7 when it first came out, you will not see the Menu Bar. We will show you how to access it during this seminar session. The IE7 standard install also lacked a visible Links toolbar. Fortunately, Internet Explorer 7 features a streamlined toolbar that you can customize if you find it a little too sparse. The Page button is really a drop-down menu of commands loosely related to viewing the page in your browser window. This is where you can change text size, zoom level, or send pages and links through email. The Copy and Paste commands also ended up here, along with the command for opening a new window . Clicking Tools opens another submenu with a lot of the same commands from the original Tools menu. Here you’ll find the Pop-up Blocker, the Internet Options command, and other settings. Rounding out the IE7 interface are star-shaped buttons on the left side of the screen to add and view Favorites (called the Favorites Center).
    [Show full text]
  • Poly Video Mode Administrator Guide
    ADMINISTRATOR GUIDE 3.0.0 | December 2019 | 3725-85854-004A Poly Video Mode Getting Help For more information about installing, configuring, and administering Poly/Polycom products or services, go to Polycom Support. Plantronics, Inc. (Poly — formerly Plantronics and Polycom) 345 Encinal Street Santa Cruz, California 95060 © 2019 Plantronics, Inc. All rights reserved. Poly, the propeller design, and the Poly logo are trademarks of Plantronics, Inc. All other trademarks are the property of their respective owners. Contents Before You Begin................................................................................................6 Audience, Purpose, and Required Skills.............................................................................6 Related Poly and Partner Resources..................................................................................6 Getting Started................................................................................................... 8 Product Overview of Poly Video Systems...........................................................................8 Administrator Features and Capabilities.................................................................. 9 Powering the System On and Off......................................................................................10 Navigating the System...................................................................................................... 10 Access the System Web Interface..........................................................................10
    [Show full text]
  • Internet Explorer 11
    ® Microsoft Internet Explorer 11 Qu ick Reference Card Internet Explorer 11 Window Keyboard Shortcuts Address Bar list arrow Security report General Search Refresh View favorites, feeds and history New Window <Ctrl> + <N> Navigation Home New Tab <Ctrl> + <T> Buttons Address Tab New tab Close Window/Tab <Ctrl> + <W> Bar Open link in New Tab <Ctrl> + <Shift> Tools (Foreground) + click Open link in New Tab <Ctrl> + click (Background) Select Address Bar <Alt> + <D> Find <Ctrl> + <F> Print <Ctrl> + <P> Select All <Ctrl> + <A> Zoom In <Ctrl> + <+> Zoom Out <Ctrl> + <-> Full Screen Mode <F11> Help <F1> Add Favorite <Ctrl> + <D> Refresh <F5> Stop <Esc> Navigation Next item <Tab> Up one screen <Page Up> Scroll Bars Down one screen <Page Down> Home <Alt> + <Home> The Fundamentals Tools <Alt> + <X> Favorites <Alt> + <C> • A web address, also known as a URL (Uniform • To Search the Web: Click the Search button in the Resource Locator) is made up of two main parts: Address Bar, type a keyword or term in the Address Bar View Address Bar <F4> ü http:// (Hypertext Transfer Protocol): the set of and press <Enter>. History rules for exchanging files on the World Wide • To Change the Search Provider: Click the Address Bar Go Forward <Alt> + <à> Web. list arrow in the Address bar and select the provider Go Back <Alt> + <ß> ü Domain name: the unique name that you wish to use from the row of icons along the bottom of Switch to previous Tab <Ctrl> + <Shift> identifies a specific site on the web. the menu. + <Tab> • To Add a Search Provider: Click the Address Bar list • To Open a Web Page: Click the Address Bar and Switch to next Tab <Ctrl> + <Tab> type the address of the Web page.
    [Show full text]