Microservices - also known as the microservice architecture - is an architectural style that structures an application as a collection of loosely coupled services, which implement business capabilities. The microservice architecture enables the continuous delivery/deployment of large, complex applications.
The different services are packaged as RPMs. Here is the list of all the RPM's:
Code for packaging the services as RPMs is here: https://github.com/Bahmni/bahmni-package. Bahmni Package picks up artifacts of repositories (like bahmni-core, bahmniapps, ...) and packages them as RPMs.
Details of what each RPM contains : (Note: Git links are accessible if you open the Gliffy in full screen mode)
RPMs and the services they install
RPMs install and setup a service. They also provide lifecycle scripts to start, stop and restart a service.
bahmni-installer:Installs the code required to install and setup Bahmni. Includes bahmni-playbooks, bahmni command (bahmni.py).
bahmni-openmrs:Installs openmrs war file and sets up the openmrs MySQL database.
bahmni-emr:Installs default OpenMRS modules required for Bahmni.
bahmni-web: Installs UI code. Has httpd as a dependency.
bahmni-reports:Installs reports war and sets up the bahmni-reports MySQL database.
bahmni-erp:Installs OpenERP, its modules and sets up the openerp PostgreSQL database.
bahmni-erp-connect: Installs bahmni-erp-connect service which serves as the integration point between OpenMRS and OpenERP.
bahmni-lab: Installs OpenELIS and sets up the clinlims PostgreSQL database.
atomfeed-console: Installs and sets up the atomfeed-console service.
bahmni-implementer-interface: Installs the UI code required for the implementer interface app.
bahmni-lab-connect: Installs the openelis-atomfeed omod.
bahmni-two-factor-auth: Installs and sets up the two factor authentication service.
dcm4chee: Installs the dcm4chee service and sets up the pacsdb PostgreSQL database.
pacs-integration: Installs the pacs-integration service and sets up the bahmni-pacs PostgreSQL database.
As Bahmni has a microservice architecture, one could choose install only a subset of these services depending on the use case. For example if a hospital only has only clinical and pharmacy and does not have laboratory to perform tests, they can install only those components. Please refer the steps here to install on a subset of above services.
The Bahmni documentation is licensed under Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)