Clarens Toolkit Building Blocks for a Simple TeraGrid Gateway Tutorial Conrad Steenberg Julian Bunn, Matthew Graham, Joseph Jacob, Craig Miller, Roy Williams.

Slides:



Advertisements
Similar presentations
The GridSite Toolbar Shiv Kaushal The University of Manchester All Hands Meeting 2006.
Advertisements

12 October 2011 Andrew Brown IMu Technology EMu Global Users Group 12 October 2011 IMu Technology.
Building and using REST information services Rion Dooley.
Web Toolkit Julie George & Ronald Lopez 1. Requirements  Java SDK version 1.5 or later  Apache Ant is also necessary to run command line arguments 
Grid Resource Allocation Management (GRAM) GRAM provides the user to access the grid in order to run, terminate and monitor jobs remotely. The job request.
 2003 Prentice Hall, Inc. All rights reserved. Chapter 21 – Web Servers (IIS and Apache) Outline 21.1 Introduction 21.2 HTTP Request Types 21.3 System.
IS 360 Course Introduction. Slide 2 What you will Learn (1) The role of Web servers and clients How to create HTML, XHTML, and HTML 5 pages suitable for.
Cloud Computing Lecture #7 Introduction to Ajax Jimmy Lin The iSchool University of Maryland Wednesday, October 15, 2008 This work is licensed under a.
ITM352 Javascript and Dynamic Web Pages: Client Side Processing.
Project Implementation for COSC 5050 Distributed Database Applications Lab1.
Introduction SOAP History Technical Architecture SOAP in Industry Summary References.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
INTRODUCTION TO WEB DATABASE PROGRAMMING
A Scalable Application Architecture for composing News Portals on the Internet Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta Famagusta.
GRAPPA Part of Active Notebook Science Portal project A “notebook” like GRAPPA consists of –Set of ordinary web pages, viewable from any browser –Editable.
BaBar WEB job submission with Globus authentication and AFS access T. Adye, R. Barlow, A. Forti, A. McNab, S. Salih, D. H. Smith on behalf of the BaBar.
3 May 2006 GridSite Andrew McNabwww.gridsite.org Web Services for Grids in Scripts and C using GridSite Andrew McNab University of.
Chapter 1: Introduction to Web
DIRAC Web User Interface A.Casajus (Universitat de Barcelona) M.Sapunov (CPPM Marseille) On behalf of the LHCb DIRAC Team.
A Web 2.0 Portal for Teragrid Fugang Wang Gregor von Laszewski May 2009.
Scaling NVO Services to the Teragrid Roy Williams Conrad Steenberg Craig Miller Matthew Graham Joe Jacob Julian Bunn.
NeSC Grid Apps Workshop Exposing Legacy Applications as OGSI Components using pyGlobus Keith R. Jackson Distributed Systems Department Lawrence Berkeley.
Basic Programming in Ruby Today’s Topics: Introduction last class irb history log Methods Classes (briefly) Using 3 rd Party Libraries rubygems ‘ require.
Towards a Javascript CoG Kit Gregor von Laszewski Fugang Wang Marlon Pierce Gerald Guo
TeraGrid Science Gateways: Scaling TeraGrid Access Aaron Shelmire¹, Jim Basney², Jim Marsteller¹, Von Welch²,
GT Components. Globus Toolkit A “toolkit” of services and packages for creating the basic grid computing infrastructure Higher level tools added to this.
1 Apache. 2 Module - Apache ♦ Overview This module focuses on configuring and customizing Apache web server. Apache is a commonly used Hypertext Transfer.
Grid Resource Allocation and Management (GRAM) Execution management Execution management –Deployment, scheduling and monitoring Community Scheduler Framework.
23:48:11Service Oriented Cyberinfrastructure Lab, Grid Portals Fugang Wang April 29
COMP3019 Coursework: Introduction to GridSAM Steve Crouch School of Electronics and Computer Science.
Microsoft SharePoint Server 2010 for the Microsoft ASP.NET Developer Yaroslav Pentsarskyy
10/13/2015 ©2006 Scott Miller, University of Victoria 1 Content Serving Static vs. Dynamic Content Web Servers Server Flow Control Rev. 2.0.
.Net and Web Services Security CS795. Web Services A web application Does not have a user interface (as a traditional web application); instead, it exposes.
1 Overview of the Application Hosting Environment Stefan Zasada University College London.
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
Javascript Cog Kit By Zhenhua Guo. Grid Applications Currently, most grid related applications are written as separate software. –server side: Globus,
Asynchronous services from NVO Roy Williams Conrad Steenberg Craig Miller Matthew Graham Joe Jacob Julian Bunn.
Kingdom of Saudi Arabia Ministry of Higher Education Al-Imam Muhammad Ibn Saud Islamic University College of Computer and Information Sciences Chapter.
Web Services BOF This is a proposed new working group coming out of the Grid Computing Environments Research Group, as an outgrowth of their investigations.
Application portlets within the PROGRESS HPC Portal Michał Kosiedowski
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
© Fraunhofer IAO, IAT Universität Stuttgart Message based propagation of changes in VO membership in a Grid environment Change Propagation in a heterogeneous.
Communicating Security Assertions over the GridFTP Control Channel Rajkumar Kettimuthu 1,2, Liu Wantao 3,4, Frank Siebenlist 1,2 and Ian Foster 1,2,3 1.
Tutorial: Building Science Gateways TeraGrid 08 Tom Scavo, Jim Basney, Terry Fleury, Von Welch National Center for Supercomputing.
© 2007 UC Regents1 Track 1: Cluster and Grid Computing NBCR Summer Institute Session 1.1: Introduction to Cluster and Grid Computing July 31, 2007 Wilfred.
Copyright © cs-tutorial.com. Overview Introduction Architecture Implementation Evaluation.
Grid Security in a production environment: 4 years of running Andrew McNab University of Manchester.
1 Grid Portal for VN-Grid Cu Nguyen Phuong Ha. 2 Outline Some words about portals in principle Overview of OGCE GridPortlets.
Holding slide prior to starting show. A Portlet Interface for Computational Electromagnetics on the Grid Maria Lin and David Walker Cardiff University.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
VO. VOMS 1. Authentication2. Credentials 3. Authentication Client Resource.
Getting started DIRAC Project. Outline  DIRAC information system  Documentation sources  DIRAC users and groups  Registration with DIRAC  Getting.
Overview of Privilege Project at Fermilab (compilation of multiple talks and documents written by various authors) Tanya Levshina.
Creating and running an application.
Shell Interface Shell Interface Functions Data. Graphical Interface Graphical Interface Command-line Interface Command-line Interface Experiments Private.
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
Configuring and Deploying Web Applications Lesson 7.
Security Middleware Andrew McNab University of Manchester.
Matthew Farrellee Computer Sciences Department University of Wisconsin-Madison Condor and Web Services.
Feeling RESTful? Well, first we’ll define a Web Service –A web page meant to be consumed by a computer via an autonomous program as opposed to a web browser.
Trimantra Software Solution Offshore Software Development Outsourcing Company Visit :
Portlet Development Konrad Rokicki (SAIC) Manav Kher (SemanticBits) Joshua Phillips (SemanticBits) Arch/VCDE F2F November 28, 2008.
ArcGIS for Server Security: Advanced
Practical using C++ WMProxy API advanced job submission
World Wide Web policy.
Google Web Toolkit Tutorial
Outline SOAP and Web Services in relation to Distributed Objects
Outline SOAP and Web Services in relation to Distributed Objects
IS 360 Course Introduction
Federated Hierarchical Filter Grids
Presentation transcript:

