That sounds like a good approach. Let's get the streaming protocol working, and then support a variety of "transports".
-----Original Message----- From: user-boun...@lists.neo4j.org [mailto:user-boun...@lists.neo4j.org] On Behalf Of Thomas Fritz Sent: Monday, August 29, 2011 11:02 AM To: Neo4j user discussions Subject: Re: [Neo4j] Websocket Server instead of REST for Neo4J for access a DB Of course. I am completly with you. Just wanted to say that websocket is not only usable from browsers. But i also think that first there has to be a binary protocol and then build a websocket protocol on top of it. --- Thomas FRITZ web http://fritzthomas.com twitter http://twitter.com/thomasf 2011/8/29 Jacob Hansson <jacob.hans...@neotechnology.com>: > On Mon, Aug 29, 2011 at 4:35 PM, Thomas Fritz <fritz...@gmail.com> wrote: > >> Hi! >> >> Keep in mind. Websocket is not only for the browser! >> Java: http://code.google.com/p/weberknecht/ >> Python: http://pypi.python.org/pypi/websocket-client/0.4 >> .net: https://github.com/sta/websocket-sharp >> and JavaScript / Node: socket.io for instance >> > > Absolutely, my point is that there are many other higher level transport > protocols that would be a better fit for out-of-browser environments. The > only benefit, that I can see, to using websockets is easy use from the > browser (I may be wrong though, I'm not super-familiar with websocket > details). Since the vast majority of use case environments are outside of > the browser, it feels important to choose a transport protocol that > considers those as first class citizens. > > Don't get me wrong, I'm a huge proponent for top-notch web support as well. > That's what I meant by saying we might be able to design a binary protocol > that is flexible enough to fit through many different transport protocols. > > /Jake > > >> --- >> Thomas FRITZ >> web http://fritzthomas.com >> twitter http://twitter.com/thomasf >> >> >> >> 2011/8/29 Jacob Hansson <jacob.hans...@neotechnology.com>: >> > In my mind websockets is not necessarily something we want to focus on >> > initially for a binary protocol. It would only benefit in-browser >> javascript >> > access to the server, while setting back every other programming >> language, >> > forcing them to add extra layers there to conform to the websocket >> protocol. >> > >> > It would be interesting to take this into consideration when designing >> the >> > binary protocol, however. Perhaps we can put something together that >> would >> > be able to use websockets as a transport protocol at a later point in >> time. >> > It would be cool to, once a certain level of authorization/authentication >> > logic has been implemented, build high performance in-browser clients >> that >> > talk directly to the server.. >> > >> > /Jake >> > >> > On Mon, Aug 29, 2011 at 12:06 PM, Peter Neubauer < >> > peter.neuba...@neotechnology.com> wrote: >> > >> >> Thomas, >> >> a websocket interface would be a great addition! We haven't come around >> to >> >> do a proper binary protocol to Neo4j yet (pushed to Neo4j 1.6), but as >> Rick >> >> mentions, a websocket interface would also mean to have streaming >> semantics >> >> on the client. >> >> >> >> If you wanna prototype one with some trivial serialization that can be >> >> changed later, that would rock! >> >> >> >> Cheers, >> >> >> >> /peter neubauer >> >> >> >> GTalk: neubauer.peter >> >> Skype peter.neubauer >> >> Phone +46 704 106975 >> >> LinkedIn http://www.linkedin.com/in/neubauer >> >> Twitter http://twitter.com/peterneubauer >> >> >> >> http://www.neo4j.org - Your high performance graph >> database. >> >> http://startupbootcamp.org/ - Öresund - Innovation happens HERE. >> >> http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party. >> >> >> >> >> >> On Mon, Aug 29, 2011 at 12:01 PM, Thomas Fritz <fritz...@gmail.com> >> wrote: >> >> >> >> > Hi! >> >> > >> >> > I hope you had some good bear friday! ;) >> >> > >> >> > Do you think a (web)socket interface to neo4j could be done and >> >> > integrated into the core? I do not like the idea of using a high >> >> > performance graph database with fast indices (like neo4j is) and than >> >> > the only interface to it is a HTTP RESTful API to it. Or are my >> >> > assumptions and fears wrong? >> >> > >> >> > kind regards >> >> > >> >> > >> >> > >> >> > --- >> >> > Thomas FRITZ >> >> > web http://fritzthomas.com >> >> > twitter http://twitter.com/thomasf >> >> > >> >> > >> >> > >> >> > 2011/8/26 Rick Bullotta <rick.bullo...@thingworx.com>: >> >> > > We're doing some similar things using XMPP pub-sub and BOSH... >> >> > > >> >> > > -----Original Message----- >> >> > > From: user-boun...@lists.neo4j.org [mailto: >> >> user-boun...@lists.neo4j.org] >> >> > On Behalf Of Thomas Fritz >> >> > > Sent: Friday, August 26, 2011 10:49 AM >> >> > > To: Neo4j user discussions >> >> > > Subject: Re: [Neo4j] Websocket Server instead of REST for Neo4J for >> >> > access a DB >> >> > > >> >> > > If you like partial results take a look at this paper: >> >> > > http://research.microsoft.com/apps/pubs/default.aspx?id=131524 and >> >> > > this cast: http://channel9.msdn.com/Events/MIX/MIX11/RES04 >> >> > > >> >> > > It uses rabin fingerprinting to detect changed chunks and only >> >> > > transfers these changed chunks (like rsync does). In this case the >> >> > > connecting side - the client - would also need some logic baked in >> >> > > because the client, after connecting to the server, has to sent the >> >> > > hashes of already retrieved chunks. So the server side can compute >> and >> >> > > sent just those chunks which has updated. Maybe it makes sense for >> >> > > some really big datasets. >> >> > > >> >> > > Kind regards and cheers from Vienna >> >> > > >> >> > > >> >> > > >> >> > > >> >> > > --- >> >> > > Thomas FRITZ >> >> > > web http://fritzthomas.com >> >> > > twitter http://twitter.com/thomasf >> >> > > >> >> > > >> >> > > >> >> > > 2011/8/26 Peter Neubauer <peter.neuba...@neotechnology.com>: >> >> > >> I like that! >> >> > >> >> >> > >> Now some beer. Free. Friday. >> >> > >> >> >> > >> Cheers, >> >> > >> >> >> > >> /peter neubauer >> >> > >> >> >> > >> GTalk: neubauer.peter >> >> > >> Skype peter.neubauer >> >> > >> Phone +46 704 106975 >> >> > >> LinkedIn http://www.linkedin.com/in/neubauer >> >> > >> Twitter http://twitter.com/peterneubauer >> >> > >> >> >> > >> http://www.neo4j.org - Your high performance graph >> >> > database. >> >> > >> http://startupbootcamp.org/ - Öresund - Innovation happens >> HERE. >> >> > >> http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing >> >> party. >> >> > >> >> >> > >> >> >> > >> On Fri, Aug 26, 2011 at 4:22 PM, Rick Bullotta >> >> > >> <rick.bullo...@thingworx.com>wrote: >> >> > >> >> >> > >>> Let's hope that one day soon all of these issues will be >> >> "non-issues"! >> >> > >>> >> >> > >>> Having cool technology always "coming soon" reminds me of this >> sign: >> >> > >>> >> http://www.rareirishstuff.com/media/13/a20792b12af7736b49978d_m.JPG >> >> > >>> >> >> > >>> -----Original Message----- >> >> > >>> From: user-boun...@lists.neo4j.org [mailto: >> >> > user-boun...@lists.neo4j.org] >> >> > >>> On Behalf Of Thomas Fritz >> >> > >>> Sent: Friday, August 26, 2011 10:17 AM >> >> > >>> To: Neo4j user discussions >> >> > >>> Subject: Re: [Neo4j] Websocket Server instead of REST for Neo4J >> for >> >> > access >> >> > >>> a DB >> >> > >>> >> >> > >>> Hi. >> >> > >>> >> >> > >>> Thanks for your fast reply. >> >> > >>> >> >> > >>> >> >> > >>> >> >> > >>> >> >> > >>> >> >> > >>> 2011/8/26 Rick Bullotta <rick.bullo...@thingworx.com>: >> >> > >>> > A few potential challenges and reasons to wait on this: >> >> > >>> > >> >> > >>> > - the Websocket API is still in a state of change >> >> > >>> thats true. But i think, since the latest security issues are >> solved >> >> > >>> now with the latest protocol version, hopefully there are no >> breaking >> >> > >>> changes anymore >> >> > >>> >> >> > >>> > - the existing REST API is synchronous request/response, so >> there's >> >> > not a >> >> > >>> lot of benefit to switching to websockets without a lot of rework >> >> > >>> I think thats a real challenge. Since locking and concurrent >> writes >> >> > >>> come into play - Except you would allow only one websocket >> connection >> >> > >>> >> >> > >>> > - The real benefit will be when you Javascript and other web >> >> clients >> >> > can >> >> > >>> use a pure binary protocol (not possible today) >> >> > >>> I pretty sure it is in the latest protocol definition. But i think >> no >> >> > >>> Browser at this time of writing has implemented the binary parts. >> >> > >>> >> >> > >>> regards >> >> > >>> >> >> > >>> Tom >> >> > >>> >> >> > >>> > >> >> > >>> > Rick >> >> > >>> > >> >> > >>> > -----Original Message----- >> >> > >>> > From: user-boun...@lists.neo4j.org [mailto: >> >> > user-boun...@lists.neo4j.org] >> >> > >>> On Behalf Of Thomas Fritz >> >> > >>> > Sent: Friday, August 26, 2011 9:52 AM >> >> > >>> > To: Neo4j user discussions >> >> > >>> > Subject: [Neo4j] Websocket Server instead of REST for Neo4J for >> >> > access a >> >> > >>> DB >> >> > >>> > >> >> > >>> > Hi all! >> >> > >>> > >> >> > >>> > Have anyone thought, or is it possible to implement a Websocket >> >> > >>> > Endpoint in Neo4J Server so one can use this instead of the >> RESTful >> >> > >>> > API. Which would be more performant and scalable than the >> RESTful >> >> > HTTP >> >> > >>> > API. It is possible to use such a Websocket through Java, Node >> and >> >> > any >> >> > >>> > other Server Side Language and even JavaScript on the client >> side. >> >> > >>> > >> >> > >>> > What do you think? >> >> > >>> > >> >> > >>> > Kind regards >> >> > >>> > >> >> > >>> > >> >> > >>> > >> >> > >>> > --- >> >> > >>> > Thomas FRITZ >> >> > >>> > web http://fritzthomas.com >> >> > >>> > twitter http://twitter.com/thomasf >> >> > >>> > _______________________________________________ >> >> > >>> > Neo4j mailing list >> >> > >>> > User@lists.neo4j.org >> >> > >>> > https://lists.neo4j.org/mailman/listinfo/user >> >> > >>> > _______________________________________________ >> >> > >>> > Neo4j mailing list >> >> > >>> > User@lists.neo4j.org >> >> > >>> > https://lists.neo4j.org/mailman/listinfo/user >> >> > >>> > >> >> > >>> _______________________________________________ >> >> > >>> Neo4j mailing list >> >> > >>> User@lists.neo4j.org >> >> > >>> https://lists.neo4j.org/mailman/listinfo/user >> >> > >>> _______________________________________________ >> >> > >>> Neo4j mailing list >> >> > >>> User@lists.neo4j.org >> >> > >>> https://lists.neo4j.org/mailman/listinfo/user >> >> > >>> >> >> > >> _______________________________________________ >> >> > >> Neo4j mailing list >> >> > >> User@lists.neo4j.org >> >> > >> https://lists.neo4j.org/mailman/listinfo/user >> >> > >> >> >> > > _______________________________________________ >> >> > > Neo4j mailing list >> >> > > User@lists.neo4j.org >> >> > > https://lists.neo4j.org/mailman/listinfo/user >> >> > > _______________________________________________ >> >> > > Neo4j mailing list >> >> > > User@lists.neo4j.org >> >> > > https://lists.neo4j.org/mailman/listinfo/user >> >> > > >> >> > _______________________________________________ >> >> > Neo4j mailing list >> >> > User@lists.neo4j.org >> >> > https://lists.neo4j.org/mailman/listinfo/user >> >> > >> >> _______________________________________________ >> >> Neo4j mailing list >> >> User@lists.neo4j.org >> >> https://lists.neo4j.org/mailman/listinfo/user >> >> >> > >> > >> > >> > -- >> > Jacob Hansson >> > Phone: +46 (0) 763503395 >> > Twitter: @jakewins >> > _______________________________________________ >> > Neo4j mailing list >> > User@lists.neo4j.org >> > https://lists.neo4j.org/mailman/listinfo/user >> > >> _______________________________________________ >> Neo4j mailing list >> User@lists.neo4j.org >> https://lists.neo4j.org/mailman/listinfo/user >> > > > > -- > Jacob Hansson > Phone: +46 (0) 763503395 > Twitter: @jakewins > _______________________________________________ > Neo4j mailing list > User@lists.neo4j.org > https://lists.neo4j.org/mailman/listinfo/user > _______________________________________________ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user _______________________________________________ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user