Az Activiti Kickstart alkalmazás és az Activiti Rest Webapp

1. Áttekintés

Korábbi cikkeinkben (az Activiti API Java és Spring alapján) láttuk, hogyan lehet programszerűen kezelni a folyamatokat. Ha bemutatót szeretnénk létrehozni, az Activiti felhasználói felületével együtt két webappunk van, amelyek lehetővé teszik számunkra, hogy ezt néhány perc alatt elvégezzük.

activiti-app felhasználói felületet kínál, amelyen keresztül a felhasználó bármilyen identitáskezelési és feladatkezelési műveletet elvégezhet, hozzon létre felhasználókat és csoportokat.

Hasonlóképpen, activiti-pihenés egy olyan webalkalmazás, amely a REST API-t biztosítja bármely folyamat, feladat, folyamat bármely műveletének végrehajtásáhozstb.

Ebben a cikkben megvizsgáljuk, hogyan kell használni ezeket a webalkalmazásokat, és milyen funkciókat nyújtanak.

2. Letöltések

Letölthetjük a háború fájlok mindkét webalkalmazáshoz magától az Activiti webhelytől.

A v6.0.0 verzióhoz egyszerűen letölthetjük a activiti-6.0.0.zip, kivonat, és a háború fájlok megtalálhatók itt: activiti-6.0.0 / háborúk Könyvtár.

3. Activiti Kickstart App

Az alkalmazás telepítéséhez működő Java futási időre és Apache Tomcat telepítésre lesz szükségünk. Bármely webes tároló működne, de az Activiti-t elsősorban a Tomcat-on tesztelik.

Most csak a háborút kell bevetnünk Tomcatra, és ahhoz hozzá kell férnünk // localhost: 8080 / activiti-app.

A kezdőlapnak így kell kinéznie:

3.1. Adatbázis

Alapértelmezés szerint a H2 memóriában lévő adatbázist használja. Ha meg akarjuk változtatni a DB konfigurációját, megnézhetjük a kódot, és módosíthatjuk az activiti-app.properties fájlt.

Ezt követően újra kell generálnunk a war fájlt, amelyet a start.sh parancsfájl futtatásával lehet megtenni. Ez felépíti a activiti-app a szükséges függőségekkel együtt.

3.2. Kickstart App

Amikor rákattintunk a Kickstart alkalmazásra, megkapjuk a Folyamat. Létrehozhatunk / importálhatunk és futtathatunk innen.

Hozzunk létre egy kis folyamatot, amelynek egyetlen van Felhasználói feladat, amely üzenetet kap egy felhasználótól. A Kickstart alkalmazásba való belépés után válassza ki a folyamatot Folyamatok fülre, és kattintson a gombra Folyamat létrehozása:

Megnyílik a folyamatszerkesztő, ahol a kezdő események, a különféle típusú feladatok és a befejező események különböző szimbólumait áthúzhatjuk az a meghatározásához Folyamat.

Ahogy hozzáadjuk a Felhasználói feladat folyamatunkhoz hozzá kell rendelnünk valakihez. Megtehetjük, ha rákattintunk a feladat lehetőségeihez tartozó hozzárendelésekre, és kiválasztjuk a Engedményes.

Az egyszerűség kedvéért rendeljük hozzá a feladatot a folyamatindítóhoz:

Mi is ezt akarjuk Felhasználói feladat hogy bemeneti üzenetet kapjon a felhasználótól. Ennek eléréséhez társítanunk kell a Forma, egyetlen szövegmezővel, ezzel a feladattal.

Válaszd ki a Felhasználói feladat és válassza ki Hivatkozott űrlap. Jelenleg nincs Forma a feladathoz társítva, ezért kattintson a gombra Új űrlap, és adja hozzá a szükséges részleteket:

Ezek után elvezet minket a Formák szakasz, ahol áthúzhatunk különféle mezőket, amelyeket formánkban szeretnénk, és címkéket is beállíthatunk hozzájuk:

Figyelje meg, hogy bejelöltük a Kívánt, ami azt jelenti Felhasználó a feladat nem hajtható végre a Üzenet.

Ha elkészült, elmentjük, és továbblépünk Alkalmazások fülre. Az általunk létrehozott folyamat futtatásához létre kell hoznunk egy Process alkalmazást.

A Process alkalmazásban felvehetünk egyet vagy többet Folyamatdefiníciók. Ezt követően közzé kell tennünk ezt az alkalmazást, hogy a Folyamatok elérhetővé válnak más felhasználók számára:

3.3. Feladat App

A Feladat alkalmazásban két fül található: Feladatok - a jelenleg futó feladatokhoz, és Folyamatok - a jelenleg futó Folyamatok.

Miután rákattintunk a Indítsa el a folyamatot ban ben Folyamatok lapon megkapjuk az elérhető folyamatok listáját, amelyeket futtathatunk. Ebből a listából kiválasztjuk a folyamatunkat és rákattintunk a gombra Rajt gomb:

Folyamatunk csak egyetlen feladatot tartalmaz, és ez a Felhasználói feladat. Ezért a folyamat arra vár, hogy a felhasználó elvégezze ezt a feladatot. Ha rákattintunk arra a feladatra, amelyre a folyamat vár, láthatjuk a létrehozott űrlapot:

