Application
Libraries
gstpl itself stands under the LGPL and uses the following libraries:
- Db4o : An object oriented database. (dOCL)
- Cayenne : An elegant object-relational mapping suite. (Apache License)
- Derby : The pure java database and a Network Server. (Apache License)
- MyDoggy : An elegant graphical user interface manager, with a clean API and a nice user experience. (LGPL)
- VLJTable : A library that enables sorting and filtering of gstpl's tables. (LGPL) Downloadable here
- L2fprod Nice components. E.g. the button bars and property sheets - very useful! (Apache License)
- XStream is a simple library to serialize objects to XML and back again. (BSD)
- Kunststoff layout (LGPL)
- Swing layout from jdesktop (LGPL) to use Matisse.
- The Silk icon set (Creative Commons License), see
http://www.famfamfam.com/lab/icons/silk/
Here you have a little overview from gstpl (generated from
relief 1.1)
What about Cayenne?
If you want to use a sql database you will use:
- Cayenne (apache license 2), which uses several libraries.
The default sql database is included in gstpl:
- Derby (apache license 2.0), which uses several libraries, too.
So the used technic is:
gstpl (DBCayenneImpl) <-> cayenne <-> derby client <-INTERNET-> derby server (started from DerbyServer) <-> Derbies database (folder).
Instead of derby, you can use any other sql database, which is
supported from cayenne. E.g.
Hsqldb. Then you will need another implementation of IServer to give the user the common 'start server' ability.
Why gstpl needs cayenne at all? Isn't it slower, than directly sql coding??
Here is a good explanation!
What about db4o?
If you don't like relational databases and handling the mappings, you can even choose the object oriented database
db4o, which is licensed under the
db4objects Free/Libre and Open Source Compatibility Software License (
dOCL)
So the used technic is:
gstpl (DBDb4oImpl) <-> db4o client <-INTERNET-> db4o server (started from Db4oServer) <-> db4o database (file).
Db4o vs. Cayenne layer
I compared these two technics in a
separate pdf document. (
db4o vs.
cayenne + sql-db)
So I introduced a layer (called
GDB) to make it possible that the user decides which database fits its needs.