Bahmni Server Deployment Architecture
Technical Document
This document details out what all components and applications are deployed in Bahmni Production Server at a high level. For failover / disaster recovery, some deployments may use a Primary/Secondary or a Master/Slave deployment architecture.
High Level Diagram
Application Installation Locations
The following are the RPMs that are installed on the Bahmni machine:
| Package Name | Install Components | Description | Location | Service Name |
|---|---|---|---|---|---|
1. | bahmni-web |
| Base web server of Bahmni | /var/www | httpd |
2. | openmrs | Embedded Tomcat with OpenMRS | OpenMRS server | /opt/openmrs | openmrs |
3. | bahmni-emr |
| Deploys Bahmni core modules into OpenMRS | /opt/openmrs/modules |
|
3. | bahmni-erp | OpenERP/Odoo | OpenERP server | /opt/bahmni-erp | openerp |
4. | bahmni-lab | Embedded tomcat with OpenELIS | OpenELIS/ Lab system | /opt/bahmni-lab | bahmni-lab |
5. | bahmni-erp-connect |
| Atom Feed Client for OpenERP |
| bahmni-erp-connect |
6. | bahmni-lab-connect |
| Atom Feed Client for OpenELIS |
|
|
7. | bahmni-pacs | dcm4chee, pacs-integration, Embedded tomcat | PACS integration sub-systems | /opt/pacs-integration |
|
8. | bahmni-reports | Jasper running with Embedded Tomcat | Reporting sub-system | /opt/bahmni-reports |
|
9. | bahmni-certs |
| Installs a 90 day valid SSL certificate for Apache HTTPs |
|
|
1. The lines represent data flow, which is irrelevant for a deployment architecture. It is also incomplete since data also flows into apache, and ultimately to the user. Let's have data flow in a separate diagram.
2. If we are showing 3rd party software (mysql pgsql etc), we should also show oviyam
3. Do the colours mean anything? If not, we should remove them. It is a distraction
4. Saying that bahmni-reports contains jasper server is misleading. It uses dynamic reports, which uses jasper library
5. bahmni-lab-connect is served by the tomcat that is sitting inside openmrs rpm. Not sure how we would represent it.
6. The fact that rpms embed tomcat is not consistently shown across all rpms (erp-connect and bahmni-reports need to be fixed)
7. Maybe worth trying to layer components one below the other?