Sieben Geisslein

About

Sieben Geisslein is a platform for implementing othogonal persistent applications and/or services.

For you as a developer that means that you don't have to care about persistence any more. No ORM, No RDBMS, just objects. Modify them as you like and after restarting the application they will still be there.

Sieben Geisslein also does not use Checkpointing like PJama , but full featured transactions. When a large volume of transactions needs to be processed (like in event driven GUI applications, where each event is handled in a separate transaction) optimistic transactions are used.

It also includes a vastly improved support for class evolution. A problem in many existing approaches to class (or in the RDMBMS world: table) evolution is, that much of the information about changes is lost in the development process. Migration scripts have to be created and much effort is put into keeping existing application data and the code using it synchronized. Updating an application to a newer version can become a major hurdle.

Sieben Geisslein solves this by capturing all refactoring information during development. Renaming a field is transparently handled as well as simple type changes.

Of course some changes still require writing migration code (e.g. splitting a field ``name'' into ``forename'' and ``lastname''). This is supported in Feder and all migration logic is included in the generated application. No scripts have to be run on installation, but all upgrades are still handled transparently.

Another domain that is almost completely ignored by existing IDEs is application data. Sieben Geisslein allows defining much of the data within in the IDE (Feder). This allows referencing this data from the application code in a way that can be validated during compile time.

Especially in GUI design the lack of support for creating data in existing IDEs has led GUI designers to persist the GUI as generated source code. Feder persists the GUI structure as it is, without the need to convert it to source code and back again.

By providing solutions to these existing issues in development tools, I hope Sieben Geisslein helps to improve developer productivity and removes some tedious and error prone tasks.

Links

Sourceforge Homepage
Sourceforge project page

Status

The basic functionality is working, current development focus lies on the IDE (for features see the Roadmap).

Since Sieben Geisslein is in alpha stage, it is currently probably only of interest to developers. Don't expect it to be stable. Database file format and API will still change in future releases.

Download

The newest version of Sieben Geisslein can be downloaded here.

Documentation

Introduction - What is Sieben Geisslein and were is it going.

Developers

Architecture (pdf) - Describes the architecture of Sieben Geisslein

JavaDoc - API Documentation

Users

Feder (pdf)- Development in Feder

FAQ - Frequently Asked Questions

Known problems - Things that need to be fixed

Roadmap - What will change in the next releases?

Users (outdated)

Userguide (pdf)- Introduction to using Sieben Geisslein

Building

Sieben Geisslein requires jdk 1.6.

Invoking ant in the Sieben Geisslein directory will build the source. "ant test" will run the unit tests.

After running "ant dist" you will find some examples in the distribution directory.

Contributing

If you would like to contribute please contact me . There is still much work to do ;)

Niklas

Hosted by:

SourceForge.net Logo