NeSC Grid Apps Workshop Exposing Legacy Applications as OGSI Components using pyGlobus Keith R. Jackson Distributed Systems Department Lawrence Berkeley.

Slides:



Advertisements
Similar presentations
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
Advertisements

This product includes material developed by the Globus Project ( Introduction to Grid Services and GT3.
Office of Science U.S. Department of Energy DANSE Kickoff Meeting 2006 Introduction to Python Grid Tools Keith R. Jackson David E. Konerding Lawrence Berkeley.
Interactive Systems Technical Design Seminar work: Web Services Janne Ojanaho.
1 CENTER FOR PARALLEL COMPUTERS An Introduction to Globus Toolkit® 3 -Developing Interoperable Grid services.
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
Web Services Members Troy Tony Ellen Vincent. Web Services What is it Why is it useful What have been solved Demo Alternative technologies Question.
Data Grids: Globus vs SRB. Maturity SRB  Older code base  Widely accepted across multiple communities  Core components are tightly integrated Globus.
Office of Science U.S. Department of Energy Globus World 2005 PyGridWare Performance Aspects Keith R. Jackson Lawrence Berkeley National Laboratory.
Apache Axis: A Set of Java Tools for SOAP Web Services.
Web-based Portal for Discovery, Retrieval and Visualization of Earth Science Datasets in Grid Environment Zhenping (Jane) Liu.
Globus 4 Guy Warner NeSC Training.
Kate Keahey Argonne National Laboratory University of Chicago Globus Toolkit® 4: from common Grid protocols to virtualization.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Commodity Grid (CoG) Kits Keith Jackson, Lawrence Berkeley National Laboratory Gregor von Laszewski, Argonne National Laboratory.
Adapting Legacy Computational Software for XMSF 1 © 2003 White & Pullen, GMU03F-SIW-112 Adapting Legacy Computational Software for XMSF Elizabeth L. White.
Grid Computing, B. Wilkinson, 20043b.1 Web Services Part II.
WSDL: Web Services Definition Language CS 795/895.
Introducing Axis2 Eran Chinthaka. Agenda  Introduction and Motivation  The “big picture”  Key Features of Axis2 High Performance XML Processing Model.
11/16/2012ISC329 Isabelle Bichindaritz1 Web Database Application Development.
Presentation: SOAP in a distributed object framework, Application Servers & AXIS SOAP.
CoG Kit Overview Gregor von Laszewski Keith Jackson.
Distributed Communication via ASP.Net Web Services and.Net Remoting By Richard King.
第十四章 J2EE 入门 Introduction What is J2EE ?
1 HKU CSIS DB Seminar: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration Speaker: Eric Lo.
GT Components. Globus Toolkit A “toolkit” of services and packages for creating the basic grid computing infrastructure Higher level tools added to this.
Lecture 15 Introduction to Web Services Web Service Applications.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
Web Services based e-Commerce System Sandy Liu Jodrey School of Computer Science Acadia University July, 2002.
Topaz : A GridFTP extension to Firefox M. Taufer, R. Zamudio, D. Catarino, K. Bhatia, B. Stearn University of Texas at El Paso San Diego Supercomputer.
Crystal-25 April The Rising Power of the Web Browser: Douglas du Boulay, Clinton Chee, Romain Quilici, Peter Turner, Mathew Wyatt. Part of a.
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
Fisheries Oceanography Collaboration Software Donald Denbo NOAA/PMEL-UW/JISAO Presented by Nancy Soreide NOAA/PMEL AMS 2002/IIPS 10.3.
Grid Computing Research Lab SUNY Binghamton 1 XCAT-C++: A High Performance Distributed CCA Framework Madhu Govindaraju.
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
Shannon Hastings Multiscale Computing Laboratory Department of Biomedical Informatics.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
Extreme! Computing Lab, Dept. of Computer Science, Indiana University 1 Programming the Grid with Components Madhu Govindaraju Aleksander Slominski Dennis.
Grid Architecture William E. Johnston Lawrence Berkeley National Lab and NASA Ames Research Center (These slides are available at grid.lbl.gov/~wej/Grids)
Wrapping Scientific Applications As Web Services Using The Opal Toolkit Wrapping Scientific Applications As Web Services Using The Opal Toolkit Sriram.
Grids - the near future Mark Hayes NIEeS Summer School 2003.
Commodity Grid Kits Gregor von Laszewski (ANL), Keith Jackson (LBL) Many state-of-the-art scientific applications, such as climate modeling, astrophysics,
Grid Services I - Concepts
XML and Web Services (II/2546)
S imple O bject A ccess P rotocol Karthikeyan Chandrasekaran & Nandakumar Padmanabhan.
Kemal Baykal Rasim Ismayilov
SOAP-based Web Services Telerik Software Academy Software Quality Assurance.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
On Using BPEL Extensibility to Implement OGSI and WSRF Grid Workflows Aleksander Slomiski Presented by Onyeka Ezenwoye CIS Advanced Topics in Software.
Overview of Grid Webservices in Distributed Scientific Applications Dennis Gannon Aleksander Slominski Indiana University Extreme! Lab.
Data Manipulation with Globus Toolkit Ivan Ivanovski TU München,
Introduction to Web Services Presented by Sarath Chandra Dorbala.
WP3 Implementing R-GMA grid services in GT3 Abdeslem Djaoui & WP3 Grid Services Task Force 7 th EU Datagrid meeting 26/09/2003
DataGrid is a project funded by the European Commission EDG Conference, Heidelberg, Sep 26 – Oct under contract IST OGSI and GT3 Initial.
A System for Monitoring and Management of Computational Grids Warren Smith Computer Sciences Corporation NASA Ames Research Center.
Software Architecture Patterns (3) Service Oriented & Web Oriented Architecture source: microsoft.
OGSA-DAI.
Jackson, Web Technologies: A Computer Science Perspective, © 2007 Prentice-Hall, Inc. All rights reserved Chapter 9 Web Services: JAX-RPC,
Added Value to XForms by Web Services Supporting XML Protocols Elina Vartiainen Timo-Pekka Viljamaa T Research Seminar on Digital Media Autumn.
Amy Krause EPCC OGSA-DAI An Overview OGSA-DAI on OMII 2.0 OMII The Open Middleware Infrastructure Institute NeSC,
Web Services General [recap] about web services Project C# Java Python Python web service.
WEB SERVICES.
Outline SOAP and Web Services in relation to Distributed Objects
Outline SOAP and Web Services in relation to Distributed Objects
Grid Services B.Ramamurthy 12/28/2018 B.Ramamurthy.
WEB SERVICES DAVIDE ZERBINO.
Introduction to Web Services
Presentation transcript:

NeSC Grid Apps Workshop Exposing Legacy Applications as OGSI Components using pyGlobus Keith R. Jackson Distributed Systems Department Lawrence Berkeley National Lab

NeSC Grid Apps Workshop Overview The Problem? Proposed Solution Why Python? Tools for generating Python interfaces to C/C++/Fortran pyGlobus Overview Current support in pyGlobus for Web Services OGSI plans for pyGlobus Steps for Exposing a Legacy Application Contacts & Acknowledgements

NeSC Grid Apps Workshop The Problem? Many existing codes in multiple languages, e.g., C, C++, Fortran —Would like to make these accessible on the Grid Should be accessible from any language —Need to integrate standard Grid security mechanisms for authentication —Need a standard framework for doing authorization —Would like to avoid custom “one off” solutions for each code

NeSC Grid Apps Workshop The Solution Provide a framework that legacy applications can easily be plugged into —Must be easy to add applications written in many languages Use the Python language as the “glue” The framework should support: —Authentication using standard Grid mechanisms —Flexible authorization mechanisms —Lifecycle management Including persistent state Develop one container, and reuse it for many legacy applications Use Web Services protocols to provide language neutral invocation and control —Use standard high-performance Grid protocols, e.g., GridFTP, for data transfer

NeSC Grid Apps Workshop Solution (cont.)

NeSC Grid Apps Workshop Why Python? Easy to learn/read high-level scripting language —Very little syntax A large collection of modules to support common operations, e.g., networking, http, smtp, ldap, XML, Web Services, etc. Excellent for “gluing” together existing codes —Many automated tools for interfacing with C/C++/Fortran Support for platform independent GUI components Runs on all popular OS’s, e.g., UNIX, Win32, MacOS, etc. Support for Grid programming with pyGlobus, PyNWS, etc.

NeSC Grid Apps Workshop Tools for Interface Generation SWIG (Simple Wrapper Interface Generator) —Generates interfaces from C/C++ Supports the full C++ type system —Can be used to generate interfaces for Python, Perl, Tcl, Ruby, Guile, Java, etc. —Automatic Python “shadow class” generation — Boost.Python (Boost Python interface generator) —Generates interfaces from C++ — PyFort (Python Fortran connection tool) —Generates interfaces from Fortran — F2PY (Fortran to Python Interface Generator) —Generates interfaces from Fortran —

NeSC Grid Apps Workshop pyGlobus Overview The Python CoG Kit provides a mapping between Python and the Globus Toolkit™. It extends the use of Globus by enabling access to advanced Python features such as events and objects for Grid programming. Hides much of the complexity of Grid programming behind simple object-oriented interfaces. The Python CoG Kit is implemented as a series of Python extension modules that wrap the Globus C code. Provides a complete interface to GT2.0. Uses SWIG ( to help generate the interfaces.

NeSC Grid Apps Workshop pyGlobus and Web Services Provides a SOAP toolkit that supports SOAP/HTTP/GSI —Allows standard GSI delegation to web services —Interoperates with the GSI enabled Java SOAP XSOAP from Indiana Axis SOAP from ANL —Currently based on SOAP.py, but switching to ZSI ZSI supports document-oriented SOAP ZSI supports much more flexible encoding of complex types

NeSC Grid Apps Workshop GSISOAP Client Example from pyGlobus import GSISOAP, ioc proxy = GSISOAP.SOAPProxy(“ :8081”, namespace=“urn:gtg-Echo”) proxy.channel_mode = ioc.GLOBUS_IO_SECURE_CHANNEL_MODE proxy.delegation_mode = ioc.GLOBUS_IO_SECURE_DELEGATION_MODE_NO NE print proxy.echo(“spam, spam, spam, eggs, and spam”)

NeSC Grid Apps Workshop GSISOAP Server Example from pyGlobus import GSISOAP, ioc def echo(s, _SOAPContext): cred = _SOAPContext.delegated_cred # Do something useful with cred here return s server = GSISOAP.SOAPServer(host.lbl.gov, 8081) server.channel_mode = ioc.GLOBUS_IO_SECURE_CHANNEL_MODE_GSI_WRAP server.delegation_mode = ioc.GLOBUS_IO_SECURE_DELEGATION_MODE_FULL_PROXY server.registerFunction(SOAP.MethodSig(echo, keywords=0, context=1), “urn:gtg-Echo”) server.serve_forever()

NeSC Grid Apps Workshop OGSI Plans for pyGlobus Develop a full OGSI implementation in Python —Planned alpha release of an OGSI client by the end of August —OGSI hosting environment based on WebWare ( Dynamic web service invocation framework —Similar to WSIF (Web Services Invocation Framework) from IBM for Java —Download and parse WSDL document, create request on the fly —Support for multiple protocol bindings to WSDL portTypes

NeSC Grid Apps Workshop Steps to Expose a Legacy App Wrap the legacy application to create a series of Python classes or functions —Use one of the automated tools to help with this Use pyGlobus to add any needed Grid support —GridFTP client to move data files —IO module for GSI authenticated network communication Extend the GridServiceFactory class to implement any custom instantiation behavior Add the Python shadow class to the container —XML descriptor file used to control properties of the class, e.g., security, lifecycle, etc.

NeSC Grid Apps Workshop Contacts / Acknowledgements This work was supported by the Mathematical, Information, and Computational Science Division subprogram of the Office of Advanced Scientific Computing Research, U.S. Department of Energy, under Contract DE-AC03-76SF00098 with the University of California.