Aplikácia Activiti Kickstart a Activiti Rest Webapp

1. Prehľad

V našich predchádzajúcich článkoch (na základe rozhrania Activiti API s programami Java a Spring) sme videli, ako programovo riadiť procesy. Ak chceme pripraviť ukážku spolu s používateľským rozhraním pre Activiti, máme dve webové aplikácie, ktoré nám to umožnia za pár minút.

activiti-app ponúka užívateľské rozhranie, prostredníctvom ktorého môže užívateľ vykonávať akékoľvek operácie spojené so správou identít a úloh, vytvárať používateľov a skupiny.

Podobne activiti-rest je webapp, ktorý poskytuje REST API na vykonávanie akýchkoľvek operácií na procese, úlohe, procese, atď.

V tomto článku sa pozrieme na to, ako tieto webové aplikácie používať a aké funkcie poskytujú.

2. Súbory na stiahnutie

Môžeme si stiahnuť vojna súbory pre obidve webové aplikácie zo samotnej webovej stránky Activiti.

V6.0.0 si môžeme jednoducho stiahnuť activiti-6.0.0.zip, extrahujte ho a vojna súbory nájdete v priečinku activiti-6.0.0 / vojny adresár.

3. Aplikácia Activiti Kickstart

Na nasadenie aplikácie budeme potrebovať funkčný runtime Java a inštaláciu Apache Tomcat. Fungoval by akýkoľvek webový kontajner, ale Activiti je testované predovšetkým na Tomcate.

Teraz musíme vojnu nasadiť na Tomcat a dostať sa k nej pomocou // localhost: 8080 / activiti-app.

Domovská stránka by mala vyzerať takto:

3.1. Databáza

V predvolenom nastavení používa databázu H2 v pamäti. Ak chceme zmeniť konfiguráciu DB, môžeme skontrolovať kód a upraviť súbor activiti-app.properties.

Po vykonaní tohto kroku musíme znova vygenerovať vojnový súbor, čo je možné vykonať spustením skriptu start.sh. Týmto sa postaví activiti-app spolu s požadovanými závislosťami.

3.2. Aplikácia Kickstart

Keď klikneme na Kickstart App, dostaneme možnosti pre prácu s a Proces. Môžeme vytvárať / importovať procesy a spúšťať ich odtiaľto.

Vytvorme malý proces, ktorý má jediný Úloha používateľa, ktorý prijme správu od používateľa. V aplikácii Kickstart vytvorte proces kliknutím na ikonu Procesy kartu a kliknite na Vytvoriť proces:

Otvorí sa editor procesov, kde môžeme myšou presúvať rôzne symboly pre počiatočné udalosti, rôzne typy úloh a konečné udalosti, ktoré definujeme Proces.

Ako pridávame a Úloha používateľa k nášmu procesu, musíme to niekomu prideliť. Môžeme to urobiť tak, že klikneme na priradenia z možností pre túto úlohu a vyberieme Postupca.

Pre jednoduchosť priradme úlohu iniciátorovi procesu:

Toto tiež chceme Úloha používateľa získať vstupnú správu od používateľa. Aby sme to dosiahli, musíme združiť a Forma, s jedným textovým poľom, s touto úlohou.

Vyberte ikonu Úloha používateľa a vyberte Odkazovaný formulár. Momentálne nie je Formulár spojené s úlohou, tak kliknite na Nový formulára pridajte požadované podrobnosti:

Potom nás zavedie do Formuláre oddiel, kde môžeme presúvať rôzne polia, ktoré chceme v našej podobe, a tiež pre ne nastaviť štítky:

Všimnite si, že sme zaškrtli Požadovaný, čo znamená Používateľ úlohu nemožno dokončiť bez zadania súboru Správa.

Po dokončení to uložíme a prejdeme na Aplikácie tab. Aby sme mohli spustiť proces, ktorý sme vytvorili, musíme si vytvoriť aplikáciu procesu.

V aplikácii Process môžeme pridať jeden alebo viac Definície procesov. Potom musíme túto aplikáciu zverejniť, aby Procesy sú sprístupnené ostatným používateľom:

3.3. Aplikácia úloh

V aplikácii Úlohy sú dve karty: Úlohy - pre aktuálne prebiehajúce úlohy a - Procesy - pre aktuálne spustený Procesy.

Akonáhle klikneme na ikonu Spustiť proces v Procesy Na karte sa zobrazí zoznam dostupných procesov, ktoré môžeme spustiť. Z tohto zoznamu vyberieme náš proces a klikneme na ikonu začať tlačidlo:

Náš proces obsahuje iba jednu úlohu a je to Úloha používateľa. Tento proces preto čaká na používateľa, ktorý dokončí túto úlohu. Keď klikneme na úlohu, na ktorú proces čaká, uvidíme formulár, ktorý sme vytvorili:

Ak klikneme na Zobraziť diagram, nielenže nám to ukáže Proces diagram, ale tiež zvýraznite úlohy, ktoré sú dokončené a úlohu, ktorá čaká. V našom prípade Úloha používateľa stále čaká, čo je zvýraznené:

