Summary: While some sports cars draw attention based solely on their sleek exterior design, high-performance sports car are as much about what’s under the hood as how they look. When we planned the release of Intranet Insights, we considered how it would look and perform on the front-end and how it would operate behind the scenes.
To achieve the best result, we decoupled the new front end from the Intranet and built APIs for both applications to communicate. To facilitate communication, we created a Data Bridge between the two applications which has the responsibility of requesting data from the Intranet and populating the statistics (Insights) application with the data. In order to keep the stats data current, we also built an Automated Task Manager to run the Data Bridge on a set schedule. The Task Manager and Data Bridge are software components that are installed during the upgrade process to 14.0 that run in the background, or “under the hood”. Let’s take a closer look at these two components.
The Automated Task Manager is a Windows Service which operates silently in the background. Its job is to load and run Automated Task modules according to a configurable schedule. During installation, the Task Manager is assigned a “working directory” which it will monitor for changes to either the automated task modules folder or the task schedule. When a change occurs to either of those items, the Task Manager Service will first check to see if any tasks are currently running and when all tasks are complete, it will reload changes to the modules or schedule. Therefore, once started, the Task Manager should not require any manual intervention.
The Statistics application that represents the front-end of Intranet Insights is a separate product from the Intranet Connections (IC) application. However, Stats requires data from IC.
There are several ways that the data could be migrated from IC to Stats. The most unobtrusive way to perform the migration is to provide API resources in IC that can be periodically consumed and forwarded to Stats via an intermediary process (which we call the Data Bridge).
You can think of the Data Bridge as a shuttle service which first checks in with Statistics to determine which data needs to be loaded and then requests data from IC and forwards it to the Statistics application. All of the communication between applications is performed via RESTful APIs. After the first load of data from IC, subsequent requests are checked for changes first before any updates are run. In this way, we can minimize the amount of data that is passed between applications and the amount of time required to process changes. Only new, or changed data, is processed.
The Data Bridge is responsible for loading information about the following Intranet objects.
And it is responsible for loading the following Intranet events.
The Data Bridge is scheduled to run once per day (overnight) and details of the synchronizations are logged.
During the design phase of Intranet Insights, the product and development teams brainstormed the entire project and defined several phases that make up the entire product. We decided that statistics would have a modern front-end single-page application and a separate back-end application (outside of Intranet Connections). Each application would have its own API (to decouple the projects). The communication between applications would be managed via an independent, configured, data bridge. Finally, the Task Manager was the last piece planned for the project. This is to provide a robust way of running the Data Bridge as an automated task.