It has been suggested on the Python list that one way to get Java and Python to talk to each other is to use PyRO (see http://pyro.sf.net) , which is a native Python-specific RPC mechanism, to communicated between a CPython process (running, say, Zope or using ZODB) and a Jython session, which in turn has intra-process access to Java modules and libraries.
Although that would probably work, I suspect that using Corba would be better. There is pure-Python Corba interface available, called fnorb (see http://www.fnorb.org) which would avoid any need for platform-specific extension modules. fnorb was originally written by the Australia DSTC (Distributed Systems Technology Centre), an academic-industry co-operative research centre. It used to be available only under a commercial or research-only license, but now it is fully open source.
A (very) small proof-of-concept project illustrating the use of Corba to communicate between a Java app, say some aspect of OpenEMed, and a Python app, would be great. I would be interested in participating, but it would need a Corba expert to lead it (hint, hint). We aim (eventually) to create a PIDS (patient identification service) as part of our probabilistic record linkage research project, Febrl (see http://datamining.anu.edu.au/projects/linkage.html), and we are thus very interested in exploring the use of Corba with Python. I suspect that other Python-based projects, such as TORCH and GNUmed would also be interested (although support for a range of interfaces is needed by most projects these days, including XML-RPC, SOAP and WSDL and of course HL7 - none of these are as good as Corba, but all of them are more widely used, so they can't be ignored).
It should be quite trivial to connect up a python CORBA client to a PIDS server.
We have sample serves running all the time, if people want to try. Just let me
know so we can try this out sometime. Doing so with security is probably
a somewhat bigger challenge. Remember PIDS handles HL7 data. It would
be possible to so with SOAP, but the standard interface for doing so is not (yet)
defined.
Dave
--
Tim C
PGP/GnuPG Key 1024D/EAF993D0 available from keyservers everywhere or at http://members.optushome.com.au/tchur/pubkey.asc Key fingerprint = 8C22 BF76 33BA B3B5 1D5B EB37 7891 46A9 EAF9 93D0
