After more than two years of work, OGF finally posted our IDL spec as proposed recommendation GFD.130.
The official availability of this document has some non-obvious implications, due to earlier decisions in the working group. All future language binding documents should from now on be derived from this specification, especially if they describe the DRMAA API for an object-oriented language such as Java and Python.
This reduces the degree of freedom for the language binding authors, which is (in our understanding) good. Instead of modeling something which looks “DRMAAish” after the C-centric GFD.022 document, people now take the IDL definitions and get an immediate idea of what to model as class, interface, attribute or method. It enforces some consistency over language borders, even though we left (hopefully) enough decision space to consider language-specific styles. I remember some heavy discussion about “Pythonic” interfaces and if the IDL spec ever would allow to derive them. We will see.
I want to emphasize that I appreciate the great work done by people such as Tim Harsch (DRMAA for Perl) or Enrico Sirola (DRMAA for Python). We mainly wanted to give them a better input than GFD.022, which was never intended to map to object-oriented languages. The Java binding meanwhile simply took over the descriptions from the IDL spec, instead of re-inventing the wheel everywhere. So for Dan and me, the concept seems to work.
The next step is to quickly push out IDL-based “official” binding documents for all the OO languages people are interested in. This is now an easy step, since you mainly need to map the DRMAA IDL interface to a DRMAA-[Python|Ruby|Perl|Occam|Haskel|C#|whatever] interface. Thats it.
I will try to take care of Python and C#, with the main problem of not throwing away the already existing preliminary implementations. Dan has his hands on Java. Any other volunteers ?