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?
Behind every click, various events are triggered on the back-end.
The APIs are the bridge between the front and the back.
Usually, user interactions are restricted to front-end elements: buttons, charts, filters, etc.
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.
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:
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.
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. 👍
Required skill level: ★☆☆☆☆
Mashup Lv.2 — mashup with APIs and libraries
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
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.
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...
Then there are some use cases that are difficult to define — they are certainly not mashups, some of them are not even web applications.
And a mirror…
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)