Intro / Module Description
The microesb Python module provides the foundational features to build a centralized, structured Enterprise Service Bus (ESB) / Service-Oriented Architecture (SOA).
It enables clean Service Model to Python Class Mapping with support for both traditional relational databases and modern NoSQL backends. The module features user-based service call routing, recursive class hierarchy object deserialization, and graph-based JSON result abstraction, making it suitable for scalable Next-Level Platform-as-a-Service (PaaS) and Microservices architectures.
A Docker example container can be downloaded here:
microesb-examples-latest.tar.
Refer to /docker/README.md.
1. Basic System Installation
# install the module system-wide
pip3 install --break-system-packages microesb
2. Virtual Environment Installation
# install the module in a virtual environment
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install --upgrade pip
pip3 install microesb
3. Dependencies
Using the microesb module generally does not require the psycopg2 PostgreSQL Python module.
Warning
Running example code requires psycopg2 for Example 1 and pymongo for Example 2.
# install psycopg2
apt-get install python3-psycopg2
Note
Example 2 uses MongoDB as a NoSQL backend. MongoDB cannot be installed via apt on all systems and is preinstalled in the Docker example container. For local development, install MongoDB separately or use the provided Docker container.
4. Build Dependencies
On Debian 12 / Ubuntu 22.04 or 24.04, install the following additional packages (for documentation rendering and testing purposes).
# install base packages
apt-get install python3-pip python3-sphinx python3-sphinx-rtd-theme
# install pytest for running unit and integration tests
apt-get install python3-pytest python3-pytest-pep8
5. Build Local Package
To build and install the local package (also for testing), follow these steps.
# build source distribution
python3 setup.py sdist
# install system-wide
pip3 install --break-system-packages ./dist/microesb-1.0.tar.gz
6. Tests
To run all tests (unit and integration) after the system-wide package installation:
# run pytest
cd ./ && pytest
7. Current Features
JSON Service Metadata to Python Internal Class / Object Mapping
JSON Result Hierarchical Deserialization
Service Routing / Data Aggregation
8. Planned Features
Service Registry / API Server
Service Registry / YANG Model Export
Service Registry / Web Interface
Service API / Auto Documentation
Extended “Encapsulated” Service Routing
Mincepy Integration / Metadata Mapping