DEV Community

Wuzhong for Qlik Branch

Posted on

System Integration with Qlik’s APIs — Why and How

First of all, this article is not a “how to” tutorial but rather a white paper. It is NOT MEANT FOR TECHNICAL USERS. If you understand the value of APIs and how to use Qlik’s APIs, this is not for you.

____________________Qlik Pro’s Stop Here______________________

“What are Qlik’s APIs?” 🤔

“Why would someone want to use an API?” 🤔

“What can you build using Qlik’s APIs.” 🤔

If you have these questions, you may find this article helpful. This blog is about various types of system integration using Qlik Sense APIs.

So let’s dive in. With APIs, you can do amazing things. But wait, what is an API?

Alt text of image

Alt text of image

Alt text of image

Behind every click, various events are triggered on the back-end.

Alt text of image

The APIs are the bridge between the front and the back.

Alt text of image

Usually, user interactions are restricted to front-end elements: buttons, charts, filters, etc.

Alt text of image

So when a piece of software implements APIs, it means interactions with the back-end are no longer limited to the software’s native front-end, which opens many possibilities.

Alt text of image

Now that you know what an API is…what can you build with Qlik Sense APIs?

APIs have always been an important and unique part of Qlik. They are the building blocks of mashups and extensions. If you don’t know about those, below is a brief explanation:
Alt text of image

But since this article is about system integration, we will focus on mashups.

Here is a random fact: you can build a mashup with extensions. That way, technically you put the visualization you put into Qlik system into your own system.

Mashup Lv.1 — build a webpage of iframes

This is probably the simplest kind of system integration. Every chart or table in Qlik Sense has an ID and an URL, which can be found in Qlik Sense DevHub -> single configurator portal.
Alt text of image

If you copy the URL into your browser, you can see the object on the page. A single line of code extracted from the DevHub can, therefore, be added into an existing website to embed a Qlik chart to a web page. Put multiple iframes onto an html file and you have a dashboard.

So in less than 1 minute, you can build a web page with four lines of code copied from DevHub. 👍

Alt text of image

Required skill level: ★☆☆☆☆

Mashup Lv.2 — mashup with APIs and libraries

Alt text of image

See how it is implemented in the [Walkers Dashboard](http://playground.qlik.com/liveshowcase/playground-zombie/main.html)

The Walkers Dashboard is an example on Qlik Playground created by Francis Kabinoff which uses Qlik charts within a web page showing stats on the tv show The Walking Dead. It is a typical mashup built with the Qlik Sense capability APIs. Different from an iframe, charts are rendered using a Qlik javascript library to control the user interaction and object retrieval. This means faster and cleaner execution, customizable elements and other features.

There is an easy way to create and host your own mashup too. In Qlik Sense DevHub, you can find a tool called Mashup Editor. It allows users to design their own web application by dragging and dropping Qlik objects onto predefined templates. But if you want to build something different, like The Walker Dashboard, you need to learn javascript and html.

Required skill level: ★★☆☆☆

Mashup Lv.3 — building a Qlik dashboard which looks completely non-related to Qlik

Alt text of image

See how it is implemented in theMaple Leafs Dashboard

Qlik Sense is business intelligence software, but not only business intelligence software. By using APIs, users may create their own visualizations, on top of a Qlik application, without using charts from Qlik. In this use case, Qlik is no longer a visualization server. It is a data warehouse plus data engine (Qlik’s Associative Engine) behind your dashboard. It handles the data processing, storage and association part but lets third-party technologies take care of the presentation part.

If you are doing this, you are entitled to call yourself a Qlik Pro. 😁 The Qlik Sense DevHub Mashup Editor won’t help you at this level. You have to write every line of front-end code by yourself.

Required skill level: ★★★☆☆

Mashup Lv.4 — using enigma.js and engine API

Most Qlik developers do not use enigma.js and the engine API. For many, the capability API is enough for most use cases.

Enigma.js is a wrapper library on top of the engine API. While the capability APIs 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. In fact, the capability API also implements enigma.js inside of an Angular application packed using require.js.

Alt text of image
The engine API is the communication protocol between the Qlik Sense server and the Qlik Sense client. The Engine API Explorer is a tool in DevHub where you can learn how the front-end talks to the back-end. Unless you are building your own support library, Enigma.js should cover most of your integration needs.

Required skill level: ★★★★☆

Mashup(?) Lv.MAX — leveraging on the engine itself

When you know the technology inside out, you may want to use the data engine (aka Qlik’s Associative Engine) outside of the business intelligence space. Examples speak for themselves, check them out...

Alt text of image

See how it is implemented in theBoston Building Emissions By Axis Group

Alt text of image

C40 cities building energy by Slalom

Alt text of image

Qlik Core

Then there are some use cases that are difficult to define — they are certainly not mashups, some of them are not even web applications.

For example, a business intelligence chatbot…
Alt text of image

Qlik BotNet

And a mirror…
Liquid error: internal

And many people don’t know this —there is a Qlik application behind branch.qlik.com. The application handles search and content management specifically. Qlik Branch is an open source project, you can find the code here.
Alt text of image

Qlik Branch

Required skill level: ★★★★★

So, how should you get started?

Just start experimenting! There are resources and examples on Qlik Playground, open source examples on Qlik Branch and plenty of community members on our Qlik Branch Slack. You can also find blogs and Youtube videos about Qlik’s APIs almost effortlessly online.
Let me know your thoughts.
Happy coding. And shout out to all of the amazing developers out there.
Cheers.
— Wu

Top comments (0)