To give an impression of a full-stack application the system consists of a pipeline of programs:
pointgenerator: A small tool to generate points at a specific rate. Think points as some kind of incidents at a location like someone spontaneous screaming "Hurray!". The generated data is stored in a PostgreSQL database.
pointpoller: This tool polls the database at a certain rate to fetch all the events which happened since the last poll. Alternatively the Listen/Notify mechanism of PostgreSQL can be used. This data is send to the pointbroadcaster via a RabbitMQ message queue or a simple HTTP POST.
pointbroadcaster: This is mainly a web server on which web clients can listen to receive the events from the pipeline. The points are visualized with an OpenLayers 2 client.
There are binary releases available for Windows, GNU/Linux and Mac OS X (Darwin): https://bitbucket.org/s_l_teichmann/pointstream/downloads
- Prepare the database. See the file DEVELOPMENT.md for a sample database.
- Start the pointgenerator with
./pointgenerator -np -1.
Start the pointpoller with
Will use RabbitMQ per default. Add flag
-nto use the notify/listen mechanism of PostgreSQL. This will give instant feedback without the polling delay.
Start the pointbroadcaster with
./pointbroadcaster -w <PATH-TO>/web/ -h 0.0.0.0
Will use RabbitMQ per default.
Testing in the browser.
http://<SERVER>:8080/to test the sample OpenLayers application. Goto
http://<SERVER>:8080/events.htmlto test the sample server-sent events web application.
See the file DEVELOPMENT.md for build instructions on GNU/Linux.
Please use Bitbucket for questions: https://bitbucket.org/s_l_teichmann/pointstream/issues
This is Free Software covered by the terms of the 2-clause BSD license.
See LICENSE file for details.
(c) 2015 by Intevation GmbH
See licenses/README.md for more information.
For commercial support, additional information or custom modifications please contact:
Intevation GmbH <email@example.com> Neuer Graben 17 49074 Osnabrück, Germany http://www.intevation.de/contact.en.html
The public development platform can be found at: https://bitbucket.org/s_l_teichmann/pointstream