Overview
Requirements
Installation
On windows
On Unix
License
That's precisely where ipy may help :
| It is a generator: it will create the Python implementation skeletons from the IDL source, defining classes, methods (preserving comments), creating optionally a main and a test client with invocation arguments, and even a help message! It may also generate the OmniORB stubs on demand. Generation uses a customizable set of templates defined in a Python module. | |
| it is a framework: the default templates used for generating the implementation skeleton relies on a framework of Python classes called scf (Simple Corba Framework) that provides simple implementations for basic functionnalities required by a typical Corba server (log, name service, administration...), so you can dispose of a functional server in a minimum of time. However, you can if you prefer use a different set of templates that don't rely on scf. |
|
| OS: portable (tested on Windows 98, NT, 2000, Solaris; should work on other platforms where OmniORB is available) |
|
| Python 1.5.2, 2.0 or newer (http://www.python.org). On windows a good distribution of Python 2 (ActivePython) is available at http://www.ActiveState.com/ASPN/Downloads/ActivePython/. |
|
| omniORB 3.0 + omniORBpy 1.0 installed and accessible (ie in the PATH). OmniORB is a free, robust and performant implementation of CORBA 2, with mappings for C++ and Python (omniORBpy). The support by the authors is really great. For Windows a binary bundled distribution of OmniORB + OmniORBpy is available at http://www.uk.research.att.com/omniORB/omniORBpy/index.html . |
|
| Download http://rgruet.free.fr/ipy12.zip and uncompress it (preserving file structure) to the place where you want the ipy directory to be created (e.g. D:\). It will create a directory named 'ipy<version#>' (e.g: D:\ipy12). |
|
| Set your environment: |
|
| set IPY=<path of install> (e.g. D:\ipy12) |
|
| set PATH=%IPY%;%PATH% |
|
| set PYTHONPATH=%IPY%;%PYTHONPATH% or in the windows registry, create a key HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\<version>\PythonPath\IPY<version> with a string default value of: %IPY% (expanded) or (my favorite method) create a file ipy.pth in the Python home directory, containing (at least) a line "<IPY install path> ". |
|
| It is optional but recommended to define a variable to point at a directory (typically a shared one) where to exchange IORs between servers and clients: |
| Download http://rgruet.free.fr/ipy12.tgz and uncompress it (preserving file structure) to the place where you want the ipy directory to be created (e.g. /usr/local). It will create a directory named 'ipy<version#>' (e.g: /usr/local/ipy12). | |
| Set your environment: |
|
| set IPY=<path of install> (e.g. /usr/local/ipy) |
|
| set PATH=$IPY%:$PATH |
|
| set PYTHONPATH=$IPY:$PYTHONPATH or (my favorite method) create a file ipy.pth in the Python home directory, containing (at least) a line "<IPY install path> ". |
|
| It is optional but recommended to define a variable to point at a directory where to exchange IORs between servers and clients: |
| OmniORBpy 1.4 bug:
You will get the following message when exiting from ipy with OmniORBpy 1.3 or 1.4 : Exception exceptions.TypeError: 'call of non-function (type None)' inThis is a harmless but anoying known error, for which Duncan Grisby has provided a patch (see <IPY>/fix001.txt). You can apply it on your OmniORBpy distribution to fix the problem. |
Permission to use, copy, modify, and distribute this software
and its documentation for any purpose
and without fee or royalty is hereby granted, provided
that the above copyright notice appear in all
copies and that both that copyright notice and this
permission notice appear in supporting documentation
or portions thereof, including modifications, that you
make.
THE AUTHOR RICHARD GRUET DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS, IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, INDIRECT OR
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE !
![]()