This project serves as a context for the A4M36ISS course examination projects. It provides a standalone Docker file which simulates multiple information integrations that should be integrated in the workflow defined by an assignment. The Docker image is published at Docker Hub.
docker run -it -p 8082:8082 -p 9092:9092 -p 8080:8080 -p 8443:8443 jpechane/course-sys-int-systems
mvn clean install
docker build -t jpechane/course-sys-int-systems docker
- H2 Database table
ITEM - JDBC URL
jdbc:h2:tcp://localhost/~/exam - Credentials
sa/sa - Driver version
1.3.173 - Use command
java -jar h2-1.3.173.jar(link) - or any other JDBC viewer - to run web GUI and analyze the structure and the content of the table
- Endpoint exposed at
https://localhost:8443/accounting/rest/accounting/invoice/issue, usingPOSTmethod - Server certificate located at
docker/keystore.jks - Example of JSON message
{
"id": 1,
"address": {
"firstName": "Jiri",
"lastName": "Novak",
"street": "Purkynova",
"city": "Brno",
"zipCode": "602 00"
},
"items": [
{
"articleId": 10,
"count": 30,
"unitPrice": 3
}
]
}
- Example of JSON message
{
"invoiceId": 1000001,
"order": {
"id": 1,
"items": [ {
"articleId": 10,
"count": 30,
"unitPrice": 3
}],
"address": {
"firstName": "Jiri",
"lastName": "Novak",
"street": "Purkynova",
"city": "Brno",
"zipCode": "602 00"
}
},
"status": "ISSUED"
}
Accounting either issues invoices (status ISSUED) and assigns invoice id as order id incremented by one million.
If the total order price is either zero or less or over 1000 then it rejects invoce (status INVALID) and sets invoice id to -1.
- http://localhost:8080/supplier-a/SupplierAService?wsdl
- Server certificate located at
docker/keystore.jks - Secured by basic authentication with credentials
webuser/JBoss.123
| SKU | Price | Amount |
|---|---|---|
| fedora | 10 | 10 |
| rhel | 1000 | 5 |
| ubuntu | 2 | 50 |
If SKU does not exist then a fault is thrown. If amount queried is greater than available then the false is returned.
- http://localhost:8080/supplier-b/SupplierBService?wsdl
- Server certificate located at
docker/keystore.jks - Secured by https client authentication, use
docker/keystore.jks
| SKU | Price | Amount |
|---|---|---|
| fedora | 10 | 20 |
| rhel | 100 | 200 |
| ubuntu | 300 | 28 |
If SKU does not exist then a fault is thrown. If amount queried is greater than available then the false is returned.