Ha rákattintunk Diagram megjelenítése, nem csak megmutatja nekünk a Folyamat ábrán, de emelje ki a befejezett és a függőben lévő feladatokat is. Esetünkben a Felhasználói feladat továbbra is függőben van, amelyet kiemelnek:

A feladat elvégzéséhez kattintson a gombra teljes button. Mint korábban említettük, be kell írnunk a Üzenet, mivel kötelezőnek tartottuk. Ezért, miután belépett a Üzenet, tudunk teljes a feladat.

3.4. Identity Management App

A folyamat kezelésén kívül rendelkezünk egy Identity Management alkalmazással, amely lehetővé teszi számunkra a felhasználók és csoportok hozzáadását. Meghatározhatunk szerepeket a felhasználók számára is.

4. Activiti REST

Az Activiti REST API-t biztosít az Activiti Engine számára telepítésével telepíthető a activiti-rest.war fájl egy szervlet-konténerbe, mint például az Apache Tomcat.

Alapértelmezés szerint az Activiti Engine csatlakozik a memóriában lévő H2 adatbázishoz. Pont úgy, ahogy beláttunk activiti-app, itt megváltoztathatjuk az adatbázis beállításait a db.tulajdonságok fájl a WEB-INF / osztályok mappát, és hozza létre újra a háborús fájlt.

Ha az alkalmazás fut és fut, akkor ezt az alap URL-t használhatjuk az összes kéréshez:

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

Alapértelmezés szerint az összes REST erőforrás érvényes Activiti felhasználó hitelesítését igényli. Alapvető HTTP hozzáférési hitelesítést kell használni minden REST híváshoz.

4.1. Folyamat létrehozása és futtatása

Folyamat létrehozásához először a BPMN fájlra van szükségünk a folyamatunkhoz. Vagy létrehozhatjuk a fájlt a korábbi cikkekben leírtak szerint az Activiti Java használatával, vagy letölthetjük a Kickstart alkalmazás Folyamat szakaszából.

POST-kérést kell benyújtanunk a contentType: többrészes / űrlap-adat, ahova feltöltöttük a BPMN fájlt új folyamatunkhoz:

POST-tár / telepítések

Amikor ezt a hívást úgy hajtjuk végre, hogy átadjuk a BPMN fájlt a létrehozott folyamathoz, az a következő kimenetet adja:

{"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": ""}

Most láthatjuk a folyamatdefiníciónkat, ha megkapjuk az összes folyamatdefiníciót:

GET lerakat / folyamatdefiníciók

Ezután futtathatjuk ezt a folyamatot a processKey amelyet a BPMN fájlban említettünk:

POST / futásidejű / folyamat-példányok 

Ezzel a kérelmező szervvel:

{"processDefinitionKey": "user_msg"} 

A válasz a következő lesz:

{"id": "44", "url": "// localhost: 8080 / activiti-rest / service / runtime / process-instances / 44", "businessKey": null, "felfüggesztve": hamis, "vége" : false, "processDefinitionId": "user_msg: 1: 43", "processDefinitionUrl": "// localhost: 8080 / activiti-rest / service / repository / process-definitions / user_msg: 1: 43", "processDefinitionKey": " user_msg ", // egyéb részletek ...} 

A. Segítségével láthatjuk futási folyamatunk diagramját id az előző válaszsal visszaadott folyamatpéldány:

GET futásidejű / folyamat-példányok / 44 / diagram 

Amint azt korábban említettük, a folyamat a felhasználói feladat befejezésére vár, ezért a diagram kiemeli:

4.2. Feladat végrehajtása

Vessünk egy pillantást függőben lévő feladatunkra:

GET futási idő / feladatok 

A válasz a függőben lévő feladatok listáját tartalmazza. Jelenleg csak egy feladat van - a mi Felhasználói feladat:

{"data": [{"id": "49", "url": "// localhost: 8080 / activiti-rest / service / runtime / task / 49", "tulajdonos": null, "megbízott": " $ INITIATOR "," delegationState ": null," name ":" User Input Message "," description ":" Felhasználói feladat felhasználói bevitelre "," createTime ":" 2017-10-04T17: 33: 07.205 + 05: 30 "," dueDate ": null, // egyéb részletek ...}} 

Végül végezzük el ezt a feladatot a feladat segítségével id 49:

POST futásideje / feladatok / 49 

Ez egy POST kérés, és el kell küldenünk a akció mező jelzi, hogy mit akarunk kezdeni a feladattal. Feladatot „megoldhatunk”, „befejezhetünk” vagy „törölhetünk”. Továbbá átadhatunk egy változótömböt, amelyet a feladat elvégzéséhez szükséges.

Esetünkben át kell adnunk egy „üzenet” mezőt, amely a out of User Message szövegmező. Tehát kérő testületünk:

{"action": "complete", "variables": [{"name": "message", "value": "Ez egy felhasználói beviteli üzenet"}]} 

5. Következtetés

Ebben a cikkben megvitattuk, hogyan használhatnánk az Activiti Kickstart alkalmazást és a biztosított REST API-t.

További információ activiti-pihenés megtalálható a Felhasználói kézikönyvben, és activiti-app részletek megtalálhatók az Alfresco dokumentációjában.