Integrating Qlik objects into web apps

Understanding web integrations

Web integration for Qlik is nothing new. It was introduced in QlikView, and Qlik Sense was created with built-in capabilities for extending and integrating your apps. For many similar products, user interactions are restricted to the front-end elements: buttons, charts, filters, etc.

Backend to frontend

With Qlik, developers can leverage APIs to merge Qlik with their own system. These APIs enable interactions with the back-end (the Qlik Analytics Engine) and are no longer limited to the software’s native front-end, opening many possibilities for integration.

Backend with frontend and API

Ways to use web integrations

There are five main ways to integrate Qlik components into your web application:

  • Embed using an iFrame.
  • Using Qlik's Visualization API to export charts and sheets.
  • Using Qlik's Capability APIs to manage data and create your own visualizations.
  • Using enigma.js and the Engine API.
  • Using nebula.js and the Engine API.

iFrame

Using an iFrame is the simplest, but least flexible kind of web integration. Every chart or table in Qlik Sense has an ID and a URL, which can be easily found. See Embedding charts and sheets into web apps for details. A single line of code extracted from the visualization can be added into an existing website to embed a Qlik chart to a web page. Put multiple iFrames into the site, and you can very quickly have a custom dashboard embedded. So in less than one minute, you can build a web page by copying four lines of code.

Required skill level: ★☆☆☆☆

Visualization API

Visualization API

The Walkers Dashboard is a great example on the Qlik Demo site that uses Qlik charts to show stats on The Walking Dead. This dashboard is a mashup of on-the-fly Qlik objects and traditional web elements. Different from an iFrame, charts are rendered using the Visualization API to control the user interaction and object retrieval. This means faster and cleaner execution, customizable elements, and other features.

Required skill level: ★★☆☆☆

Creating Your Own Visualization with the Capability APIs

Creating Your Own Visualization with the Capability APIs

Qlik Sense is more than just business intelligence software. By using the capability APIs, users can create their own custom visualizations powered by a Qlik application, like the Maple Leafs Dashboard shown in the preceding image. In this use case, Qlik is no longer a visualization server. It's a data warehouse and data analytics engine (Qlik’s Associative Engine) behind your dashboard. Custom code and/or third-party libraries handle the presentation of the visualization, opening a world of possibilities for developers. For a tutorial on using the capability APIs, see Build a simple mashup using capability APIs.

Required skill level: ★★★☆☆

enigma.js and Qlik Associative Engine JSON-RPC API

enigma.js logo

While most developers may be happy to use the preceding methods to integrate Qlik, some may need to get down to the nuts and bolts of the Qlik Analytics Engine for their custom web application. For these cases, using enigma.js and the Qlik Associative Engine's JSON-RPC API can help them to achieve the high complexity embedding they need. The Engine API is a websocket protocol that enables developers to run almost every useful function and call available in Qlik Sense. enigma.js is a wrapper library that makes communicating with the engine easier with JavaScript rather than using the straight websockets. While the Capability APIs, for example, are run from a user’s browser, enigma.js can be run on an application server to interact with Qlik before serving a web page to a user. This means integration with Qlik Sense is highly flexible and easily integrated in a lightweight, powerful way.

Required skill level: ★★★★★

nebula.js and Qlik Associative Engine JSON-RPC API

nebula.js logo

Qlik nebula.js is an open source collection of JavaScript libraries, visualizations, and CLIs that help developers build and integrate visualizations into their own web app or build their own client extension. As an alternative to Qlik's Visualization and Extension APIs, nebula.js represents a big step forward with its support for a modern JavaScript development environment without the overhead of Sense client. That is because the nebula.js libraries are product and framework agnostic, which means flexibility when choosing the web technologies to implement in a solution. Like enigma.js, nebula.js works closely with the Qlik Associative Engine so knowledge of generic objects and hypercubes would be helpful. See nebula.js and the Qlik Associative Engine's JSON-RPC API for more information.

Required skill level: ★★★★★

Was this page helpful?