<> = jbpm = * https://www.jbpm.org/ * https://www.jbpm.org/learn/gettingStartedUsingSingleZipDistribution.html jBPM is a toolkit for building business applications to help automate business processes and decisions BPM makes the bridge between business analysts, developers and end users, by offering process management features and tools in a way that both business users and developers like it. {{{#!highlight sh cd ~ wget https://download.jboss.org/jbpm/release/7.73.0.Final/jbpm-server-7.73.0.Final-dist.zip curl https://download.jboss.org/jbpm/release/7.73.0.Final/jbpm-server-7.73.0.Final-dist.zip -o jbpm-server-7.73.0.Final-dist.zip mkdir jbpm mv jbpm-server-7.73.0.Final-dist.zip jbpm/ cd jbpm/ unzip jbpm-server-7.73.0.Final-dist.zip # move war files out of deployments mv standalone/deployments/*war . bin/standalone.sh nohup bin/standalone.sh 2>&1 & bin/add-user.sh wbadmin wbadmin # add management user wbadmin # http://127.0.0.1:9990 admin console cp business-central.war standalone/deployments/ # http://localhost:8080/business-central # Login/password: wbadmin/wbadmin # OpenAPI Swagger http://localhost:8080/kie-server/docs # https://hub.docker.com/r/jboss/jbpm-server-full docker run -p 8080:8080 -p 8001:8001 -p 9990:9990 -d --name jbpm-server-full jboss/jbpm-server-full:latest docker exec -it jbpm-server-full bash cd ../standalone/log tail -f server.log }}} == Docker environment == * https://hub.docker.com/r/jboss/jbpm-server-full * https://quay.io/repository/kiegroup/jbpm-server-full * https://hub.docker.com/_/postgres {{{#!highlight sh docker network create jbpmnet docker run --rm --name postgres-server --network jbpmnet -e POSTGRES_USER=jbpm -e POSTGRES_PASSWORD=jbpm -e POSTGRES_DB=jbpm -d postgres # docker pull quay.io/kiegroup/jbpm-server-full docker run --rm -p 8080:8080 -p 8001:8001 -p 9990:9990 -d --network jbpmnet --name jbpm-server-full -e JBPM_DB_DRIVER=postgres -e JBPM_DB_HOST=postgres-server quay.io/kiegroup/jbpm-server-full:latest # http://127.0.0.1:9990 admin console # http://localhost:8080/business-central # Login/password: wbadmin/wbadmin # OpenAPI Swagger http://localhost:8080/kie-server/docs # https://hub.docker.com/r/jboss/jbpm-server-full # https://quay.io/repository/kiegroup/jbpm-server-full docker logs jbpm-server-full docker exec -it jbpm-server-full bash cd ../standalone/log tail -f server.log # http://localhost:8080/business-central/kie-wb.jsp }}} === Add driver === * admin, data sources, data source explorer * Add driver * name pgsql * driver class name: org.postgresql.Driver * groupId: org.postgresql * artifactId: postgresql * version: 42.5.2 === Add data source === * admin, data sources, data source explorer * Add data source * Datasource: jbpmds * connection URL: jdbc:postgresql://postgres-server:5432/jbpm * user: jbpm * driver jbpm === Git clone test project === {{{#!highlight sh git clone ssh://wbadmin@localhost:8001/MySpace/teste cd teste/ ls nano readme.md git add readme.md ls git commit -m "changed readme" git pull origin master git push origin master }}} == Predefined users == * wbadmin/wbadmin * krisv/krisv * john/john * mary/mary * katy/katy * jack/jack * kieserver/kieserver1! == Steps postgres + jbpm == {{{#!highlight sh # https://hub.docker.com/_/postgres docker network create jbpmnet docker run --rm --name postgres-server --network jbpmnet -e POSTGRES_USER=jbpm -e POSTGRES_PASSWORD=jbpm -e POSTGRES_DB=jbpm -d postgres:17.4-alpine docker build -t local-jbpm-image . docker run --rm -p 8080:8080 -p 8001:8001 -p 9990:9990 -d --network jbpmnet --name local-jbpm -e JBPM_DB_DRIVER=postgres -e JBPM_DB_HOST=postgres-server local-jbpm-image docker logs local-jbpm # 16:26:41,290 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Admin console listening on # http://0.0.0.0:9990 # http://127.0.0.1:9990/error/index.html # add-user.sh docker exec -it local-jbpm sh /opt/jboss/wildfly/bin/add-user.sh -u userx -p 12345678 exit # http://127.0.0.1:9990/console/index.html # http://127.0.0.1:9990/console/index.html#configuration;path=configuration~subsystems!css~datasources!data-source-driver~datasources!ds-configuration~xa-dsc-jbpmxads # http://127.0.0.1:9990/console/index.html#data-source-configuration;name=jBPMXADS;xa=true # http://127.0.0.1:9990/console/index.html#configuration;path=configuration~subsystems!css~datasources!data-source-driver~jdbc-drivers!jdbc-driver~postgres }}} * google chrome http://localhost:8080/business-central * http://localhost:8080/business-central * user wbadmin password wbadmin * Design, myspace, Add project, TestProject, Add * Add asset , business process, TestBizProcess1, package com.myspace.testproject, ok * Drag start event, start * Drag end events, end * Drag activities, tasks, user task * Create sequence flows between start, user task and end * Right mouse button model, Process, Process data, process variables , +, name: message data type: string * select user task , implementation/execution * assignments, data output and assignments, add name: messageOut data type: string target: message OK * validate (button check mark) * save * generate process form button * Click breadcrumb, TestProject * TestProject Test, Build, Deploy * Menu, Manage, Process instances , new process instance * process definition: TestProcess.TestBizProcess1 Start * Test message 1 * Submit {{{#!highlight sh cd ~ git clone ssh://wbadmin@localhost:8001/MySpace/TestProject cd TestProject/ cd main/resources/com/myspace/testproject/ cat TestProject.TestBizProcess1-taskform.frm | json_pp }}}