[hibernate-dev] [OGM] Bolt vs Rest for Neo4j

Sanne Grinovero sanne at hibernate.org
Fri Aug 26 08:48:46 EDT 2016


On 26 August 2016 at 12:35, Emmanuel Bernard <emmanuel at hibernate.org> wrote:
> On Fri 2016-08-26 11:32, Gunnar Morling wrote:
>> > How much additional work would it be to keep the "old" rest in a legacy
>> module separated from the pure one?
>> > Does it even make sense?
>>
>> As a user, when would I prefer which one over the other? If Bolt is the
>> general recommendation, I'd limit efforts on this one. It seems to be one
>> of those knobs I'd prevent the user from having to set if possible.
>
> The one I can think of is not being able to open custom ports

In similar situations, I sometimes exposed other services over port 80 ..
/me ducks and runs..

>
>>
>> > Can you write a blog post with a small poll to know if anyone complains
>> > about dropping REST
>>
>> +1. Would be nice to get some feedback.
>>
>>
>>
>> 2016-08-26 10:10 GMT+02:00 Emmanuel Bernard <emmanuel at hibernate.org>:
>>
>> > Can you write a blog post with a small poll to know if anyone complains
>> > about dropping REST. Let's have it on for a week and make a decision. If
>> > nothing conclusive comes out, let's drop it.
>> >
>> > On Fri 2016-08-26  8:27, Davide D'Alto wrote:
>> > > > Thinking out loud. How much additional work would it be to keep the
>> > "old" rest in a legacy module
>> > >
>> > > It would still require to be maintained, I would prefer not to have it
>> > > unless there is a specific use case for it
>> > >
>> > > >. Does Bolt run atop HTTP as I remember it
>> > >
>> > > I don't think so, it's a binary protocol that connects to a port using
>> > sockets.
>> > >
>> > > > PS: it's a bit sad that we implement something (rest remote) and it's
>> > ready and by lack of release it is replaced and remove it without seeing
>> > the light of day. Release often.
>> > >
>> > > That's actually a bad call from my side, I wanted to release with the
>> > > new ORM and it took longer than expected to merge the PR.
>> > >
>> > > Davide
>> > >
>> > > On Fri, Aug 26, 2016 at 7:53 AM, Emmanuel Bernard
>> > > <emmanuel at hibernate.org> wrote:
>> > > > Thinking out loud. How much additional work would it be to keep the
>> > "old" rest in a legacy module separated from the pure one?
>> > > > Does it even make sense?
>> > > >
>> > > > I'm fine with the removal and focus on bolt on a general basis. Does
>> > Bolt run atop HTTP as I remember it ? Or is that specific ? If the later
>> > some might want to keep using rest.
>> > > >
>> > > > Emmanuel
>> > > >
>> > > > PS: it's a bit sad that we implement something (rest remote) and it's
>> > ready and by lack of release it is replaced and remove it without seeing
>> > the light of day. Release often.
>> > > >
>> > > >> On 22 août 2016, at 22:25, Guillaume Smet <guillaume.smet at gmail.com>
>> > wrote:
>> > > >>
>> > > >> Hi Davide,
>> > > >>
>> > > >> I wanted to add 2 things:
>> > > >> - Neo4j remote with Rest has not been released yet;
>> > > >> - if we remove the Rest protocol, remote Neo4j will only be supported
>> > with
>> > > >> Neo4j >= 3
>> > > >>
>> > > >> Personally I'm +1 to only support remote Neo4j with Bolt. Maintaining
>> > one
>> > > >> more dialect/protocol just to provide remote for Neo4j < 3 does not
>> > sound
>> > > >> like a good tradeoff to me.
>> > > >>
>> > > >> --
>> > > >> Guillaume
>> > > >>
>> > > >>> On Mon, Aug 22, 2016 at 8:11 PM, Davide D'Alto <davide at hibernate.org>
>> > wrote:
>> > > >>>
>> > > >>> Hello,
>> > > >>> at the moment in OGM we connect remotely using the Rest API.
>> > > >>> The reason is that when I created the dialect the new Bolt[1]
>> > protocol
>> > > >>> wasn't available.
>> > > >>>
>> > > >>> I've now finished implementing the dialect so that it uses the Bolt
>> > > >>> protocol, there is a lot of duplication since it is very similar to
>> > > >>> the approach I used for Rest.
>> > > >>>
>> > > >>> I worked for a while trying to improve the code but I started to
>> > > >>> wonder if it might be really helpful to provide two ways to connect
>> > > >>> remotely with an increase in complexity of the code (more interfaces
>> > > >>> mainly with some additional classes).
>> > > >>>
>> > > >>> I'm now of the idea that we could remove the dialect thata uses Rest
>> > > >>> and only keep the one that uses Bolt (as suggested by Giulliame in an
>> > > >>> old chat on hipchat).
>> > > >>>
>> > > >>> This will simplify the code and we can always add it back if the need
>> > > >>> arise or somebody asks.
>> > > >>> Note that the Bolt protocol is the suggested one to use for Neo4j
>> > > >>> since it promises better performance.
>> > > >>> It will also allow us to remove some dependencies required for the
>> > rest
>> > > >>> client.
>> > > >>>
>> > > >>> Please, let me know if you think there is value in keeping  both
>> > > >>> approaches, otherwise I'm going to send a PR that removes the remote
>> > > >>> one.
>> > > >>>
>> > > >>> Thanks,
>> > > >>> Davide
>> > > >>>
>> > > >>> [1]  https://dzone.com/articles/introducing-bolt-neo4js-
>> > > >>> upcoming-binary-protocol-p
>> > > >>> _______________________________________________
>> > > >>> hibernate-dev mailing list
>> > > >>> hibernate-dev at lists.jboss.org
>> > > >>> https://lists.jboss.org/mailman/listinfo/hibernate-dev
>> > > >> _______________________________________________
>> > > >> hibernate-dev mailing list
>> > > >> hibernate-dev at lists.jboss.org
>> > > >> https://lists.jboss.org/mailman/listinfo/hibernate-dev
>> > > >
>> > > >
>> > > > _______________________________________________
>> > > > hibernate-dev mailing list
>> > > > hibernate-dev at lists.jboss.org
>> > > > https://lists.jboss.org/mailman/listinfo/hibernate-dev
>> > _______________________________________________
>> > hibernate-dev mailing list
>> > hibernate-dev at lists.jboss.org
>> > https://lists.jboss.org/mailman/listinfo/hibernate-dev
>> >
> _______________________________________________
> hibernate-dev mailing list
> hibernate-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hibernate-dev



More information about the hibernate-dev mailing list