July 25, 2016 Push Technology

Integrating MongoDB with Diffusion Cloud – Part 2

In prior post How to Integrate MongoDB with Diffusion Cloud, we discussed how Diffusion Cloud’s JSON topics dovetail with MongoDB’s JSON documents, and how in turn a MongoDB collection can be reflected as a branch of JSON topics. This approach gives the end consumer a means of subscribing to a MongoDB collection and changes to it. Additionally, it makes the information easily available to smartphones and web browsers, who are likely far removed from your MongoDB server.

Making things interesting with real data.

In our the prior blog, we created 100 Mongo documents to test the system out. This time, we’ll use real data to make things more interesting, and draw on the real foreign exchange data free available from TrueFX.

This standalone script polls the TrueFX service every 500ms, and gets real prices for a handful of currency pairs. The service is free, and registration gets you more than the basic set of currency pairs.

Visualizing the data

You can use the Diffusion Cloud Console to prove that the system works, but here we have had a little more fun and built a desktop GUI to visualize the FX prices using Electron from Github. Only recently released (May 2016) Electron combines the best of the Chromium & Node JavaScript worlds to empower developers building desktop apps with web technologies. Our client ran to 184 lines of code and looks like this:

Visualizing Data


As prices rise and fall the tables cells flicker red and green. Web development is very far from my forte, nevertheless I was greatly impressed at how quickly a project could begin and get off the ground. The Electron name is a great piece of wordplay, being the ‘shell’ within which GitHub’s ‘Atom’ project exists. Keep on punning and developing guys, it’s only version one and it’s already looking great!

Let’s have a look at it all in action in our short video.

A quick summary

This blog began as a vehicle to explore the JSON features in Diffusion Cloud and any challenges encountered connecting it to something else, but has grown into something more ornate drawing in real data, and visualizing it a familiar manner:

Demo Architecture

We encountered essentially zero issues handling the JSON between MongoDB and Diffusion Cloud. Using JSON made it trivial to populate MongoDB with data delivered as CSV, and the JavaScript environment inside Electron made is trivial to build and update an HTML table from the delivered JSON.

Try Diffusion Cloud

Try Diffusion Cloud for yourself for free to see how easy it is for Diffusion Cloud to reflect a MongoDB collection into the topic tree.

Want to see how easy it is to get started with Diffusion Cloud? Sign up for a free demo here.


Enjoy the rich functionality of Diffusion 6.7 as part of your event-driven application.

Quick Start Guide

Step-by-step guide to getting started.

Diffusion Cloud

SaaS offering that focuses on business.

Diffusion On-Premise

A pub-sub platform for real-time applications.