Versions Compared

Key

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

For BD-1007: Polyglot refactoring for dockering SSes. dockerizing SSes, mainly in the POL-SS communication part.

In the existing architecure, Polyglot is a server, while a SS is also a server. Refer to the development notes at the "Polyglot / SoftwareServer Documentation" page, POL goes to RabbitMQ, gets the consumer IPs as the SSes, connects to the URL "<ip>:8182/applications". If the URL is accessible and contains valid content, Polyglot adds the IP to its server list.

SS supports many REST endpoints, some of them are used by POL. POL uses the following 2 SS REST endpoints:

  • /alive
    This returns a timestamp (an integer) to indicate the start time of the SS. (long int, plain text)
    Used for adding a SS in discoveryAMQ(), and removing a SS in heartbeat().
  • /applications
    This returns a JSON array, such as "[{"alias":"daffodil","conversions":[{"inputs":["csv"],"outputs":["xml"]},{"inputs":["pgm"],"outputs":["xml"]}]},{"alias":"flac","conversions":[{"inputs":["aif","aiff","fla","flac","wav"],"outputs":["aif","aiff","fla","flac","wav"]}]}}}".
    Used for adding a SS and updating the IO graph in discoveryAMQ().