Tracy, all,
(I've cc-d the Science IWG, as I think this is becoming an
interesting cross-project discussion, I hope this is OK... )
First of all it's great that you're presenting the Java/Python
work at eclipsecon.
I wish I could have participated as well, I'll try to be free for
the November conference.
The work done for DAWN is impressive, integrating Python scripting
in many aspects of the RCP workbench.
And this may indeed be of value also for ICE and other integrated
scientific workbenches.
(Jython doesn't seem to be sufficient in all cases. I learned from
Matt and Olof that there's a need for an integration of "real"
Python to ensure that all popular Python libraries can be used,
hence the work on AnalysisRPC.)
Triquetrum hasn't got the same ambition, i.e. it's not the goal to
become a complete analysis workbench.
The focus is on workflows, and I would imagine/hope that our
plugins could then be integrated in larger applications, similarly
to the approach with Passerelle and DAWN.
So I would think that we would mainly target the "AnalysisRPC"
approach, i.e. the Python-related requirements from Triquetrum
would focus on (if I understood the scope correctly of
AnalysisRPC):
- being able to launch a Python runtime in a separate process
- load system scripts in there to set-up an "rpc server"
- load user scripts
- flattening/marshalling of Java data structures and sending them
over to the Python side
- execute the user script
- return result data
- unmarshall/unflatten it to Java structures again
Some more advanced topics that we didn't tackle yet in "Passerelle
with AnalysisRPC", would be :
- efficient handling of large concurrent loads : I would imagine
that it's not optimal to start new python processes for each
script execution.
Is there a way to reuse/share a pool of processes, or execute
scripts concurrently in a single multi-threaded Python "server"?
(cfr evolution for web servers for CGI/FASTCGI/apache mods/...)
- debugging : if there would be a way to have integrated python
debugging on scripts running on the remote python instance, that
would be a tremendous feature (cfr remote Java debugging)
Of course, any inspiration is welcome for extra features that
would be useful in the context of
defining/running/debugging/monitoring workflows!
erwin.
Jay Jay Billings schreef op 22/06/2015 om 23:25:
Tracy,
I would really love to talk to you about this. We are
just now building out our scripting stuff and I'm happy to share
our requirements.
We are targeting Eclipse EASE and Jython at the
moment.
Jay
On Jun 22, 2015 4:43 PM, "Jonah Graham"
< jonah@xxxxxxxxxxxxxxxx>
wrote:
At the conference we will also be talking to other
members of the Science Working Group who have
expressed interest in the technology so we can capture
requirements, scope the project appropriately and
determine whether/how it can be resourced. Also, the
project is part of DAWN today, but we would like to
consider where it would be best to live (for example,
Pydev or also alongside some of the newer Eclipse
scripting projects).
So I will be in a better position to give you an
indication after the conference. It will be good to have
your input into the requirements capture as well.
Regards,
Tracy
|