Skip to content

Lesson 4: Don't copy data, use proxy

Linda van den Brink edited this page Jun 6, 2017 · 25 revisions

Last but not least: DO NOT COPY DATA!

Instead use a Linked Data Proxy approach as intermediate layer between traditional data services and webapps.

Why

When copying and converting data, errors can occur. Using a proxy on traditional data services (for example OGC WFS), data is taken from the source, but there are more options to make it suitable and usable for unknown developers and devices. Furthermore, it improves crawlability, linkability and usabilaty of current spatial data infrastructures (SDIs).

Intended outcome

The Linked Data Proxy approach as intermediate layer between data services and users.

Possible approach

CSW, WFS, GML, iso19139, INSPIRE conventions are quite fit for being used as a base for a Linked Data Proxy approach. This LDP-approach puts an intermediate layer on top of for example a WFS (data service) and CSW (metadata service) so the contained resources are made available for other communities and supporting the practices they follow.

Linked Data Proxy Approach

An essential part of the proxies is to transform between the resources, their representations as published by the proxies and their hypermedia controls on one hand and the OGC web service requests and response messages and formats on the other. Transformations are usually combined efforts of

  • selection using queries
  • schema transformation and
  • format serialisation.

Content negotiation plays an important role in this area.

The second phase of the testbed confirmed that the use of a proxy instead of creating a copy of the data is good advice. The API and implementation of the proxy should however be performant and memory efficient so that a developer will not be forced to download datasets from the proxy and thus still create copies of the data for use in applications. If needed the developer should be able to cache data and have a way to know when data is changed and contents of a cache must be updated. So the proxy should reflect more than only the data content.

How to test

Most of the challenges are in how the standards (CSW, WFS, GML, iso19139, INSPIRE) are currently (poorly) implemented in various implementations

Evidence

Read full details here

Clone this wiki locally