Page is in EnglishSeite auf deutsch verfügbar

GlobalObjects

GlobalObjects is a C++ object-oriented database (OODB, ODBMS, NoSQL) for maintaining C++ objects persistence. Single and multi-user operation via a server is possible.

C++ objects can be saved, loaded and deleted easily. This can also be done in transactions, which can be confirmed (actions are executed) or cancelled (actions are not executed). The ACID principle principle is consistently adhered to.

GlobalObjects understands C++ class declarations with support for encapsulation, inheritance, polymorphism, object identity, and object references.
There is an extensive locking mechanism to protect stored objects.
In order to "notice" changes to the object inventory, a simple notification system, implemented by passing a callback function, can be used.

The main focus is on the easy saving and loading of even complex C++ objects with their references and the updating of loaded objects in memory when they are changed in the database.

Anyone familiar with the object database FastObjects (originally developed by the company Poet) will find many of the concepts of this system in GlobalObjects.

GlobalObjects is therefore not a speed-optimized database. Each class has its table (a simple text file) with at least one object ID index. Objects of a class with many superclasses are "assembled" by reading in the respective data records or "broken down" when saved. Complex objects with references to other objects that must also be saved or deleted can therefore have a negative impact on the timing. Indexes are read from the file system into objects of the type std::map<T> or written back to the file system when the application is closed.

The name GlobalObjects was chosen because it helps the developer to automatically synchronize objects across multiple clients. The application developed with GlobalObjects still works without any changes in single-user operation.

The current version GlobalObjects 1.1.2 is implemented in the C ++ programming language and has so far been used with:

One can e.g. install a GloServer on any supported operating system and access it from any supported operating system.

The GUI was realized with the C ++ library Qt.



GlobalObjects User Guides (online)
Download GlobalObjects
The texts were translated into English with the support of www.DeepL.com and translate.google.de.