Efficient Client-Server Communication with Differential Synchronization and JSON Patch
summary
Differential Synchronization plus JSON Patch reduces many REST calls to a single atomic request by sending only deltas, demonstrated by batching many creates/updates/deletes into a single HTTP PATCH instead of dozens of PUT/POST/DELETE calls. A Java server-side library (spring-sync) applies patches directly to Java object graphs; a client library (jiff.js) diffs and patches JS objects and DOM. Demos show multi-client realtime sync over STOMP and websocket streaming, undo/redo via patch algebra, and a working snapshot release for experimentation.
AI-written summary · about
chapters (14)
- 0:00Introduction and motivation
- 2:19Problems with traditional REST
- 7:20Differential synchronization explained
- 14:01JSON Patch format overview
- 23:11Demo: Batch operations with JSON Patch
- 28:59Spring Sync server implementation
- 33:12Demo: Multi-client synchronization
- 36:41Client-side differential sync
- 42:02Challenges in Java object patching
- 52:09Demo: UI sync with JavaScript
- 56:20Advanced: Patch algebra and undo/redo
- 1:02:07Demo: Patch algebra features
- 1:08:41Challenges and future work
- 1:12:36Summary and Q&A
related talks
25mTaming Client-Server Communication
30mClient and server need to talk
26mThe end of polling
47mToward a High-Performance JSON Protocol: Notes
29mWebSockets Bring Light at the End of the Tunnel
49mThe Real Time Web with XMPP
34mLogux, a new approach to client-server communication
45mGetting Pushy: Pushing Data From Server to Browser
