<previous | top | next> Pyro Manual

1. Introduction

For a short overview of what Pyro is, see the Pyro page online (http://www.bigfoot.com/~irmen/pyro.html). You can also download the package from there.

Copyright
This software is copyright © by Irmen de Jong. It is subject to change without notice. It is completely without warranty, and provided "as is". Use it at your own risk. In no event shall Irmen de Jong be liable for any damage resulting from errors in or improper use of it. Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the copyright notice appears in all copies and that both the copyright notice and the permission appears in supporting documentation.

To get an idea of how Pyro works, here is a scenario:

  1. You write a module 'test' containing a class 'testclass', which will be accessed remotely.
  2. Using the PyroC proxy compiler, you can generate client proxy code for your 'test' module if you wish.
  3. The server creates one or more instances of the 'testclass', and registers them with the Pyro Naming Service.
  4. The client queries the Naming Service for the location of those objects. It gets a Pyro URI (Universal Resource Identifier) for them.
  5. The client creates proxies for the remote objects by creating a proxy for the given URI.
  6. As the proxy appears just like the real 'testclass', the client can now invoke methods on the remote objects. The proxy will forward the method invocations and return the results, just as if it was the remote object itself. Not a single line of network communication code is written.
This looks like a big oversimplification, but actually, using Pyro is not much more complex than this!

Related technology: