Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Type

Technology

API

Advantages

Disadvantages

Typical applications

Push

HTTP

HTTP Caller

  • Simple

  • Common

  • Real-time updates

  • Limited performance at scale

  • Transformation of occupancy information to parking sessions is necessary

  • Raw sensor data transfer between backend systems

  • It is good for quick proof of concept demo integrations and tests

AMQP

RabbitMQ RTA & Sessions

  • Fast

  • Reliable

  • Scalable

  • Real-time updates

  • Requires setup and configuration of the RabbitMQ Server

  • Robust message bus between high load backend systems

  • Commercial billing information / SDI

Pull

HTTP

REST Occupancy

  • Simple

  • Common

  • Quick setup

  • Not suitable for real-time applications

  • Generates a lot of traffic and excessive server load when pulled frequently

  • Query-based method to get data when it is required, e.g. loading a page about a sensor, group or zone occupancy

Push & Pull

GraphQL

GraphQL Occupancy

  • Flexible

  • Traffic-Efficient

  • Real-time updates

  • Relatively new and less common

  • Modern and large user-based web and mobile apps

  • Real-time dashboards

HTTP Caller

HTTP Caller Diagram:

Diagram:

Drawio
zoom1
simple0
inComment0
pageId1716125716
custContentId1716125796
lbox1
diagramDisplayNameHTTP Calling API short diagram.drawio
contentVer2
revision2
baseUrlhttps://nwaveio.atlassian.net/wiki
diagramNameHTTP Calling API short diagram.drawio
pCenter0
width711
links
tbstyle
height140.5

HTTP Caller API is one of the simplest types of API but provides little functionality to users. This API sends HTTP requests to your configured endpoints. HTTP requests are formed based on raw sensor events. During downtime, Nwave’s cloud will make at up to 100 retries for each request which can lead to high traffic spikes.

More details about this API can be found here HTTP Caller.

RabbitMQ RTA & Sessions

Diagram:

Drawio
zoom1
simple0
inComment0
pageId1716125716
custContentId1712488723
lbox1
diagramDisplayNameRabbitMQ data processing short schema.drawio
contentVer1
revision1
baseUrlhttps://nwaveio.atlassian.net/wiki
diagramNameRabbitMQ data processing short schema.drawio
pCenter0
width881
links
tbstyle
height259.5

Rabbit MQ is an enterprise-grade message bus that separates the application from transport layers. For example, RabbitMQ lets you set up messaging politics according to your preferences (e.g. you can configure a period and volume of message retention on a RabbitMQ server in case your service is offline).

...