Vimur AB

Vi går igenom Qlik Application Automation

Qlik Application Automation (Qlik AA) lanserades nyligen som en användbar feature i Cloud-miljö. Den hjälper till med att automatisera arbetsflöden i Qlik Sense Saas. Den underlättar också interoperabilitet mellan olika molnbaserade tjänster, och även andra företags applikationer och tjänster kan inkluderas i automatiseringen. 

Hur funkar Qlik Application Automation?

Den bygger inte på kodning, utan har ett grafiskt gränssnitt, där ett exekveringsflöde byggs upp av block, men i bakgrunden byggs en json-struktur parallellt upp. Flödet genom blocken utgörs av listor som manipuleras på olika sätt. Detta gör den genom att koppla mot olika datakällor, ange villkor, anrop till webhooks, ange loopar och triggers m.m. Även om blocken bygger flödet av listor, så krävs det parametrar eller formler i varje block för att styra dess funktion.

De tillämpningsområden som vanligtvis nämns, är automatisering av omladdning av applikationer (task-chaining), ta backups, och skicka mejl vid BI-relaterade händelser. Såklart finns det en uppsjö av små fiffigheter som underlättar livet bland molnen, men de har ofta en viss karaktär av kort livslängd och omständighet över sig. Därför ville vi på Vimur ge er ett konkret exempel där denna funktionalitet gör ett lysande jobb.

Att välja ett visuellt interface för den här typen av tillämpning är helt rätt, och passar bra i linje med Qliks visuella inriktning i övrigt. Visuell programmering är förvisso inget nytt, det har funnits sedan 80-talet, och jag kommer osökt att tänka på ProGraph, ett visuellt objektorienterat och listbaserat programeringsspråk för mac som jag bekantade mig i slutet av 90-talet. 

Tillämpningar 

Handen på hjärtat, det finns bättre tillämpningar av Qlik AA än bara som en proxy för olika meddelanden, tack och lov. Bortsett från det så råder det ingen tvekan om att det går att göra andra typer av automatiseringar, som spar tid, bekymmer och pengar, även på lång sikt. 

Ni bör ta en funderare över vad som är värt att investera tid i att automatisera, och detta innan man påbörjar ett nytt lager av automatiserad infrastruktur. Det kan relativt snabbt blir både rörigt och komplicerat med många beroenden som måste underhållas och skötas över tid. Att bygga komplicerade strukturer i det här verktyget kan vara både svårt och tidsödande. Här finns utrymme för förbättringar och nya typer av block. Förhoppningsvis kommer det här verktyget utvecklas mer över tid. 

Vår tillämpning

Nu till den mer relevanta frågan, vad ska vi applicera vår automation på? Den bör appliceras på en kritisk uppgift, eller funktion, eliminera både krångel och risken för mänskliga misstag, vara pålitlig och betala sig i längden.

Vi har nyligen byggt en solid Qlik Sense Saas-lösning där vi fann att Qlik AA fyller en riktigt bra och nyttig funktion. Lösningen består i princip av en utveckling- och testlinje (U/T), där vi utvecklar och testar våra applikations-lösningar, samt en produktions-linje (P) där vi publicerar applikationerna. 

I varje steg av U/T-linjen och P-linjen, dvs för Extract-Transform- och Global Transform-stegen, finns det en rad applikationer som bearbetar indata och producerar utdata. När vi förändrar dessa i U/T-linjen, måste de korresponderade applikationerna också uppdateras i Produktions-linjen (P). 

Det här görs när förändringen är färdigutvecklad och testad och med hjälp av publicering av applikationerna till P-linjen. Därefter måste varje applikation exekveras i tur och ordning så att förändringen propagerar genom stegen, innan slutligen tex. datakonsumtionsapplikationen Sales kan laddas om.

Det är en ganska lång och krånglig process där risken för ”den mänskliga faktorn” blir stor. Ju fler manuella steg, desto större risk att förändringen inte slår igenom hela vägen. Här kommer verkligen en automatisering av processen till hands:

  1. Publicera varje applikation från U/T-linjen till P-linjen.
  2. Ladda om varje applikation i P-linjen i tur och ordning.

Det hela är rätt enkelt. Dessa två steg körs efter varandra, och därmed blir förändringen implementerad i P-linjen.

Hoppas detta exempel gav er mersmak på vilken typ av tillämpningar Qlik AA kan användas till.

Sammanfattning

Qlik AA är onekligen ett kraftfullt och nydanande verktyg, som bla. ger oss möjligheten att nyttja Qliks API på ett förtjänstfullt sätt. Detta är värdefullt då mycket användbara anrop finns listade. Att bygga med block är roligt, smidigt och går relativt snabbt, men det tar en god stund att få rätt på flödet av listor och deras innehåll. Det går säkert fortare när man behärskar tekniken bättre och vet vad som fungerar och vad som inte fungerar. Det råder det ingen tvekan om att det går att göra andra typer av automatiseringar, som spar tid, bekymmer och pengar, även på lång sikt.

Som avslutning lämnar jag er med några tips och erfarenheter som jag tror kan underlätta arbetet med Qlik AA. Hoppas de hjälper er väg mot att bli en bättre Qlik-användare!

  • Det underlättar naturligtvis att automatiseringen tillämpas på en redan definierad manuell process. Stegen är då redan identifierade och kan tjäna som input i automatiseringsskedet
  • Exekveringen sker i loopar, och varje loop utförs på föregående loops listinnehåll
  • Vid transformeringar av listor kan fältnamnen ändras, men också innehållet med hjälp av formler
  • Namngivning av applikationer och utrymmen bör vara konsekventa, detta underlättar när specifika applikationer och dess publicerade kopior ska identifieras och användas i automationsflödet.
  • Håll flödet enkelt. Det är lätt att bygga med blocken men det är omständligt ifall block måste flyttas.
  • Det är en utmaning att succesivt förädla listor i flödet fram till den punkt där fälten passar som parametrar till de specifika API-anrop som görs i bakgrunden av block av typen Connection.
  • Föreslagna listor i drop-down är de val man bör hålla sig till.
  • Om en loop plötsligt exekveras bara 1 gång är det troligt att ett stoppblock smugit sig in längre ner 😉
  • Vid en sammanslagning (merge) av två listor måste de befinna sig inom samma huvudloop.

Rickard Persson
BI-konsult på Vimur AB

Tips!

Ni har väl inte missat vår nya serie Leda till Framgång?! I första avsnittet träffar vi Jesper Svensson som är VD på börsnoterade Clemondo AB. Företaget var inne i en negativ trend när Jesper tillträdde. Han har sedan dess omorganiserat, vänt de negativa siffrorna och dessutom, som relativt ny på jobbet, tagit företaget igenom en pandemi och gjort det med bravur. 

Har du frågor?
Kontakta Håkan!