Real time syncing and offline capabilities using OpenUI5, JsonPatch, XMPP and xxHash

This blog post contains a summary of the Github project here:

https://github.com/ManuelB/XMPPJSONPatchSyncModel

The OpenUI5 data model uses a node on an XMPP server to synchronize itself to different connected clients. Because of the usage of CRDT (Conflict-free replicated data type) it is easy to build offline capabilities on top of it.

The XMPP server requires the following:

  • PubSub Support (XEP-0060)
  • WebSocket (RFC 7395)
  • Anonymous access and node creation capabilities

In our developement we used ejabbered running on Ubuntu 16.04.

The communication with the client uses a WebSocket connection to the XMPP server but every other client can connect via normal sockets using port 5222.

For a good overview I would recommend the following video:

 

Screenshot

 

If you need support please contact us.

Leave a Reply

Your email address will not be published. Required fields are marked *