Re: Plans for 1.1 and after....

From: Arndt Brenschede (a..iamos.de)
Date: Wed Apr 30 2003 - 03:33:23 EDT

  • Next message: Holger Hoffstätte: "Re: cleaning up deprecated things"

    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