Client-side state representation infrastructure for GWT
// readme
Replicant
The replicant library aims to provide infrastructure for replicating a portion of a complex server-side domain model to zero or more clients who have subscribed to the replication engine. When changes are applied on the server-side, the changes are batched and transmitted to interested clients. Upon receiving the changes, the client will atomically apply the changes to a local client-side representation. The application is then notified of the changes via a local message broker.
The library uses a client-side repository of objects, or replicas, that maintain the state of a subset of the world. Changes are transmitted from the server to the client and the replicas are dynamically updated. When the replica’s are updated, changes are propagated through to the user interface through the use of events and a centralized event broker. To avoid the scenario where the UI is updated when the repository is an inconsistent state, changes are…