| 
  
  
     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
            
          
         
       
     
     
  
 |