Guys,
Soon I may start a conversion project from TopLink (old version - 3.6) to
Cayenne. There is an existing set of applications that uses a heavily
customized framework of TopLink-based business objects. I am compiling the
list of the issues I might have when doing this.
One thing that TopLink seems to handle well is creating objects out of
almost any kind of queries (raw sql, stored procedures, etc.). The
applications in question use this feature heavily.
I guess this shouldn't be that hard to add to Cayenne, as long as returned
result set has all ObjectId columns. A few issues I will need to address
are:
1. Stored Procedure-based queries.
2. "Partial" objects. I am not sure if it is worth pursuing at all, but
anyway... It is a performance optimization. When an arbitrary query result
has ObjectId columns + some other columns (but not all), it seems wasteful
not to use these extra columns to populate object attribute values. But this
requires substantial changes to DataContext (new PersistentState -
PARTIAL?). In TopLink partial objects are read-only, we can't make this
assumption. I guess we can leave it out for now...
3. Distributed cache. All Cayenne caching is DataContext based. Current
TopLink application has a custom (non-TopLink) multicast cache update
mechanism. I wonder if we can add some cache synchronization API to
DataDomain, with pluggable implementation that can be either local or
distributed. Then I can reuse current multicast synchronization framework,
or maybe even talk the owner of the code to make it a part of Cayenne...
Any thoughts? Comments?
Andrus
This archive was generated by hypermail 2.0.0 : Thu Jan 02 2003 - 18:21:22 EST