On 02/12/2011, at 10:36 PM, Jim Webber wrote:

> I don't believe that we are talking about business logic on the server - 
> we're talking about data access logic (queries). Business logic binds to that 
> data over the network - that the data is sourced through a plugin is an 
> implementation detail.

Well, this scenario (Reserving a seat) includes a lot of business logic, for 
example.
User enters the details of the reservation and clicks "Place reservation". Then 
the system has to:
Find available seat.
Validate user details agains that seat (it may include a lot of logic in 
itself).
Place reservation and mark the seat as unavailable.

No double reservations allowed.
Now, how can you do it with REST API in a transaction if you keep the logic on 
the client?

The only way to do this, is to move the whole logic over to the server. And 
this leads to the points from my previous post.

We just have to accept that some scenarios can't be handled over REST with 
*reasonable* effort.
In theory, you can write the whole app on the server (it would be embedded). 
But this defeats the purpose.

This is about trade-off: need transactions - use embedded DB, need multiple 
clients for the DB - use REST.

If you need both, reevaluate. If still you do. Then either pay for Enterprise 
or implement your own locking system.

Cheers.
_______________________________________________
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to