Cloud-Based Open Source Reporting Platform Case Study
The Client
The client is a provider of high quality precision data loggers. These data loggers are used to record temperature, pressure, and analog environmental parameters.
The client’s product is server software that is a component of a continuous monitoring system.
The Challenge
Our client develops an environmental monitoring system that continually collects data and stores it in a remote database.
This system needed a reporting portal that could create, publish, and distribute the reports electronically. All of this needed to be automated so that reports could be triggered by events or scheduled to run at specific intervals.
Our client’s system generated large amounts of data. To deal with the large volume of data, daily reports are generated based upon the differentiations between the newest set of data and the data that had been published the day before.
The data gathering and report generation process had to be carefully synchronized to prevent data loss, as reports from the previous day would be overwritten by reports from the current day.
The Process
- Analysis of software and hardware requirements.
- Creating and testing reports.
- Deploying reports and stabilizing the cloud platform.
How Optimus Helped
The Optimus team helped the client create a completely cloud-based solution with the following components:
Automatic Data Parser: This component parses the data provided by the client in TSV format to extract the client’s records. It then inserts the data into a MySQL database.
Report Generation: This component is a JasperReport-based set of reports created after detailed discussions with the client’s team to ensure that relevant information is presented in an easy-to-understand format. This information can be downloaded from a fixed URL.
Mailers: This component is a Jasper Server that is configured to mail reports as attachments to a mailing list.
Scheduler Scripts: This component consists of PHP scripts that were set up as cron jobs to activate the different components at the right time. This helped preserve the right separation between preceding and ensuing activities.
The end result was a highly customizable web-based reporting portal that gives the client the flexibility to update their reports and the power to distribute them widely.