Data Gateway Protocol (DGP)

This documentation may be reproduced only with written permission of infoGrips GmbH.

01.09.2022

Zusammenfassung

This document describes the Data Gateway Protocol (DGP). The DGP is a system neutral protocol to execute distributed orders over a network of interconnected geodata servers.


Inhaltsverzeichnis

1. Introduction
1.1. Network Architecture
1.2. Communication between Portal and Data Servers
2. The DGP protocol
2.1. SOAP Encoding
2.2. Data Server Interface
2.3. Portal Server Interface
A. DGP Communication Model
B. Terminology

1. Introduction

The DGP (Data Gateway Protocol) is a system neutral protocol based on INTERLIS and SOAP to execute distributed geodata orders over a network of interconnected geodata servers. Due to its system neutral architecture - the DGP is based on INTERLIS and SOAP only - the DGP protocol can be implemented by different system vendors and organizations.

1.1. Network Architecture

To execute data orders over a network of interconnected geodata servers one server has to take the lead to coordinate the activities of the other servers in the network. The leading server is called the portal server while the other servers are called data servers.

The portal server implements the portal server interface while the data servers implement the data server interface. A sever can implement both interface types and therefore may act as a gateway server in a hierarchical network.

All servers in the network share the same INTERLIS data models. While the data servers contain datasets conforming to the shared INTERLIS data models, the portal server contains only meta data about these datasets. A data server may store datasets internally as files or in a database. No assumption about the internal data representation is made by the DGP.

1.1.1. Portal Server

The following is true about a portal server or gateway servers:

  • Is the root (portal server) or an intermediate node (gateway server) in the network.

  • Implements the portal server interface.

  • May also implement the data server interface to act as an intermediate node (gateway server) in a data network.

  • Contains only meta data about the data in the network.

  • Distributes price or order requests over the directly connected data servers.

  • Merges the partial price or order results of data servers to get the full price information or order result.

  • Has a GUI interface to communicate with human users (portal server).

1.1.2. Data Servers

The following statements hold for data servers:

  • A data server is a leave node in the data network.

  • Each data server contains datasets conforming to the shared INTERLIS data models.

  • Processes price or order requests received from a portal server or gateway server.

  • Delivers price information or the resulting dataset to the portal server / gateway server.

  • Delivers meta data of its datasets to the portal server / gateway server.

  • Has no GUI interface.

1.2. Communication between Portal and Data Servers

1.2.1. Communication Objects

Communication between portal and data servers takes place by exchanging communication objects between portal and data servers over SOAP. All communication objects are described by an INTERLIS 2 model (see also appendix A). The following main objects exist:

data product

A data product definition is a well defined transformation of one INTERLIS data model to a final output format (i.e. INTERLIS1 ITF, INTERLIS 2 XTF, DXF, PDF or others). Each data product has a unique name within the data network. A data product may support any number of parameters. At least a range polygon and data selection by topic has to be supported.

order

An order describes the order information for an accepted order. The order dataset is collected by the portal server and contains at least the following information:

  • customer data (i.e. name, address, etc.).

  • name of the ordered data product.

  • complete set of data product parameter values (i.e. range and topics).

With the help of the order dataset a connected data server can process the order by delivering the resulting data set to the portal server.

meta data

Meta data describes a single INTERLIS dataset in a connected data server. In the context of a data network only the following meta data is relevant:

  • name of the data model.

  • name of the dataset. The dataset name has to be unique for a given data model / data server.

  • geographic range covered by the dataset as a closed polygon.

1.2.2. Order Processing Work Flow

Orders are executed as follows:

  1. A customer enters the network at the portal server.

  2. The portal server shows the user the available data products implemented in the data network.

  3. The customer selects the desired data product and enters all required product parameters (i.e. geographic range, topics, etc.).

  4. The portal server checks with the meta data, which attached data servers can deliver the requested data product.

  5. The portal server executes the price function on any data server and presents the merged price result to the user.

  6. The user accepts (next step) or rejects (back to step 2) the order.

  7. The order dataset is finalized by the portal server and registered in the order database of the portal sever. The order is send then to any attached data server.

  8. The order is processed by the data servers and the result is delivered back to the portal server.

  9. Depending on the data product the portal server merges the result of all data servers to produce the final result.

  10. The customer is notified by e-mail that the final result is ready for download from the portal server.

1.2.3. Exchange of Meta Data

The central portal server contains only meta data of the connected data servers in the data network. The data servers have to deliver their meta data to the central portal server as follows:

  1. When a new INTERLIS dataset becomes available in a data server, the data server notifies the central portal server by sending a meta dataset to the portal server.

  2. When an INTERLIS dataset is not available anymore in a data server, the data server sends a delete request to the central portal server. The portal sever deletes the indicated meta dataset.