Globus Support ============== Extensions have been added to the SOAPpy module to allow the use of the Globus Toolkit v2 for secure transport of SOAP calls. These extensions are possible by using the Globus Toolkit (http://www.globus.org) and the pyGlobus software (http://www-itg.lbl.gov/gtg/projects/pyGlobus/), which exposes the Globus Toolkit via a set of Python interfaces. This enables bi-directional PKI authentication so that the server and client are both guaranteed of the identity of the other. Using PKI this way also allows a more robust authorization solution above the SOAP hosting layer, which provides better application level authorization control. These tools are used by the Access Grid Project (http://www.accessgrid.org) to build a Grid-based, Web Services based, real-time collaboration environment. In order to use the SOAPpy module with the Globus Toolkit, you must first obtain and install the Globus Toolkit and pyGlobus software. Information on how to do that is at the respective web sites listed below. In order to use the Globus Toolkit it is necessary to have an x509 identity certificate. Information on how to obtain one of those is available on the web as well. To use GSI with an authorization method, set the SOAPConfig.authMethod = "methodname". You must have this method defined on any objects you register with SOAPpy, and/or as a registered method. It should return 0 or 1 to indicate if authorization is allowed or not. Once the software is installed, you have obtained your certificate, and the SOAPpy module is installed, the following code shows how to run a GSI secured SOAP server (These snippets are directly from the echoServer.py and echoClient.py in the test directory). Server ------ def _authorize(self, *args, **kw): return 1 Config.authMethod = "_authorize" addr = ('localhost', 9900) from SOAPpy.GSIServer import GSISOAPServer server = GSISOAPServer(addr) server.registerFunction(_authorize) server.registerFunction(echo) Then you use the server like the SSL server or the standard server. Client ------ import pyGlobus # The httpg distinguishes this as a GSI TCP connection, so after # this you can use the SOAP proxy as you would any other SOAP Proxy. server = SOAPProxy("httpg://localhost:9900/") print server.echo("moo") Globus Toolkit http://www.globus.org ------------------------------------ The Globus Toolkit is an open source software toolkit used for building grids. It is being developed by the Globus Alliance and many others all over the world. A growing number of projects and companies are using the Globus Toolkit to unlock the potential of grids for their cause. PyGlobus http://www-itg.lbl.gov/gtg/projects/pyGlobus/ ------------------------------------------------------ The goal of this project is to allow the use of the entire Globus toolkit from Python, a high-level scripting language. SWIG is used to generate the necessary interface code. Currently a substantial subset of the 2.2.4 and 2.4 versions of the Globus toolkit has been wrapped. The Access Grid http://www.accessgrid.org/ ------------------------------------------ The Access GridT is an ensemble of resources including multimedia large-format displays, presentation and interactive environments, and interfaces to Grid middleware and to visualization environments. These resources are used to support group-to-group interactions across the Grid. For example, the Access Grid (AG) is used for large-scale distributed meetings, collaborative work sessions, seminars, lectures, tutorials, and training. The Access Grid thus differs from desktop-to-desktop tools that focus on individual communication. - Submitted 2004-01-08 by Ivan R. Judson $Id: GlobusSupport.txt,v 1.3 2005/02/21 20:09:32 warnes Exp $