Skip to content

Introduction

mjacobsen4DFM edited this page Oct 18, 2016 · 4 revisions

StormFront was built to address the need for delivering feed data to various systems. Traditionally, this has been accomplished through scheduled feed polling. This practice results in undesirable delays for delivering content. In order to mitigate these delays, "continuous polling" is required.

In order to accomplish "continuous polling", we created a system which reads, converts, delivers, and tracks content.

Architecture

StormFront utilizes Apache Storm (0.10.0) as its engine to poll and deliver feed content on a continuous basis; however, it also has a RESTful service for on-demand delivery of content. Transformations are primarily handled using XSLT. Content tracking is handled via Redis. Storm up-time measures are handled by Zookeeper (3.5.1-alpha)

Apache Storm enables the system to scale as necessary. It also provides a Web UI for monitoring and rudimentary management.

The RESTful service is written against Glassfish (4.1.1). Glassfish provides a robust Web UI for managing resources, loading and updating applications, and extensive monitoring.

Redis (2.8.24 - 3.0.5) provides a secure, quick, no-sql method for storing and retrieving feed and configuration data.

StormFront is written in JDK8 (Java 1.8.0_66) and XSLT 1.0. The projects are managed through Maven.

Clone this wiki locally