Syncs works as a middleware to enables real-time, bi-directional communication between web clients and web servers. Syncs provides four abstraction layer over its real-time functionality for developers.
This project is experimental and I'll be happy to know your comment about that.
GitHub page:https://github.com/manp/syncs
With a Publish and Subscribe solution developers normally subscribe to data using a string identifier. This is normally called a Channel, Topic or Subject.
Shared Data Abstraction Layer
Syncs provides Shared Data functionality in form of variable sharing. Shared variables can be accessible in tree level: Global Level, Group Level, and Client Level. Global Level and Group Level shared objects are read-only by clients. The Client Level shared object is writeable by the client but the server can make read-only client level shared object.
With help of RMI, developers can call and pass arguments to a remote function and make it easy to develop robust and web developed applications. RMI may abstract things away too much and developers might forget that they are making calls over the wire.