Input Gateway

A stateless server, output RESTful API above integrated data sets defined by the description of Apiary. Has access to databases, does queries to databases with the option of parameterized queries, does searches (by location or other parameters), filtering, paging. Caches the results of queries and compiles the answers and provides data in a uniform output format via uniform REST API. Realized as a Node.js/Express application. Written in TypeScript, uses Mongoose, Sequelize ORM, Redis for caching. Tested via Dredd API tests according to Apiary documentation.

Supported formats of input data

  • JSON,
  • XML,
  • CSV

Functions

  • Validation of data against the schema for every defined endpoint
  • Monitoring the number of entities/lines in the payload of incoming data

Output

  • Data is written in a message into Message Broker (protocol AMQP v0-9-1)
  • Monitoring is done via InfluxDB

Code

gitlab.com/operator-ict/golemio/code/input-gateway

Here you can find a git repository with complete codes of the module under the MIT license. This repository also serves as a primary source for the operating environment of the Golemio data platform. What we publish, we use ourselves.

Programming documentation

operator-ict.gitlab.io/golemio/code/input-gateway/