WFS-T: Propagating feature update notifications to clients

132 Views Asked by At

As of this writing, I'm running Geoserver 2.22, but this is more of a general WFS(-T) question, and I'm not tied to Geoserver at all. Let's consider the following scenario: There's a WFS-T server publishing a layer L of geometric features and two clients, C1 and C2 (e.g. QGIS), which are using that layer. Initially (i.e., after adding L to the QGIS project in both clients), datasets are identical on both clients (i.e., they hold identical copies).

Now C1 modifies a feature F[version 1] and commits that transaction successfully with the WFS-server, so F is now of version 2. Client C2 however, doesn't have any idea that F has changed as long as it doesn't reload L.

Question #1: Is there a standardized way the server could notify clients (e.g. C2 in this example) of changes made to (WFS-T) layers (e.g. L) they "use" (i.e., hold copies of)? Question #2: Is there a more fine-grained way for a client to load changes made to L instead of reloading it completely?

Let's further assume C2 has not reloaded L after the modification of F and is still using F[version 1]. Now C2 is modifying F and attempting to commit the associated transaction. Changes previously made by C1 would be lost, or even data inconsistencies could crop up.

I noticed there is a WFS-T versioning extension in Geoserver that could help that problem, but it's non-standard and presumably not supported by most WFS clients out there.

Question #3: How can data loss or data inconsistencies by concurrent write access through WFS-T be prevented if there's no versioning support etc.? Question #4: Are there any standardized and common (preferably open source) WFS(-T) alternatives that handle the concurrent access or update notification problem described before?

0

There are 0 best solutions below