Presentation is loading. Please wait.

Presentation is loading. Please wait.

Python for Scientific Gateways Development Randy Heiland 1, Sean D. Mooney 1, Keith Jackson 2, Joshua Boverhof 2, Maciek Swat 1, Ariel Balter 1, Marcus.

Similar presentations


Presentation on theme: "Python for Scientific Gateways Development Randy Heiland 1, Sean D. Mooney 1, Keith Jackson 2, Joshua Boverhof 2, Maciek Swat 1, Ariel Balter 1, Marcus."— Presentation transcript:

1 Python for Scientific Gateways Development Randy Heiland 1, Sean D. Mooney 1, Keith Jackson 2, Joshua Boverhof 2, Maciek Swat 1, Ariel Balter 1, Marcus Christie 1, Joseph Insley 3 GCE Workshop Supercomputing 2007 1-Indiana University, 2-Lawrence Berkeley Lab, 3-Argonne National Lab

2 Gateway Development: A landscape of technologies Java Globus C# OGCE Web Services XML iGoogleWeb 2.0 Blogs GridSphere

3 Background and Motivation http://communitygrids.blogspot.com/2007/02/rethinking-science-gateways.html “Rethinking Science Gateways”http://communitygrids.blogspot.com/2007/02/rethinking-science-gateways.html …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 Java Globus C# OGCE Web Services XML iGoogleWeb 2.0 Blogs GridSphere Python

5 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 NumPyNumerical module providing array objects UCSF Chimera, VMD, PyMOLMolecular graphics and modeling CompuCell3DEnvironment for cell-based modeling ZSI, pyGlobus, pyGridWareWeb services toolkit, Interface to GT, WSRF toolkit SciPyScience and engineering modules BiopythonTools for computational molecular biology VTK, ParaView, matplotlibScientific visualization, 2D plotting TurboGears, djangoWeb development frameworks SWIG, SIPTools for wrapping code in Python PyrexTool for writing extension modules in C VisTrailsScientific workflow system

8 Application Client-Server chembiogrid.org lifescienceweb.org using Web services (SOAPpy, ZSI)

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-.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 Testbed for parameter sweeps on HPC via gateway(s) Cell-based tissue simulation environment

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 (>=0.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, there’s 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)


Download ppt "Python for Scientific Gateways Development Randy Heiland 1, Sean D. Mooney 1, Keith Jackson 2, Joshua Boverhof 2, Maciek Swat 1, Ariel Balter 1, Marcus."

Similar presentations


Ads by Google