IBM and Red Hat — the next chapter of open innovation. Learn more ›
Get the code
by Kalonji Bankole | Published February 15, 2019
Note: This pattern is part of a composite pattern. These are code patterns that can be stand-alone applications or might be a continuation of another code pattern. This composite pattern consists of:
In this developer code pattern, we’ll demonstrate how to build a custom perceptive application within a TRIRIGA® instance.
TRIRIGA is a system used to monitor enterprise facilities by integrating data from real estate portfolios, construction projects, workplace assets, etc. We can extend the TRIRIGA capabilities with custom business logic by deploying a “perceptive app” via the UX framework. A perceptive app is a dynamic, custom application built using the TRIRIGA UX framework. This is structured as an MVC architecture. The application “View” is built using the Polymer library, which makes it simple to create an interactive dashboard using modular web components. These components can provide visual elements such as graphs, maps, images, and so on. Each component can be rendered by data pulled from internal TRIRIGA reports or API data from other offerings (Building Insights, Weather Company).
The project dependencies (Polymer, web components, UX framework) are all pre-installed within the TRIRIGA instance. Additional third-party dependencies can be uploaded along with the project code.
The Building Insights service provides APIs to retrieve real-time occupancy/energy sensor data, as well as an analytics engine to perform prediction and anomalies. The Building Insights service tracks sensor data such as energy consumed per hour, number of people on each floor in a building, and so on. Our solution demonstrates a way to integrate the Building Insights analytics engine and data into TRIRIGA. This is achieved by using a deploying a Node.js back end on Kubernetes to periodically make REST calls to the available APIs. As data is retrieved, it is then cached in a Cloudant® database.
When you have completed this code pattern, you will understand how to:
Ready to give it a try? Please see the README for detailed instructions.
Get the Code »
Back to top