Hi Marek,
On Sep 21, 2005, at 2:24 PM, Marek Wawrzyczny wrote:
> Hi Andrus,
>
> I have been reading the updates you sent to the lists, impressive
> work. When
> do you think would the 3T stuff be ready for production?
Good question. Don't want to make any commitments, but I am using it
on a project myself, so I have direct interest to finalize it ASAP.
Just recently I added relationships, prefetches, rollback and
primitives support. Things are evolving pretty quickly.
> Is there a document anywhere that lists the proposed vs existing
> functionality?
For now there is a Wiki page under 1.2 roadmap:
http://objectstyle.org/confluence/display/CAY/Multi+Tier
It is an attempt to build both docs and the roadmap.
> 1. Encryption of the Cayenne data streams between server and client
> - is this
> possible/hard or maybe even already implemented? I went through the
> docs for
> the framework you use some time ago, but don't recall seeing
> anything on
> encryption.
I am already using it over HTTPS with basic authentication. Works
like a charm. You get authentication and encryption for free. Unless
we have a strong reason to do it differently, I'd love to keep
encryption outside the framework.
Since we are talking about security, what concerns me more is access
controls. As of M5 you could only run a named query mapped on the
server, so you couldn't do much damage. With latest CVS code you can
build an arbitrary SQLTemplate or SelectQuery and execute it via
CayenneConnector, as long as you have a server login. So some kind of
declarative security becomes essential. And it has to be
straightforward and simple to setup. That's my next priority.
> 2. "In-memory" pessimistic locking on server - it would be nice (in my
> opinion) if we could pessimistically lock the Cayenne objects on
> server. This
> would bypass the need to implement a SQL pessimistic locking
> functionality
> and our user base could not possibly be able to deal with
> optimistic locks...
By this you mean locking an object id across ALL DataContexts? This
is dangerous. With HessianConnector, client would operate in a
disconnected mode, opening a new connection for each request (ok,
this may be suboptimal and other connectors may do it differently,
but we should assume this is possible in general case). This is much
like a web application - locks between requests are not realistically
possible.
I am not against it in general. We can make it up to the developers
to choose the right strategy. And if we only want to lock against
changes by peer clients, implementing such locking can be very non-
invasive to the rest of Cayenne, done at the ClientMessageHandler level.
I guess the above will work best once we have a connector that keeps
an open TCP connection for the duration of a session. I may be
working on such connector and other synergetic features soon. When a
client commits data, I need instant notifications to be sent to its
peers. This would require some data "push" functionality from the
server... Not your common web service, more like IM :-)
Andrus
This archive was generated by hypermail 2.0.0 : Thu Sep 22 2005 - 02:47:48 EDT