Oct-14-2016, 01:42 AM
As I know Swig mainly for c/c++ call other languages. It is too complicated and high threshold. It needs generate the wrapper interface before you can using it, too many additional work to do.
For jpserver, we can enhance the local server to make it more robust, auto recovery when fail. Till now, I haven't found it failed in my project.
I think the biggest benefit is clean and simple. The Python code can be developed by Python developer and deploy to Python environment, then JAVA developer just call it by name to get the result. Another benefit is the Python server can run in different server, JAVA can call it just like RMI.
I didn't test FIFO, but it should do in theory. JAVA just send the script to a standalone Python and execute it, then return the result to JAVA through socket connection. So it can execute anything that original Python can do.
For jpserver, we can enhance the local server to make it more robust, auto recovery when fail. Till now, I haven't found it failed in my project.
I think the biggest benefit is clean and simple. The Python code can be developed by Python developer and deploy to Python environment, then JAVA developer just call it by name to get the result. Another benefit is the Python server can run in different server, JAVA can call it just like RMI.
I didn't test FIFO, but it should do in theory. JAVA just send the script to a standalone Python and execute it, then return the result to JAVA through socket connection. So it can execute anything that original Python can do.