Clarens Toolkit Building Blocks for a Simple TeraGrid Gateway Tutorial Conrad Steenberg Julian Bunn, Matthew Graham, Joseph Jacob, Craig Miller, Roy Williams California Institute of Technology TeraGrid 2007 Madison, WI

June 2007TeraGrid Introduction Clarens Toolkit architecture Shell service basics User mapping Job submission Web interface hosting

June 2007TeraGrid Clarens Toolkit Architecture High-performance Apache web server “handler” Written from the ground up in Python since 2001 Multi-protocol communication (XML- RPC/JSON/SOAP) Geared towards scientists – requires very little programming to create web services Supports X509/proxy-based authentication Role-based and Gridmap file based authorization File Upload/download – AJAX hosting See presentation on Tuesday by Julian Bunn

June 2007TeraGrid Clarens Architecture IIClient Web server Web serverService 3 rd party application Clarens Clarens http/https XML-RPC SOAP Java RMI JSON/RPC The Clarens Toolkit Supports: Authentication – User certificates and proxies Access control – to Web Services, remote files Discovery - Web Services and Software Shell – Remote shells with ACL Virtual Organization – membership, management and roles Services – Potentially infinite :-) JavaScript (AJAX), Java, Python, Root (analysis framework)

June 2007TeraGrid Shell Service Basics Shell service can be used to run an executable on the server –Mapping user's credentials to a local system user External API: –id=shell.cmd(“some command”, id) –Each command executed in a sandbox owned by local system user –stdout and stderr files created in sandbox –Sandboxes can be re-used by supplying optional id argument –Files can be uploaded and downloaded to sandbox via web service or HTTP PUT using a form in a browser

