{"id":16998765,"url":"https://github.com/alainpham/microbam","last_synced_at":"2025-07-22T22:33:42.544Z","repository":{"id":140342821,"uuid":"84133680","full_name":"alainpham/microbam","owner":"alainpham","description":"Aims at giving a BAM solution to follow and analyze Service Level Agreements in real time using JBoss Fuse","archived":false,"fork":false,"pushed_at":"2017-08-24T12:22:23.000Z","size":12151,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-22T07:28:10.839Z","etag":null,"topics":["camel","infinispan","jboss-fuse","openshift"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alainpham.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-03-07T00:04:40.000Z","updated_at":"2023-08-16T17:01:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"5ac9c1cb-af46-4b4f-b83e-a23e214cdff2","html_url":"https://github.com/alainpham/microbam","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/alainpham/microbam","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alainpham%2Fmicrobam","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alainpham%2Fmicrobam/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alainpham%2Fmicrobam/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alainpham%2Fmicrobam/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alainpham","download_url":"https://codeload.github.com/alainpham/microbam/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alainpham%2Fmicrobam/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266586159,"owners_count":23952170,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["camel","infinispan","jboss-fuse","openshift"],"created_at":"2024-10-14T04:06:02.903Z","updated_at":"2025-07-22T22:33:42.509Z","avatar_url":"https://github.com/alainpham.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MICROBAM \n# JBoss empowered Microservices for SLA management and Business Activity Monitoring\n\nThis is an example of microservices for collecting/correlating business events with JBoss Fuse, JBoss Data Grid and soon to come JBoss Data Virtualization .\nIt includes a real time dashboard using Patternfly to follow metrics and Service Level Agreements.\n\nHopefully, it will give you an idea of what real time monitoring with \"the microservice way\" can bring to your Digital Transformation program.\n\n## Project descriptions\n\n![overview](https://raw.githubusercontent.com/alainpham/microbam/master/docs/architectureSchema.png)\n\n![overview](https://raw.githubusercontent.com/alainpham/microbam/master/docs/demo.gif)\n\n##### event-collector\n\nStarts the following resources (note that these could have been externalized but to simplify the demo installation, it is embedded): \n- Starts up a JBoss Data Grid to store and calculate statistics in realtime \n\nWhat this module does : \n- Collects events and triggers statistical calculations\n- Results are stored and updated in real time on a JBoss Data Grid (Infinispan)\n\n##### trade-service\n\nThis 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.\n\nWhat this module does : \n- Receives business events (JSON messages)\n- Stores the event for deeper analysis and drill down\n- Maps data to a generic format\n- Send the generic format to the event-collector\n\n##### dashapp\n\nThis is the dashboard that shows metrics in realtime and allows to analyze stored events\n\n##### generic-model\n\nJava classes that represent the generic model consumed by the event-collector to calculate statistics\n\n\n## To run the examples\n1. compile and package and go to scripts folder\n```\nmvn install\ncd scripts\n```\n2. run apps with hawt-app packaging\n```\n./runApp.sh\n```\n3. open browser at \n```\nhttp://localhost:8012\n```\n4. simulate events\n```\n./play.sh\n```\n5. stop events\n```\n./pause.sh\n```\n6. play events outside the SLA green zone\n```\n./eplay.sh\n```\n7. stop applications\n```\n./stopApp.sh\n```\n\n\n## Deploy on Openshift (Moving to FIS2.0) : \n1. elements are in the folder openshift of this project\n\n2. create fis and amq image streams if needed\n```\noc login -u system:admin\nBASEURL=https://raw.githubusercontent.com/jboss-fuse/application-templates/GA\noc create -n openshift -f ${BASEURL}/fis-image-streams.json\n\nJBASEURL=https://raw.githubusercontent.com/jboss-openshift/application-templates/master\noc create -n openshift -f ${JBASEURL}/jboss-image-streams.json\noc create -n openshift -f ${JBASEURL}/amq/amq63-basic.json\noc create -n openshift -f ${JBASEURL}/amq/amq63-persistent.json\noc create -n openshift -f ${JBASEURL}/amq/amq63-persistent-ssl.json\noc create -n openshift -f ${JBASEURL}/amq/amq63-ssl.json\n```\n3. create an AMQ instance\n```\noc login -u developer\noc new-app amq63-basic -p MQ_PROTOCOL=openwire -p MQ_USERNAME=admin -p MQ_PASSWORD=admin -p AMQ_MESH_DISCOVERY_TYPE=dns\n```\n4. create configMap to change app.properties\n```\noc create configmap --from-file=openshift/event-collector-config/application.properties event-collector-config\noc create configmap --from-file=openshift/trade-service-config/application.properties trade-service-config\noc create configmap --from-file=openshift/dashapp-config/application.properties dashapp-config\n```\n5. create \u0026 deploy application template. \n```\noc create -f openshift/microbam-all.yml\noc new-app microbam\n```\n6. to run the simulation simply acces the url \n```\nhttp://dashboardURL/sim/sim/20/5\n```\n\n![overview](https://raw.githubusercontent.com/alainpham/microbam/master/docs/screenshot.png)\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falainpham%2Fmicrobam","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falainpham%2Fmicrobam","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falainpham%2Fmicrobam/lists"}