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.
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.
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.
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: ★☆☆☆☆
Required skill level: ★★☆☆☆
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: ★★★☆☆
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: ★★★★☆
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: ★★★★★
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.