/QRSMeteor

This "non Qlik" but NodeJS (Meteor) based platform has been designed to demonstrate the power of the Qlik Sense API's (QRS, QPS, Engine API, DIV and IFrame) for companies that are looking to integrate Qlik Sense in their multi-tenant SaaS platform. Please look at the video's below for an introduction. In the demo you will see a screen divided into two parts. The left side shows "the broker" in your SaaS platform; a piece of software that you already use today to mass maintain the SaaS applications for all of your customers. This broker executes its activities based on the list of your customers, their access rights and the relevant template apps (depending on what the customer has configured in your platform). The right side shows you the result of the activities of the broker; the apps and streams automatically created in Qlik Sense. This is also the side where you have to select your first template app. This demo tries to show you the activities from Sense that you can automate in your platform. Sense internally also works with the same REST API's you can use, so you can record the REST call from each manual activity in the QMC and use this code to create/delete/reload/publish streams and apps in your software. <Created by Martijn Biesbroek and Raymond Neves, Demo website currently under review>

Primary LanguageHTML

TLDR

Install meteor.com then run this application and you will get the full integration.qlik.com environment including the SaaS app provisioning demo, documentation etc on your local server.

With this project you can create apps for each customer based on a template app. (and much more). (In other words,you get software to get an 'app publisher' for Qlik Sense) A live running instance of this code is visible at integration.qlik.com Also make sure you checkout the slide generator, which explains SaaS integration using the Qlik Sense APIs.

Welcome to the SaaS with Qlik Sense demo platfom

Assumption: you want to know you to use Qlik Sense in a multi-tenant scenario.

  • you have customers
  • you want to create a template apps
  • automatically setup Qlik Sense for each customer. Watch this video to learn the concept of what we automated here.

App provisioning

This platform shows you how to

  • create a template app and publish into the templates stream
  • Then use the template apps copy it to each customer/department
  • reloading it by using a 'custom script' (e.g. find replace database connection)
  • Publish it into the stream with the name of the customer
  • We will forward the roles/groups of your SaaS platform to Qlik Sense and using a security rule (something like user.group = stream.name) we can authorize on streams with just one rule (!) alt tag

Automatic installation of Qlik Sense (new, almost completed)

We are lazy... and we hate errors, therefore this tool automatically sets up Qlik Sense.

After you installed Qlik Sense, and you have installed this project see this manual (Manual needs to be updated to reflect the automatic installation, it still assumes you hae to do it by hand)

This project will automatically create/set (based on what you define in your settings.json file in the project root)

  • insert the license
  • create the template streams
  • upload the template apps from the .automation\apps folder
  • publish the template apps into the stream needed for this demo platform:
  • upload the extensions from the .automation\extensions folder
  • create security rules (to be completed)
  • create and assign a custom property for each app and stream created (to be completed, only to be used for enterprise deployments. For OEM/multi-tenant scenarios we use the groups provided in the ticket to authorize on.)

Other resources

Watch this playlist for a complete overview on Sense integration. The topics include security, web integration (QAP) and architecture.

See qlik community for an introduction to Qlik Sense integration

Introduction

This "non Qlik" but Meteor.js based platform has been designed to demonstrate the power of the Qlik Sense APIs for companies that are looking to integrate Qlik Sense in their multi-tenant SaaS platform. Please look at the video's below for an introduction. In the demo you will see a screen divided into two parts.

The left side shows "the broker" in your SaaS platform; a piece of software that you already use today to mass maintain the SaaS applications for all of your customers. This broker executes its activities based on the list of your customers, their access rights and the relevant template apps (depending on what the customer has configured in your platform). The right side shows you the result of the activities of the broker; the apps and streams automatically created in Qlik Sense. This is also the side where you have to select your first template app. This demo tries to show you the activities from Sense that you can automate in your platform. Sense internally also works with the same REST APIs you can use, so you can record the REST call from each manual activity in the QMC and use this code to create/delete/reload/publish streams and apps in your software. We will not cover all the use cases, lets say we cover 80%, but the examples and code provided should give you enough convidence to build the remaining 20% yourself.

How to use the demo?

The principle is very simple. This demo shows you how you can copy an app (dashboard) for each of your customers. Next to creating a copy, we will also reload the app with data from the customers database (by replacing the SQL based load script). Because you can insert a custom script you can also specify customer specific data models like "free fields and tables". In the end we make a stream (a way of grouping apps) per customer and publish the app into this stream. The demo consists of 4 steps.

You first have to enter some customers Select a template Press generate Select a user, and test the single sing on.

Authentication

The internal REST calls use both certificate (QPS logout for example) and header authentication only for demo purposes. In production you would normally only use certificates, unless you have a authenticating reverse proxy. The end users connect to Sense via the Meteor virtual proxy (Sense QMC config item). Make sure that you also logout the user on this proxy. (you can login/logout per proxy!)

Setup your own SaaS provisioning system using this code

See this manual

Summary of the new automatic installation

  • install meteor
  • Clone QRSMeteor in some 'project root' directory
  • make a copy of the settings-development-example.json and update it. Make sure you update at least the host, webIntegrationHost, internalLanIP (hostname of Qlik Sense inside your LAN, this is just your computer name for simple setups), and port settings. If you install everything (qlik sense and the 2 meteor project on one machine, use the hostname, not localhost!). Update your Qlik Sense license. Set the customerDataDir, automationBaseFolder

Docker

I also created docker images but they are not yet ready to be used. (they can be used but contain an older version of this project)

  • docker pull qhose/qrsmeteor
  • docker pull qhose/sensewebintegration

See this flow chart. If want to know how to build a node image from a windows meteor project. Mind the tabs in the top with build and run.

Install your own deployment using the source code

see this manual to learn more about this source code. See this sequence diagram to view the flow in the source code of the application and with Qlik Sense engine and QRS API. See the QMC-API calls menu in the demo for the real time REST calls and their JSON messages.

Or this sequence diagram for the generation part Or this sequence diagram to see how this demo platform has implemented single sign on, using Qlik Sense ticketing.

Automation using the REST calls

The main connection between Meteor and Qlik Sense can be found here

Thank you

For always being available to support us with this project: Johan Bäcklin, Alexander Karlsson, Jeffrey Goldberg, Rob Fallows (Centiq Ltd)