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

Reply via email to