https://github.com/alainpham/jboss-middleware-empowered
JBoss middleware demos including JBoss Fuse, JBoss Data Grid, JBoss BRMS always with nice dashboards to see what's going on
https://github.com/alainpham/jboss-middleware-empowered
Last synced: 2 months ago
JSON representation
JBoss middleware demos including JBoss Fuse, JBoss Data Grid, JBoss BRMS always with nice dashboards to see what's going on
- Host: GitHub
- URL: https://github.com/alainpham/jboss-middleware-empowered
- Owner: alainpham
- Created: 2016-11-30T17:27:06.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-03-07T00:26:00.000Z (about 8 years ago)
- Last Synced: 2025-01-27T07:42:33.041Z (4 months ago)
- Language: Java
- Homepage:
- Size: 8.96 MB
- Stars: 1
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# /!\ This project has been moved to the following repo :
https://github.com/alainpham/microbam
# JBoss empowered Microservices for SLA management and Business Activity Monitoring
This is an example of microservices for collecting/correlating business events with JBoss Fuse, JBoss Data Grid and soon to come JBoss Data Virtualization .
It includes a real time dashboard using Patternfly to follow metrics and Service Level Agreements.Hopefully, it will give you an idea of what real time monitoring with "the microservice way" can bring to your Digital Transformation program.
## Project descriptions

##### event-collector
Starts the following resources (note that these could have been externalized but to simplify the demo installation, it is embedded):
- Starts a h2 database to store individual events
- Starts up a JBoss Data Grid to store and calculate statistics in realtimeWhat this module does :
- Collects events and triggers statistical calculations
- Results are stored and updated in real time on a JBoss Data Grid (Infinispan)##### trade-service
This is an example of Business Indicator that need to be tracked and analyzed in Real Time. Here we will be tracking the processing time of trade orders.
What this module does :
- Receives business events (JSON messages)
- Stores the event for deeper analysis and drill down
- Maps data to a generic format
- Send the generic format to the event-collector##### dashapp
This is the dashboard that shows metrics in realtime and allows to analyze stored events
##### generic-model
Java classes that represent the generic model consumed by the event-collector to calculate statistics
##### trade-model
Example of model that extends the generic model to add business related data to the events.
This is the dashboard that shows metrics in realtime and allows to analyze stored events
## To run the examples
1. compile and package
```
mvn install
```
2. run apps with hawt-app packaging
```
./runApp.sh
```
3. open browser at
```
http://localhost:8888
```
4. simulate events
```
./play.sh
```
5. stop events
```
./pause.sh
```
6. stop applications
```
./stopApp.sh
```## Deploy on Openshift :
1. go into folder openshift of this project
```
cd openshift
```
2. create fis image streams if needed
```
oc create -f fis-image-streams.json
```3. create configMap to change app.properties
```
oc create configmap --from-file=app.properties sla-solution-config
```
4. create application template.
```
oc create -f sla-solution.yaml
```
5. login to openshift and deploy the application template/!\ Change maven MAVEN_ARGS : for faster builds it is recommended that you setup a nexus2 locally to avoid downloading maven artifacts each time
change the value http://172.17.0.1:8081/nexus/content/groups/public/ to any local nexus instance that is configured to be mirror of central and fuse repositories
Otherwise if you don't want to use this option change the maven settings.xml file in the root folder of this project.6. to run the simulation simply acces the url
```
http://dashboardURL/sim/sim/20/5
```
## Extending this project
To create a project or add a module to this using a predefined archetype similar to the existing projects :
mvn archetype:generate -DarchetypeGroupId=com.redhat.empowered -DarchetypeArtifactId=fis-spring-archetype -DarchetypeVersion=6.3.0 -DgroupId= -DartifactId=## Install on Fuse Karaf :
```
features:install camel-infinispan jdbc camel-sql camel-netty4-http camel-jackson camel-jsonpath
osgi:install -s mvn:com.h2database/h2/1.4.193
osgi:install -s mvn:org.apache.commons/commons-math3/3.6.1
osgi:install -s mvn:com.redhat.empowered/generic-model/1.2.0-SNAPSHOT
osgi:install -s mvn:com.redhat.empowered/trade-model/1.2.0-SNAPSHOT
osgi:install -s mvn:com.redhat.empowered/event-collector/1.2.0-SNAPSHOT
osgi:install -s mvn:com.redhat.empowered/trade-service/1.2.0-SNAPSHOT
osgi:install -s mvn:com.redhat.empowered/dashapp/1.2.0-SNAPSHOT
```