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.

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.0 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

Licenses

A dual licensing model was chosen for GlobalObjects.

Open Source License

GlobalObjects is free software.

GNU Affero General Public License usage:

You can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
Please review the following information to ensure the GNU Affero General Public License version 3 requirements will be met: https://www.gnu.org/licenses/agpl-3.0.en.html
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

Commercial Lizenze

If GlobalObjects is to be used in proprietary software, a commercial license is available.



The texts were translated into English with the support of www.DeepL.com and translate.google.de.