[SoC] Re: Request for views on the proposal on pgRouting project.

Wolf Bergenheim wolf+grass at bergenheim.net
Thu Mar 11 17:30:32 EST 2010


On Thu, Mar 11, 2010 at 23:24, Stephen Woodbridge
<woodbri at swoodbridge.com> wrote:
> I would like to hear from Daniel on his thoughts on this. My first thought
> is that pgRouting basically has two components:
>
> plpgsql code that wraps calls to the lower level C/C++ code that implements
> the guts of the graph building and analysis.
>
> It sounds like Jatin's proposal is to build a new project based on Java that
> implements graph analysis in PostgreSQL similar in nature to what pgRouting
> is doing today.

That or then a wrapper over pgRouting, so that Java apps get a native
Java API to pgRouting functionality. It might be that re-implementing
the algorithms in pure java and using JDBC to talk to postgreSQL might
be more efficient or at least easier to maintain. I don't think anyone
likes JNI... Or do they?

Wrapping has its benefits in that the algorithms won't have to be
re-implemented, and thus you won't have two pieces of code doing the
same, which can/will double all bugs... more or less. Wrapping on the
other hand might not be as clean or easy, but would prevent code
duplication. Otoh we also have JGRASS which more or less duplicates
GRASS in Java, so not necessarily a bad thing, it just means that what
ever project takes this on needs to be really friendly with pgRouting.
And that part I like (as you might have guessed). ;)

> I think this makes good sense for supporting the Java based
> projects that Alex mentioned. If this is the case, then I'm not sure how
> much help a pgRouting mentor will be, but I could be wrong on this. I'm also
> not sure that it makes sense to pre-condition Jatin's project with what may
> or may not be good design decision for C/C++ vs Java as I suspect the
> integration issues will vary greatly.

If the algorithms are going to be re-implemented in Java I think a
pgMentor would be invaluable. C/C++ and java are close enough that I
think someone who knows the algorithms could probably spot the
mistakes, or could at least help in explaining how the algorithms are
supposed to work. The Java-side mentor would then have a more
practical mentoring task of getting the student up to speed with the
code base etc. IMO both would be very important fo a successful SoC
project!

> Wolf - I think your help co-ordinating might be very helpful.

I'll do my best.

--Wolf


More information about the SoC mailing list