Skip to content

Commit f535ba1

Browse files
committed
added new openlibertry setup (Issue #28)
1 parent 22af211 commit f535ba1

9 files changed

Lines changed: 415 additions & 115 deletions

File tree

Dockerfile-openliberty

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Start with OL runtime.
2+
FROM icr.io/appcafe/open-liberty
3+
#FROM icr.io/appcafe/open-liberty:24.0.0.12-kernel-slim-java17-openj9
4+
#FROM openliberty/open-liberty:kernel-java8-openj9-ubi
5+
6+
7+
8+
#FROM icr.io/appcafe/open-liberty:24.0.0.12-kernel-slim-java17-openj9-ubi
9+
10+
11+
12+
13+
ARG VERSION=1.0
14+
ARG REVISION=SNAPSHOT
15+
16+
LABEL \
17+
org.opencontainers.image.authors="Imixs-Workflow" \
18+
org.opencontainers.image.vendor="Imixs" \
19+
org.opencontainers.image.url="local" \
20+
org.opencontainers.image.source="https://github.com/imixs/imixs-process-manager" \
21+
org.opencontainers.image.version="$VERSION" \
22+
org.opencontainers.image.revision="$REVISION" \
23+
vendor="Open Liberty" \
24+
name="system" \
25+
version="$VERSION-$REVISION" \
26+
summary="Imixs Process Manager" \
27+
description="This image contains the Imixs Process Manager microservice running with the Open Liberty runtime."
28+
29+
USER root
30+
31+
# Copy postgres JDBC driver
32+
COPY ./docker/configuration/openliberty/postgresql-9.4.1212.jar /opt/ol/wlp/lib
33+
34+
COPY --chown=1001:0 ./docker/configuration/openliberty/server.xml /config/
35+
#COPY --chown=1001:0 ./target/*.war /config/apps/
36+
COPY --chown=1001:0 ./target/*.war /config/dropins/
37+
38+
39+
USER 1001
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ USER root
2222
# Copy postgres JDBC driver
2323
COPY ./docker/configuration/openliberty/postgresql-9.4.1212.jar /opt/ol/wlp/lib
2424

25-
COPY --chown=1001:0 ./docker/configuration/openliberty/server.xml /config/
25+
COPY --chown=1001:0 ./docker/configuration/openliberty/server_20.xml /config/server.xml
2626
#COPY --chown=1001:0 ./target/*.war /config/apps/
2727
COPY --chown=1001:0 ./target/*.war /config/dropins/
2828

README.md

Lines changed: 47 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -3,152 +3,149 @@
33

44
# The Imixs Process Manager
55

6-
76
The digitization of business processes has become a key challenge for modern application design.
87
Essentially, you only need two things to do this.
98

10-
- a process description - which you ideally create using the BPMN 2.0 standard
11-
- a runtime environment - which allows you to execute and persist your process instances in a secure way
9+
- a process description - which you ideally create using the BPMN 2.0 standard
10+
- a runtime environment - which allows you to execute and persist your process instances in a secure way
1211

1312
The Open Source project [Imixs-Workflow](http://www.imixs.org) provides you with an open and powerful workflow management platform that combines the design and the execution of business processes in a highly scalable and easy to use environment.
1413

15-
With the *Imixs Process Manager* you can start quickly and develop and test your own business process. And of course you can customize and extend this platform and use it for development as well as for production.
16-
14+
With the _Imixs Process Manager_ you can start quickly and develop and test your own business process. And of course you can customize and extend this platform and use it for development as well as for production.
1715

1816
## How to Install
1917

20-
The *Imixs Process Manager* comes with a Docker profile which enables you to start within seconds. If you haven't already installed Docker, follow the instructions [here](https://docs.docker.com/get-docker/).
18+
The _Imixs Process Manager_ comes with a Docker profile which enables you to start within seconds. If you haven't already installed Docker, follow the instructions [here](https://docs.docker.com/get-docker/).
2119

2220
Download the [docker-compose.yml](https://raw.githubusercontent.com/imixs/imixs-process-manager/master/docker-compose.yml) file...
2321

2422
```yaml
2523
version: "3.6"
2624
services:
27-
2825
imixs-db:
2926
image: postgres:9.6.1
3027
environment:
3128
POSTGRES_PASSWORD: adminadmin
3229
POSTGRES_DB: workflow-db
33-
volumes:
30+
volumes:
3431
- dbdata:/var/lib/postgresql/data
35-
32+
3633
imixs-app:
3734
image: imixs/imixs-process-manager:latest
3835
environment:
39-
TZ: "CET"
40-
LANG: "en_US.UTF-8"
36+
TZ: "CET"
37+
LANG: "en_US.UTF-8"
4138
JAVA_OPTS: "-Dnashorn.args=--no-deprecation-warning"
4239
POSTGRES_USER: "postgres"
4340
POSTGRES_PASSWORD: "adminadmin"
4441
POSTGRES_CONNECTION: "jdbc:postgresql://imixs-db/workflow-db"
4542
ports:
4643
- "8080:8080"
4744
- "8787:8787"
48-
- "9990:9990"
45+
- "9990:9990"
4946
volumes:
5047
dbdata:
5148
```
5249
5350
... and run
5451
55-
$ docker-compose up
56-
57-
After a few seconds the Imixs Process Manager is up and running. You can access it from your web browser at: [http://localhost:8080/](http://localhost:8080/)
52+
$ docker-compose up
5853
54+
After a few seconds the Imixs Process Manager is up and running. You can access it from your web browser at: [http://localhost:8080/](http://localhost:8080/)
5955
6056
<img src="./screen-002.png" />
6157
6258
You can upload your own process model and create customized forms. You can view and search running process instances.
6359
6460
<img src="./screen-001.png" />
6561
66-
67-
68-
69-
7062
## Authentication and Authorization
7163
72-
Imixs-Workflow is a human-centric workflow engine which means that each actor need to authenticate against the service to interact.
64+
Imixs-Workflow is a human-centric workflow engine which means that each actor need to authenticate against the service to interact.
7365
74-
The default setup of the *Imixs Process Manager* provides a set of predefined users which can be used for testing purpose. The test users are stored in a separate user and roles properties files. See the following list of predefined test user accounts:
66+
The default setup of the _Imixs Process Manager_ provides a set of predefined users which can be used for testing purpose. The test users are stored in a separate user and roles properties files. See the following list of predefined test user accounts:
7567
76-
| User | Role | Password |
77-
|---------|------------------------|----------|
68+
| User | Role | Password |
69+
| ------- | ---------------------- | ---------- |
7870
| admin | IMIXS-WORKFLOW-Manager | adminadmin |
79-
| alex | IMIXS-WORKFLOW-Manager | password |
80-
| marty | IMIXS-WORKFLOW-Author | password |
81-
| melman | IMIXS-WORKFLOW-Author | password |
82-
| gloria | IMIXS-WORKFLOW-Author | password |
83-
| skipper | IMIXS-WORKFLOW-Author | password |
71+
| alex | IMIXS-WORKFLOW-Manager | password |
72+
| marty | IMIXS-WORKFLOW-Author | password |
73+
| melman | IMIXS-WORKFLOW-Author | password |
74+
| gloria | IMIXS-WORKFLOW-Author | password |
75+
| skipper | IMIXS-WORKFLOW-Author | password |
8476
8577
You can add accounts or change the default account later, by updating the files "_sampleapp-roles.properties_" and "_sampleapp-users.properties_". You can also configure a different custom security realm (e.g. LDAP or Database).
8678
8779
You will find more information about the security concept in the [Imixs-Workflow Deployent guide](https://www.imixs.org/doc/deployment/index.html).
8880
89-
90-
91-
92-
9381
## Process Design
9482
95-
You can define your own business process models using the [Imixs-BPMN modeller tool](https://www.imixs.org/doc/modelling/index.html) and you can upload and execute your models directly within Imixs Process Manager. General information about how to model can be found [here](https://www.imixs.org/doc/modelling/howto.html).
83+
You can define your own business process models using the [Imixs-BPMN modeller tool](https://www.imixs.org/doc/modelling/index.html) and you can upload and execute your models directly within Imixs Process Manager. General information about how to model can be found [here](https://www.imixs.org/doc/modelling/howto.html).
9684
9785
The Imixs Process Manager allows you to define custom forms for your business process without programming. By defining an XML template, you can store forms directly in a BPMN 2.0 model.
9886
9987
<img src="https://raw.githubusercontent.com/imixs/imixs-process-manager/master/src/main/webapp/pages/model-example.png" />
10088
10189
Example:
10290
91+
```xml
10392
<?xml version="1.0"?>
10493
<imixs-form>
10594
<imixs-form-section label="Order">
10695
<item name="_orderid" type="text" label="Order ID:" />
10796
<item name="_orderdate" type="date" label="Order Date:" />
10897
</imixs-form-section>
10998
</imixs-form>
99+
```
110100

111101
You can create and change your models at runtime without interrupting your workflow instance.
112102

113-
114-
115103
## Jakarta EE 10
116104

117105
**Note:** Imixs-Workflow and the Imixs-Process-Manager are based on [Jakarta EE 10](https://jakarta.ee/). The project is currently developed based on [Wildfly version 27.0.0.Final](https://wildfly.org).
118106

119-
120107
## Build
121108

122109
To build the artifact from sources run:
123110

124-
$ mvn clean install
125-
111+
$ mvn clean install
112+
126113
To build the new Docker Image run:
127114

128-
$ mvn clean install -Pdocker
129-
130-
To run Wildfly Server in debug mode (port 8787) you can build the Docker Image with:
115+
$ mvn clean install -Pdocker
131116

132-
$ mvn clean install -Pdebug
133-
117+
To run Wildfly Server in debug mode (port 8787) you can build the Docker Image with:
134118

119+
$ mvn clean install -Pdebug
135120

136121
### Run
137122

138123
To start the Imixs-Process Manger with docker-compose, run:
139124

140-
$ docker-compose -f docker-compose-dev.yaml up
141-
125+
$ docker-compose -f docker-compose-dev.yaml up
142126

143127
## Autodeploy & Hot Deploy
144128

145-
We use the [Manik Hot-Deploy Plugin](https://manik.imixs.org/) to auto deploy the application during development.
129+
We use the [Manik Hot-Deploy Plugin](https://manik.imixs.org/) to auto deploy the application during development.
146130
To update the deployment just run:
147131

148-
$ mvn install
149-
132+
$ mvn install
133+
150134
During development of Jakarta EE Faces you can run the autodeploy mode to update your Web Frontend autoamtically:
151135

152-
$ mvn manik-hotdeploy:hotdeploy
136+
$ mvn manik-hotdeploy:hotdeploy
137+
138+
In this mode the Manik-Plugin will detect updates of the Web Frontend and updates your running applicaton.
139+
140+
## Open Liberty
141+
142+
To run the application on the Open Liberty Application Server with Docker run:
143+
144+
$ mvn clean install -Pdocker-build-openliberty
145+
$ docker-compose -f docker-compose-openliberty.yml up
146+
147+
The application running on OpenLiberty is available from:
148+
149+
http://localhost:9080/
153150

154-
In this mode the Manik-Plugin will detect updates of the Web Frontend and updates your running applicaton.
151+
You can find the configuration details of open liberty server in /src/docker/configuration/openliberty/

devi

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
#!/bin/bash
2+
3+
############################################################
4+
# The Imixs Developer Script
5+
# start, build, hot, setup, deploy
6+
#
7+
############################################################
8+
9+
# Funktion zum Entfernen des '-' Zeichens von einem Parameter
10+
strip_dash() {
11+
echo "$1" | sed 's/^-//'
12+
}
13+
14+
echo " _ _ _ _ "
15+
echo " __| | _____ _(_) | |__ ___| |_ __"
16+
echo " / _\` |/ _ \\ \\ / / | | '_ \\ / _ \\ | \'_ \\"
17+
echo "| (_| | __/\ V /| | | | | | __/ | |_) |"
18+
echo " \__,_|\___| \_/ |_| |_| |_|\___|_| .__/ "
19+
echo " |_| "
20+
echo " Imixs Developer Script..."
21+
echo "_________________________________________"
22+
23+
# Verify params
24+
25+
26+
if [[ "$(strip_dash $1)" == "docker" ]]; then
27+
echo "├── Build Docker Image..."
28+
mvn clean install
29+
30+
# get project version from pom.xml
31+
PLATFORM=$2
32+
IMAGENAME=imixs/imixs-process-manager
33+
echo " "
34+
echo "│ ├── platform: $PLATFORM"
35+
36+
docker build -f Dockerfile-$PLATFORM -t $IMAGENAME .
37+
38+
echo " "
39+
echo " "
40+
echo "├── Build finished! "
41+
42+
fi
43+
44+
if [[ "$(strip_dash $1)" == "start" ]]; then
45+
echo "├── Start Dev Environment..."
46+
PLATFORM="dev"
47+
if [ $2 != "" ]; then
48+
PLATFORM=$2
49+
fi
50+
echo "│ ├── platform: $PLATFORM"
51+
docker-compose -f ./docker-compose-$PLATFORM.yaml up
52+
fi
53+
54+
if [[ "$(strip_dash $1)" == "build" ]]; then
55+
echo " Build and Autodeploy..."
56+
mvn clean install -DskipTests
57+
fi
58+
59+
if [[ "$(strip_dash $1)" == "test" ]]; then
60+
echo " Run JUnit Tests..."
61+
mvn clean test
62+
fi
63+
64+
if [[ "$(strip_dash $1)" == "hot" ]]; then
65+
echo "* Hotdeploy..."
66+
cd *-app
67+
mvn manik-hotdeploy:hotdeploy
68+
cd ..
69+
fi
70+
71+
72+
73+
# Überprüfen, ob keine Parameter übergeben wurden - standard build
74+
if [[ $# -eq 0 ]]; then
75+
76+
echo " Run with ./dev.sh -XXX"
77+
echo " "
78+
echo " -start {PLATFORM} : start Docker Container for a platform (wildfly | openliberty | payara)"
79+
echo " -docker {PLATFORM} : build the Docker image for a platform (wildfly | openliberty | payara)"
80+
echo " -build : run maven build"
81+
echo " -test : run maven tests"
82+
echo " -hot : run Manik Hotdeploy"
83+
echo "_________________________________________________________________________________________"
84+
echo " "
85+
86+
fi

docker-compose-openliberty_20.yaml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
version: "3.6"
2+
services:
3+
4+
imixssample-db:
5+
image: postgres:9.6.1
6+
environment:
7+
POSTGRES_PASSWORD: adminadmin
8+
POSTGRES_DB: workflow-db
9+
10+
imixssample-app:
11+
image: imixs/imixs-process-manager
12+
environment:
13+
MODEL_DEFAULT_DATA: "ticket.bpmn"
14+
TZ: "Europe/Berlin"
15+
ports:
16+
- "9080:9080"
17+
- "9443:9443"
18+
- "7777:7777"
19+
# volumes:
20+
# - ./docker/deployments:/config/dropins/
21+
22+
23+
24+
25+
# imixsadmin:
26+
# image: imixs/imixs-admin
27+
# ports:
28+
# - "8888:8080"
Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,21 @@
11
# Open Liberty
22

3-
This folder contains configuration files used to build a docker container running Open Libertry
3+
This folder contains configuration files used to build a docker container running Open Liberty
44

55
To build the Docker Image run:
66

7-
$ mvn clean install -Pdocker-openliberty
8-
7+
$ mvn clean install -Pdocker-openliberty
8+
99
After you have build the image with the sample application you can start the corresponding Docker-Stack with:
1010

11-
$ docker-compose -f docker-compose-openliberty.yml up
12-
13-
and run the sample applciation at:
11+
$ docker-compose -f docker-compose-openliberty.yml up
1412

15-
http://localhost:9080/
13+
and run the sample applciation at:
1614

15+
http://localhost:9080/
1716

1817
## Configuration
1918

2019
You can find the server configuration details for the OpenLiberty server in the config directory
2120

22-
/src/docker/configuration/openliberty/
23-
24-
21+
/src/docker/configuration/openliberty/

0 commit comments

Comments
 (0)