June 2007TeraGrid Shell Service Basics II

June 2007TeraGrid User Mapping Map credentials (X509/proxy) to local system user Use classical gridmap-file – "/DC=org/DC=doegrids/OU=People/CN=Conrad Steenberg " conrad Use external callout Site Authorization Service Use Clarens hierarchical VO-based mapping –Hierarchical group structure –Any user or group can be mapped to local user –E.g. “Caltech” group consisting of Roy, Joe, Julian mapped to “caltech” user on remote machine No credential can be mapped to web server user

June 2007TeraGrid Job Submission Client-side framework can be developed using only shell service basics –Needs to be repeated for every access method and every client –Higher level services can be developed using code that make up shell service as a library –Higher level service can then be exposed to outside world E.g. rootlet service Higher level services can provide complex user mapping –E.g. NVO has anonymous, weak, and strong certificates mapping to guest account, nvo account or individual account resp.

June 2007TeraGrid Job Submission II Shell service library use on server: –Write service using tutorial on clarens.sf.net –Import shell service as library: shell_mod=clarens_util.import_module(“shell”) –Obtain desired user mapping: user_name,uid,gid,dn=shell_mod.lookup_user(req) –Execute shell command: shell_mod.exe_worker(req, method_name, cmd, request_id, user_name) –Or wrap user executable with script to submit to PBS/LSF/Condor

June 2007TeraGrid Web Interface Hosting Clarens server handles ordinary web page hosting –Can host html/js files to build AJAX interfaces –Use any popular client-side toolkit (yahoo, google, dojo, etc.) –Clarens provides support for method invocation from javascript –Uses same authentication/authorization for every HTTP GET/PUT request Example: – –jsonrpc("shell.cmd", [“date”,id], date_callback, error_cb)

June 2007TeraGrid Web Interface Hosting II

June 2007TeraGrid Summary Clarens Toolkit allows portal builders a flexible way to build web services –Uses wrist-friendly Python language –Simple design and implementation –Open Source Supports advanced portal requirements –Range of user mapping methods from simple to complex –Powerful access control mechanisms –Web interface hosting Examples of use include –NESSSI services –rootlets in HEP

June 2007TeraGrid Contact Info Clarens: –Complete manual –One-liner installation for x86-Linux –Service tutorial –Bug-tracking/mailing lists NVO: –Example services

June 2007TeraGrid

June 2007TeraGrid

June 2007TeraGrid

June 2007TeraGrid