Application


Libraries

gstpl itself stands under the LGPL and uses the following libraries:
Here you have a little overview from gstpl (generated from relief 1.1)

relief-gstpl-test.png

What about Cayenne?

If you want to use a sql database you will use:
The default sql database is included in gstpl:
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.