Na dokončenie tejto úlohy môžeme kliknúť na ikonu Dokončené alen. Ako už bolo spomenuté, budeme musieť zadať Správa, keďže sme to ponechali povinné. Preto po vstupe do Správa, môžeme Dokončené úloha.

3.4. Aplikácia na správu identít

Okrem riadenia procesu máme aplikáciu na správu identít, ktorá nám umožňuje pridávať používateľov a skupiny. Môžeme tiež definovať roly pre používateľov.

4. Activiti REST

Activiti poskytuje REST API pre motor Activiti ktoré je možné nainštalovať nasadením activiti-rest.war súbor do servletového kontajnera ako Apache Tomcat.

V predvolenom nastavení sa modul Activiti Engine pripája k databáze H2 v pamäti. Presne ako sme to videli activiti-app, tu môžeme zmeniť nastavenie databázy v db.vlastnosti súbor v WEB-INF / triedy priečinok a znovu vytvoriť vojnový súbor.

Po spustení aplikácie môžeme túto základnú adresu URL použiť pre všetky žiadosti:

// localhost: 8080 / activiti-rest / service /

Štandardne všetky prostriedky REST vyžadujú autentifikáciu platného používateľa Activiti. Pri každom hovore REST by sa malo používať základné overenie prístupu HTTP.

4.1. Vytvorenie a spustenie procesu

Aby sme mohli vytvoriť proces, najskôr potrebujeme súbor BPMN pre náš proces. Môžeme buď vytvoriť súbor tak, ako je to popísané v našich predchádzajúcich článkoch, založený na Activiti s Javou, alebo si ho môžeme stiahnuť z časti Proces aplikácie Kickstart.

Musíme podať žiadosť POST spolu s contentType: multipart / form-data, kde nahráme súbor BPMN pre náš nový proces:

Úložisko / nasadenia POST

Keď toto volanie uskutočníme odovzdaním súboru BPMN pre proces, ktorý sme vytvorili, poskytne nasledujúci výstup:

{"id": "40", "name": "user_msg.bpmn20.xml", "deploymentTime": "2017-10-04T17: 28: 07.963 + 05: 30", "category": null, "url" : "// localhost: 8080 / activiti-rest / service / repository / deployments / 40", "tenantId": ""}

Teraz môžeme vidieť našu definíciu procesu, ak dostaneme všetky definície procesu:

ZÍSKAJTE definície archívu / procesu

Ďalej môžeme tento proces spustiť pomocou processKey ktoré sme spomenuli v súbore BPMN:

POST / runtime / instance procesu 

S týmto orgánom žiadosti:

{"processDefinitionKey": "user_msg"} 

Odpoveď bude:

{"id": "44", "url": "// localhost: 8080 / activiti-rest / service / runtime / process-instances / 44", "businessKey": null, "pozastavené": false, "ukončené" : false, "processDefinitionId": "user_msg: 1: 43", "processDefinitionUrl": "// localhost: 8080 / activiti-rest / service / repository / process-definitions / user_msg: 1: 43", "processDefinitionKey": " user_msg ", // ďalšie podrobnosti ...} 

Schému nášho bežiaceho procesu môžeme vidieť pomocou id inštancie procesu vrátenej s predchádzajúcou odpoveďou:

ZÍSKAJTE runtime / inštancie procesu / 44 / diagram 

Ako už bolo spomenuté, proces čaká na dokončenie používateľskej úlohy, a preto je zvýraznený v diagrame:

4.2. Dokončenie úlohy

Pozrime sa teraz na našu čakajúcu úlohu pomocou:

ZÍSKAJTE runtime / úlohy 

Odpoveď bude mať zoznam nespracovaných úloh. V súčasnosti existuje iba jedna úloha - naša Úloha používateľa:

{"data": [{"id": "49", "url": "// localhost: 8080 / activiti-rest / service / runtime / tasks / 49", "owner": null, "postupník": " $ INITIATOR "," delegationState ": null," name ":" User Input Message "," description ":" Úloha používateľa na vykonanie vstupu používateľa "," createTime ":" 2017-10-04T17: 33: 07.205 + 05: 30 "," dueDate ": null, // ďalšie podrobnosti ...}} 

Nakoniec dokončime túto úlohu pomocou úlohy id 49:

POST runtime / úlohy / 49 

Toto je požiadavka POST a musíme poslať akcia pole označujúce, čo chceme s úlohou urobiť. Úlohu môžeme „vyriešiť“, „dokončiť“ alebo „vymazať“. Môžeme tiež odovzdať pole premenných, ktoré je potrebné na dokončenie úlohy.

V našom prípade musíme odovzdať pole „správa“, ktoré je mimo textového poľa správy používateľa. Náš orgán žiadosti je teda:

{"action": "complete", "variables": [{"name": "message", "value": "Toto je správa zadaná používateľom"}]} 

5. Záver

V tomto článku sme diskutovali o tom, ako by sme mohli používať aplikáciu Activiti Kickstart a poskytnuté REST API.

Viac informácií o activiti-rest nájdete v používateľskej príručke a activiti-app podrobnosti nájdete v dokumentácii spoločnosti Alfresco.


$config[zx-auto] not found$config[zx-overlay] not found