[SAGA-RG] Java Language Bindings

Andre Merzky andre at merzky.net
Mon Feb 19 16:54:17 CST 2007


Hi Folx, 

we had a number of discussions on how to jumpstart the Java
language bindings.  Let me recap the status of the Java
implementation efforts:

  - Graeme Pound at OMII-UK started on a (complete) Java
    implementation, but left OMII>  The effort is resting,
    the last version of his work is available at
    http://argos.e-science.soton.ac.uk/blogs/GeodiseSAGA/

  - OMII-UK is funding a (somplete) Java implementation at
    LSU/VU, which will tentatively (!) start around April

  - Malcolm Illingworth and colleques at EPCC and the DEISA
    project have a Java implementation covering Jobs and
    Files, which is in use (probably the most progressed
    implementation to date).
    http://www.ogf.org/OGF19/materials/501/SAGA-DEISA.ppt

  - Pascal Kleijer from Naregi Japan started another partial
    implementation, focusing on Jobs, which has some Naregi
    specifica
    http://www.ogf.org/OGF19/materials/501/SAGA-Java-NAREGI.ppt

  - Lately, Gregor Pipan from XLab started, in the frame of
    the XtreemOS project, to implement the SAGA Job package.

Now, the Java bindings in all these implementations are
diverging, and we urgently need to synchronize them.

Also, If I understand that correctly, all bindings are by
now incomplete (mostly by design, focusing on jobs and
files), and none is implementing the task model.  Also,
other parts of the SAGA look and feel (session, monitoring
etc) seem mostly missing.

As far as I understood the Java speach from earlier
discussions, it should be possible to define the Java
bindings as a set of Java interfaces and Java abstract
classes, which can potentially be used by all
implementations.

I would propose to procede as follows:

  - I created a CVS directory for the language bindings
    (SAGA-RG/SAGA-Bindings)

  - I added a version of the OMII-UK package from Greame, as
    zip.  (Could someone with Java knowledge please extract
    those files which are of real interest, and add just
    those?)

  - all other implementations listed above should also add
    their bindings, in whatever format available.

  -> That should allow us to compare the existing approaches.

  - Next we should add a normative version, either starting
    from the version most people like, or starting from
    scratch.

It would be nice if someone (or better more than one
actually) would volonteer to lead that project - preferably
someone knowledgeable and interested in Java ;-)

CVS details are to be found at:
http://wiki.cct.lsu.edu/saga/space/CVS+Details

If you don't have a CVS login, or don't receive CVS
notification emails, please let me know.


One final note: one thing we learned while implementing SAGA
in C++ is that, although the API is simple, its
implementation often is not.  That is by design!  It is
tough, but please try to keep the API (as in language
binding) simple, even if that means that the implementation
is getting more difficult.... :-)  Also, please think of
Java newbies as end users, not of Java experts: the target
user group are scientists, not computer scientists :-)


Cheers, Andre.


PS.: Steven: Grames blog has links to his bindings, but the
links are dead.  I only have an old version of his.  Are you
able to dig out his latest package (0.4.1)?

-- 
"So much time, so little to do..."  -- Garfield



More information about the saga-rg mailing list