DXA was conceived by Robert Schmieder KK6EK prior to the K7C Kure Atoll Dxpedition in 2005. While the original DXA worked fairly well it suffered from some serious performance issues when large numbers of users were watching the K7C activity.
After K7C, Robert asked for help in enhancing DXA and I met him in Visalia at the DX Conference. We discussed how DXA could be enhanced and what role I could play in it.
Rather than abandoning the original version of DXA I decided to enhance it with more modern technology. Where the original version required a page refresh once per minute for updates and used a lot of server side php code, DXA Version 2 uses client side javascript and just makes a query to a web server for the updated QSO information it needs. Then in the web browser we update only those pieces of the web page that we need to.
The DXA system consist of three main pieces, the DXA Console, the Collector and a web/ftp server. And of course the web browser the person monitoring DXA to see if they made a QSO is using. You can watch a demo of it in operation. This is still in development so sometimes it may be static and other times there may be activity.
The DXA Console is a Microsoft Windows program that runs on a PC at the dxpedition site. Once every minute it reads the dxpedition log. For N1MM Logger Plus the Console can read the log directly. Once the Console reads all of the new QSOs made in the last minute it creates a packet and compresses it. Then through the satellite link it opens an ftp session and uploads the file to a server. The DXA Console can also be used to upload messages that will appear on the DXA web site. Photos and other types of files may also be uploaded if the dxpedition wishes. The Console display shows the operators the network status and a list of QSOs that have been uploaded. If the satellite link goes down for awhile, the Console will keep running and when the link is back up upload all waiting packets.
When files are uploaded is when the Collector starts its work. The Collector, running on a virtual server in AWS, monitors the ftp server and when a new file is uploaded it looks at the file and decides what to do next. If the file is a message or photo it moves the file to other folders so they can be processed. If the file is a QSO packet, the Collector will open the packet and add latitude and longitude information for each call sign in the packet. Then the QSO packet is moved to the folder the DXA web page looks in. The Collector has a local database where it keeps a copy of all the QSOs and synchronizes that with a remote database so when a user enters their call on the DXA website it lets them know what QSOs they have already made. The Collector also does a little more housekeeping as needed.
The DXA web page itself is pretty standard, html and javascript. Browser requirements are current versions of IE/Edge, FireFox, Safari and Chrome, other versions may or may not work correctly. Once the page is loaded in your browser it isn’t necessary to refresh the page. Once every minute the browser makes a small and quick background request to the web server to get a new QSO file. Then it updates all the various pieces such as the current and previous QSO lists and what bands are currently being worked. If you have entered your call sign in the search field it will light up the band slot you worked and highlight your call sign in the currently worked list. It will also show a congratulations message.