[aprssig] Proof of concept: APRS web client and database on Google App Engine
jeff.laughlin at gmail.com
Sat Aug 2 14:07:35 CDT 2008
I wrote a simple Google App Engine web application to store APRS position
reports in a database and make the data available to whoever wants it.
Position reports are sent to the application in chunks via HTTP from a small
daemon running on my workstation at work. GAE doesn't allow access to
sockets, so this was the only way to feed it a data stream. It's updated
every few seconds. Right now it's only receiving the USA stream. Eventually
I would like to feed it the global stream, but Google set some fairly low
resources quotas. When App Engine goes production, it will be possible to
purchase additional resources.
Reports are stored using the GAE Datastore, which is based on Google's
Bigtable DBMS. This is supposed to scale up into the petabyte zone with good
performance, although currently Google limits GAE apps to 500MB. Again, when
GAE goes production, it will be possible to buy more storage.
I wrote a horribly simple query function that returns an ugly static google
map with the stations track-line (if any) and a table of all the position
reports in the DB.
I have also written a simple JSON API to allow remote programattic database
queries. This is what really sets this system apart from the other web APRS
Anybody anywhere can efficiently query the database using HTTP and JSON from
any programming language they like. Google App Engine will automatically
scale the application accross as many servers as necessary to handle this
Future plans include storing APRS data beyond just positions, additional
search API functions, and expanding to the global feed. I suppose a prettier
Maybe if I provide the database API, somebody else will work on the GUI.
Please check it out and report any issues you find. Remember, not only is my
application in testing, but Google App Engine is in testing, so anything
might happen. Don't rely on this for production use.
73 de n1ywb
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the aprssig