A fork of https://github.com/Synerty/SOAPpy-py3 This is a working tree till fixes get imported upstream.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

98 lines
3.9 KiB

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