Python for Scientific Gateways Development - PowerPoint PPT Presentation

1 / 19
About This Presentation
Title:

Python for Scientific Gateways Development

Description:

... to be driven by practical applications rather than the desire ... Application, ... Application Client-Server. chembiogrid.org. lifescienceweb.org. using Web ... – PowerPoint PPT presentation

Number of Views:53
Avg rating:3.0/5.0
Slides: 20
Provided by: Office20041433
Category:

less

Transcript and Presenter's Notes

Title: Python for Scientific Gateways Development


1
Python for Scientific Gateways Development
  • Randy Heiland1, Sean D. Mooney1, Keith Jackson2,
    Joshua Boverhof2, Maciek Swat1, Ariel Balter1,
    Marcus Christie1, Joseph Insley3
  • GCE Workshop
  • Supercomputing 2007
  • 1-Indiana University, 2-Lawrence Berkeley Lab,
    3-Argonne National Lab

2
Gateway Development A landscape of technologies
Blogs
Web Services
Globus
Java
OGCE
iGoogle
Web 2.0
XML
C
GridSphere
3
Background and Motivation
  • http//communitygrids.blogspot.com/2007/02/rethink
    ing-science-gateways.html Rethinking Science
    Gateways
  • many science gateways would undoubtedly benefit
    from agile development rather than enterprise
    development practices. This is because many
    science teams cannot afford specialized Web and
    Grid developers. They would instead like to
    build gateways themselves. Such would-be gateway
    developers typically possess a great deal of
    programming knowledge but are more likely to be
    driven by practical applications rather than the
    desire to build elegantly architected software.

4
Gateway Development A landscape of technologies
Blogs
Web Services
Python
Globus
Java
OGCE
iGoogle
Web 2.0
XML
C
GridSphere
5
Python
  • Released in 1991 by Guido van Rossum (at Google
    since Dec 05 50 time on Python)
  • Dynamically typed, Strongly typed, Auto memory
    mgt
  • High-level lng Syntax (minimal, clean)
  • Interpreted Interactive ( rapid
    prototyping/development)
  • Glue-iness, Wrap-ability (e.g., www.swig.org)
  • Introspection
  • History with science apps
  • Vibrant communities and evolving language

CiSE May/June 2007
6
Gateways Two basic approaches
  • Web browser-based
  • Application, client-server

TeraGrid Science Gateway is defined as a
community interface that enables access to high
end resources, usually through a web portal or
desktop client server arrangement
7
Some Python-related tools for a scientific gateway
8
Application Client-Server
using Web services (SOAPpy, ZSI)
chembiogrid.org
lifescienceweb.org
9
Web browser gateway TurboGears - Web dev
framework (in Python)
  • Model-View-Controller
  • Model SQLObject
  • View Kid templating
  • Controller CherryPy
  • Open source
  • AJAX w/ MochiKit
  • JSON
  • Apache HTTP, MySQL

In addition to TurboGears, may also try django,
another Python Web dev framework.
10
Getting started - trivial
  • tg-admin quickstart
  • prompted for proj name
  • start-ltprojgt.py

11
TurboGears extras
  • usual widgets input fields, checkboxes,
    tables, etc.
  • - more complex widgets

12
ZSI - Python Web services
  • Python pkg implementing SOAP 1.1 spec
  • Generates stubs for client server, from a WSDL
  • wsdl2py
  • wsdl2dispatch

(refer to Nws example in paper)
13
CompuCell3D - NIH funded project
  • Cell-based tissue simulation environment

Testbed for parameter sweeps on HPC via gateway(s)
14
Security
  • Out-of-the-box solution using
  • Grid Security Infrastructure (GSI)
    authentication
  • Assumes
  • GSI file systems (e.g. /etc/grid-security) on
    host computer,
  • a newer version of M2Crypto (gt0.16) installed,
  • client certificate exists and has been imported
    into browser

15
Non-Python components using AJAX
  • Javascript widgets (MochiKit, Yahoo UI, Dojo,
    etc.) talk to Java backend
  • Apache HTTP server Apache Tomcat
  • (rf. paper)

16
Conclusion
  • Python (pkgs) provides viable options for
    building scientific gateways.
  • Because Python is already being used by many
    scientific communities, these researchers can
    build/maintain their own, lightweight, focused
    gateways.
  • But wait, theres more

17
Python and Education
  • OLPC project bundled
  • with Python 2.5
  • Potential new generation of Python programmers
    worldwide
  • 1M/month in 2008
  • laptopgiving.org

18
Thanks!
Acknowledgements Partial funding through the
IPCRES Initiative grant from the Lilly Endowment.
19
Addendum
  • For a Python IDE, we recommend using Eclipse with
    the PyDev plugin.
  • Other options include Wing (commercial) and IDLE
    (bundled w/ Python)
Write a Comment
User Comments (0)
About PowerShow.com