Re: If there were a pure Java libSBML ...
20 May '09 12:35
Let me throw out another idea about this.
Suppose (hypothetically speaking :-)) that we were to
introduce a web service for libSBML [+], and produce a pure
Java version that is *not* a *complete* reimplementation,
but instead called on the web service version for certain
complex operations such as model validation, unit analysis,
etc. My thinking is that this would address multiple
1) It would permit a pure java implementation
2) It would do it without incurring the implementation and
maintenance cost of reproducing the entire libsbml code
base. There would still be only one code base for some
of the really hairy bits that are also the most worrisome
from the standpoint of ensuring identical behavior.
3) It would also make the pure java deployable smaller in
size than a full libsbml java implementation would be.
1) Some of the libsbml functionality in the pure java
version would require a network connection to use.
We'd be careful to make them only things that have to be
deliberately called, not common operations.
2) It wouldn't solve the problem of having to implement
Level 3 packages twice. (You wouldn't want to implement
them only in the libsbml core and then make all of it
accessible over the web service; the point of the
approach being proposed here is that *most* of the
libsbml functionality would be in the pure java client.
I don't see that L3 packages would not be sufficiently
heavy to qualify.)
We would have to figure out which operations are most
worthwhile doing via the web, balancing the size of data
transfer involved versus the complexity of the code in
libsbml that would be saved from reimplementation. I also
have ideas for how to provide a high-availability facility
for the web service, so that people wouldn't all have to hit
a single server sitting under my desk at Caltech :-).
This seems like a workable compromise, no?
Can people try to think about the weaknesses and shot holes
into this scheme? Likewise, if there are some additional
clever hacks we could do, please mention them. If we're
going to write a grant proposal to get more developers to do
this, we'd better know about possible counter-arguments now.
[+] Frank Bergmann already provides a web service system
exposing much of the libSBML API. The web service proposed
here would admittedly replicate a significant chunk of that.
However, it would do it in different ways, so it would not
be an identical system.
To manage your libsbml-development list subscription, visit
For a web interface to the libsbml-development mailing list, visit
For questions or feedback about the libsbml-development list,