How to create a distributed application
From ESEwiki
You want to create a distributed application using ESE.
Distributed model
Exchangeable objects are created and held by a server, but are accessed by clients using a proxy ("stub").
A distributed application is composed of clients and servers. Only the servers are responsible of the creation of real objects. Any process in a distributed application may be at the same time client of some objects and server of others. But your design must make clear which server holds which kinds of objects.
Exchangeable objects are held in a repository, usually a UNICAST_REPOSITORY. This is the "real" server-side repository, which contains the "real" objects. Clients use a REMOTE_UNICAST_REPOSITORY which mirrors the server-side repository and creates object "stubs" that hide the network access to the "real" object.
Exchangeable objects are deferred classes that inherit from, or insert, EXCHANGEABLE. The server-side process must be able to create "real" exchangeable objects (which are an implementation of the deferred class) and store them in its repository. The client-side processes use stubs that implement the deferred class; those stubs are automatically generated and therefore don't need to be manually written.
one could do with a picture here
Tool
To compile a distributed application you must use esec.

