Hi Andrus,
good to see you have inheritance and
prepared-statement caching on the agenda.
(My prepared statement cache works
pretty well meanwhile, so just ask me
for an update if you want to work
on that)
I have 2 more straight-forward points
in mind:
- modeling database indices
- java processing performance:
With the prepared statement cache
I'm still missing about a factor of 3
to get the java-processing load
down to the level of the database load
in order to remove that bottleneck.
I'm sure that can be achieved by some
re-engeneering of the runtime meta-model
and the runtime handling of attributes.
regards,
Arndt
Andrus Adamchik wrote:
> While we still have quiet a few things to iron out to go "gold" with
> 1.0, I figured it doesn't hurt to look into the future a little bit.
> This is an attempt to organize a list of future features in the order of
> importance to me personally. All this will most likely not make it even
> to 1.1, but well, eventually we will get there. Of course Cayenne is an
> OpenSource project and everybody involved can have their own agenda and
> set of priorities ;) Any other suggestions?
>
> Andrus
>
> I. Core Framework.
>
> Major features:
>
> 1. Distributed caching and update notifications
> 2. Configurable Optimistic Locking
> 3. Mapping Inheritance beyond the first steps we are implementing now.
>
> Other features:
>
> 4. Caching PreparedStatements and, maybe, translated queries.
> 5. JMX monitoring of deployed Cayenne applications (may contain a GUI
> part as well)
> 6. Parameterized raw SQL queries
> 7. Relationships based on outer joins
> 8. Advanced transaction control for multiple datanodes and EJB
> 9. String expressions ("artist.artsitName = ..or title likeIgnoreCase
> ..) in addition to the current expression API.
> 10. Implement more advanced connection pool (ability to use DataSource
> implementations bundled with the driver, etc.), or replace Cayenne
> connection pool with 3rd party altogether (Jakarta DBCP?)
> 11. Making DbRelationships bidirectional.
>
>
>
> II. Modeler. (lots of features will require support in the core
> framework as well)
>
> 0. Preferences panel.
> 1. Full migration to Scope framework
> 2. Mapping SelectQueries
> 3. Allow basic data operations from the modeler, like fetching entities
> with qualifiers, running insert/update/delete (could be a good demo of
> Cayenne features in client server applications)
> 4. Creating a modular, pluggable architecture that is easy to extend
> (maybe part of 1)
> 5. Mapping of JDBC driver locations and 3rd party DB adapters,
> regardless of system CLASSPATH, autodetect available JDBC drivers
> 6. Advanced PK generation scenarios. Instead of assigning a particular
> method to each DbAdapter, allow users to select method. We can have
> generic implementations of LookupTableGenerator, SequenceGenerator,
> StoredProcedureGenerator, AutoIncrementGenerator; also we can expand
> support for Andriy's extensions that allow configuring PK generation per
> entity.
> 7. Expand class generation options, like generating all entity property
> keys as "public static final String", allow pluggable custom generators
> to be put in the Velocity template context, allow custom template
> selection in the modeler
>
>
> III. Test Environment (extend beyond simple unit tests)
>
> 1. Investigate using Cactus (or smth. else) to emulate web application
> testing environment
> 2. Distributed stress testing to constantly test multithreading behavior
> and cache synchronization.
> 3. Some setup to test multi-database/ejb transactions.
This archive was generated by hypermail 2.0.0 : Wed Apr 30 2003 - 03:41:09 EDT