Plans for 1.1 and after....

From: Andrus Adamchik (andru..bjectstyle.org)
Date: Wed Apr 30 2003 - 01:11:53 EDT

  • Next message: Andrus Adamchik: "Re: cleaning up deprecated things"

    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 - 01:11:11 EDT