Functionality Overview

Object Serialization

The real benefit of the Object Serialization Library comes from its ability to save and load C++ objects. The output format can be binary or XML, which makes it ideal for writing both high performance and integration friendly applications. Long term benefits comes from the data structure version control that will allow you to easily upgrade previous data to new versions of your applications.


As a side effect of the Object Serialization, a reflection API is available. The reflection API can be used to access structural information such as member names of the classes at runtime.

Stream Tools

Network programming can be a bit of magic. First of all, the platform specific socket APIs are generic and tries to cater for all possible cases and there are subtleties that can cause a lot of grief when writing network code. Even for experienced programmers, a proper network protocol will take a disproportional amount of time to write.

Stream Tools helps you focus on the objectives you want to achieve, it does not try to provide for all the possible variations of the underlying technology. It will allow you to easily create servers and clients, and use standard C++ stream operators for sending and receiving data.

You can in literally one line of code create a client that connects to a server. Equally easy, you can create a server in just a few lines of code. And, you can create a multi threaded server which can handle multiple requests simultaneously just as easy as a single threaded server.

Together with the Object Serialization Library, Stream Tools allows you to send objects across networks.

Object Store - Under development

The Object Store is all about data distribution and central storage. It can be seen as an object oriented database, or a distributed object model. The real advantage is that it fits an object oriented design perfectly.

The main difference in designing a system with Object Store, is that the application's object model should be seen as living on the network, simultaneously accessed by multiple clients, rather than traditionally as a single application object tree. The network I/O and data persistence are handled by the Object Store. There is also functionality for work load distribution across a network of computers.

Concurrency and data synchronization is handled by the Object Store, using an API that fits well with your application.

Follow @ClearObjects