Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [recommenders-dev] Snipmatch GSOC was: How to start with Recommender's source code

Hi all,

sorry for the late response to that, and maybe it's superfluous now, but
I thought I post it anyway.

Am 20.02.2012 06:57, schrieb Marcel Bruch:
> regarding server-side backend: We use Apache CouchDB as database and
> JAX-RS as RESTful server-interface for client communication. However,
> I just wonder whether using GIT repositories as backend would be
> sufficient or even better than CouchDB in our case. It can be synced
> easily between clients and server, support for many potential sources
> is straight-forward, and with JGit and EGit we have quite usable
> front-ends and APIs to work with. I'd just add the Lucene search
> index on top of the file system resources. Best of it (for the
> moment): we can start immediately w/o waiting too long for the
> server-side.
> 
> What do you think? Since it's merely a file-based approach with slim
> syncing capabilities we don't spent too much time on it if it proves
> not usable. But at least Github has proven that using GIT as snippet
> repositories works (at least they say GISTs are single git
> repositories).
> 
> [...]
> Regarding search-engine: I'll be glad to write the search interface.
> We just need to agree on a snippet storage format. (my favorite for
> the moment is plain text with some mark-up)
> 
> [...]
Have you ever thought about using EMF as your model format? I played
with it a few months ago, especially for distributed models using CDO
and I was quite impressed. It's actually very easy to have distributed
models, as well as local ones. You would have a framework ready for
comparison as well as querying it (SQL like syntax). It also provides a
complete observer interface, which should make it quite easy to hook it
to a lucene index.

For the server side backend, there is EclipseLink which allows you to
store the model in any database, and there is mongo-emf to store it in a
no-sql backend as well...

You would also not have to fiddle with parsing / writing your snippets
to / from JSON. EMF provides a whole bunch of serializing backends like
XMI, XML, (as a Google search pointed out, there is a JSON backend,
though I never tried it myself; https://github.com/ghillairet/emfjson)

What I didn't try yet is how to expose a restful API out of that, the
question is: Is that needed? As long as all the clients can use EMF with
CDO that wouldn't be necessary.

Though GIT for the local / inhouse snippets is a viable option, you
would have to write the syncing / serving of that repos yourself,
whereas it's already usable with EMF.

Just my 2ยข

Greetings
-Sascha-


Back to the top