Version 2 (modified by meddle, 15 years ago) (diff) |
---|
Analysis
Overview
The 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.
Task requirements
- Choose an appropriate database for storing.
- Create a good database schema for storing the resources and the history
- Store in the database the resources and the history
- Should be able to pick a resource data at a specified revision
- Should be able delete and create a resource in the database
- Should be able to store the changes of an resource in the database.
- Create an API that communicates with the database using JDBC.
- Create a JDBC template to query easy the DB
- Think of a way to manage the DB connection
- Connecting to the DB should be treadsafe.
- Make the facade and the web use the database
- Preserve the current functionality - collaboration, skipping changes, web upload/download/browse/delete
- Make a mock server from the old implementation of accessing resources in the server memory (optional)
Task result
Source code and tests.
Implementation idea
- Use H2 database for the database.
- Use ThreadLocal connection variables for the ThreadSafe connections.
- Create special WebResourceAccess to replace the current mem accesses in the web, but to preserve working with helpers.
- Use the current Persistence API to store the immutables in the DB.
Related
No related tickets for now...
How to demo
- Show the working web and collaboration in Sophie but with the DB implementation
- Web interface
- Upload a book through the web interface
- Browse the books in the web interface
- Download and delete the book.
- Collaboration
- Save a book on the server
- Make some changes from different Sophie clients
- Undo the change, redo them
- See the actions in all the clients
- Web interface
Design
(Describe your design here.)
Implementation
(Describe and link the implementation results here (from the wiki or the repository).)
Testing
(Place the testing results here.)
Comments
(Write comments for this or later revisions here.)
Attachments
-
DB Graph.jpg
(77.4 KB) -
added by mira 15 years ago.
DB Schema