jbpm
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.
1 cd ~
2 wget https://download.jboss.org/jbpm/release/7.73.0.Final/jbpm-server-7.73.0.Final-dist.zip
3 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
4 mkdir jbpm
5 mv jbpm-server-7.73.0.Final-dist.zip jbpm/
6 cd jbpm/
7 unzip jbpm-server-7.73.0.Final-dist.zip
8 # move war files out of deployments
9 mv standalone/deployments/*war .
10 bin/standalone.sh
11 nohup bin/standalone.sh 2>&1 &
12 bin/add-user.sh wbadmin wbadmin # add management user wbadmin
13 # http://127.0.0.1:9990 admin console
14 cp business-central.war standalone/deployments/
15 # http://localhost:8080/business-central
16 # Login/password: wbadmin/wbadmin
17 # OpenAPI Swagger http://localhost:8080/kie-server/docs
18 # https://hub.docker.com/r/jboss/jbpm-server-full
19 docker run -p 8080:8080 -p 8001:8001 -p 9990:9990 -d --name jbpm-server-full jboss/jbpm-server-full:latest
20 docker exec -it jbpm-server-full bash
21 cd ../standalone/log
22 tail -f server.log
Docker environment
1 docker network create jbpmnet
2 docker run --rm --name postgres-server --network jbpmnet -e POSTGRES_USER=jbpm -e POSTGRES_PASSWORD=jbpm -e POSTGRES_DB=jbpm -d postgres
3
4 # docker pull quay.io/kiegroup/jbpm-server-full
5
6 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
7
8 # http://127.0.0.1:9990 admin console
9 # http://localhost:8080/business-central
10 # Login/password: wbadmin/wbadmin
11 # OpenAPI Swagger http://localhost:8080/kie-server/docs
12 # https://hub.docker.com/r/jboss/jbpm-server-full
13 # https://quay.io/repository/kiegroup/jbpm-server-full
14 docker logs jbpm-server-full
15 docker exec -it jbpm-server-full bash
16 cd ../standalone/log
17 tail -f server.log
18 # http://localhost:8080/business-central/kie-wb.jsp
19
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 driver
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
- Add data source
Git clone test project
Predefined users
- wbadmin/wbadmin
- krisv/krisv
- john/john
- mary/mary
- katy/katy
- jack/jack
- kieserver/kieserver1!
Steps postgres + jbpm
1 # https://hub.docker.com/_/postgres
2 docker network create jbpmnet
3 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
4 docker build -t local-jbpm-image .
5 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
6 docker logs local-jbpm
7 # 16:26:41,290 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Admin console listening on
8 # http://0.0.0.0:9990
9 # http://127.0.0.1:9990/error/index.html
10 # add-user.sh
11 docker exec -it local-jbpm sh
12 /opt/jboss/wildfly/bin/add-user.sh -u userx -p 12345678
13 exit
14 # http://127.0.0.1:9990/console/index.html
15 # http://127.0.0.1:9990/console/index.html#configuration;path=configuration~subsystems!css~datasources!data-source-driver~datasources!ds-configuration~xa-dsc-jbpmxads
16 # http://127.0.0.1:9990/console/index.html#data-source-configuration;name=jBPMXADS;xa=true
17 # http://127.0.0.1:9990/console/index.html#configuration;path=configuration~subsystems!css~datasources!data-source-driver~jdbc-drivers!jdbc-driver~postgres
18
google chrome 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