Changes between Version 1 and Version 2 of SERVER_DATABASE_PERSISTENCE


Ignore:
Timestamp:
02/12/10 18:34:50 (15 years ago)
Author:
meddle
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SERVER_DATABASE_PERSISTENCE

    v1 v2  
    44 
    55= Analysis = 
    6 ^(Give as much as possible of the needed information for designing and implementing the task in the following sections.)^ 
    76 
    87== Overview == 
    9 ^(Provide a brief overview of the whole task in its first revision. Stick to the current revision of the task, but keep an eye to the whole task progress, and stay alert for possible smells.)^ 
     8The Server have to keep it's resource data in a flexible and extend-able database. The information should be stored and loaded when the Server is restarted, the current functionality should continue to work.   
    109 
    1110== Task requirements == 
    12 ^(List the necessary requirements that the task must fulfill.)^ 
     11 * Choose an appropriate database for storing. 
     12 * Create a good database schema for storing the resources and the history 
     13 * Store in the database the resources and the history 
     14  * Should be able to pick a resource data at a specified revision 
     15  * Should be able delete and create a resource in the database 
     16  * Should be able to store the changes of an resource in the database. 
     17 * Create an API that communicates with the database using JDBC. 
     18  * Create a JDBC template to query easy the DB 
     19  * Think of a way to manage the DB connection 
     20   * Connecting to the DB should be treadsafe. 
     21 * Make the facade and the web use the database 
     22 * Preserve the current functionality - collaboration, skipping changes, web upload/download/browse/delete 
     23 * Make a mock server from the old implementation of accessing resources in the server memory (optional)  
    1324 
    1425== Task result == 
    15 ^(List the end product of the task (for example "Source code", "Wiki page", etc.))^ 
     26Source code and tests. 
    1627 
    1728== Implementation idea == 
    18 ^(Provide some rough implementation idea(s).)^ 
     29 * Use H2 database for the database. 
     30 * Use ThreadLocal connection variables for the ThreadSafe connections. 
     31 * Create special WebResourceAccess to replace the current mem accesses in the web, but to preserve working with helpers. 
     32 * Use the current Persistence API to store the immutables in the DB. 
    1933 
    2034== Related == 
    21 ^(Add links to related tasks that could be useful or helpful.)^ 
     35No related tickets for now... 
    2236 
    2337== How to demo == 
    24 ^(Provide instructions for demonstration of the task.)^ 
     38 * Show the working web and collaboration in Sophie but with the DB implementation 
     39  * Web interface 
     40   * Upload a book through the web interface 
     41   * Browse the books in the web interface 
     42   * Download and delete the book. 
     43  * Collaboration 
     44   * Save a book on the server 
     45   * Make some changes from different Sophie clients 
     46   * Undo the change, redo them 
     47   * See the actions in all the clients 
    2548 
    2649= Design =