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.