Skip to content

Tiny Microservice Centric Python Enterprise Service Bus

License

Notifications You must be signed in to change notification settings

clauspruefer/python-micro-esb

Python Micro-Enterprise-Service-Bus Module

push main PyPI version codecov

1. Abstract / Preface

Enterprise Service Bus is still a pretty vague term, first introduced in the Gartner Report of 2002.

It is essential for maintaining large SOA infrastructures.

2. Features

Our interpretation of what an ESB should consist of:

  • ✅ Service Abstraction / Declarative Metadata Modeling
  • ✅ Centralized Service / API Registry providing clean XML, JSON Models
  • ✅ Centralized Service AAA (Authentication / Authorization / Accounting)
  • ✅ Service Metadata XML, JSON / Internal (Python) Class Abstraction
  • ✅ Relational Backend OOP / ORM / ODM Mapper
  • ✅ Service Model Documentation / API (Auto)-Generation

3. Install

# setup virtual-env
python3 -m venv .micro-esb

# activate virtual-env
source .micro-esb/bin/activate

# upgrade pip
python3 -m pip install --upgrade pip

# install microesb module
pip3 install microesb

# install dependencies
pip3 install pytest pytest-pep8

4. Platform As A Service (PaaS) / Microservices

The NoSQL conform JSON abstraction / data transformation capabilities make the micro-esb suitable for modern, scalable Next-Level applications.

5. Current Features

  • ✅ Service Abstraction / Metadata Definition
  • ✅ Internal Code (Python) Class / Service Properties Mapping
  • ✅ Graph-Based / Recursive JSON Result Abstraction
  • ✅ OOP Relational ODM Mapper / MongoDB Integration

5.1. In Progress

  • ⌛ Service Documentation (Auto)-Generation
  • ⌛ Service Registry / Encapsulated Service Routing
  • ⌛ YANG Model Import / Export / Transformation
  • ⌛ Web-Interface / Dashboard

6. Documentation / Examples

Documentation, including detailed examples, can be found either in the ./doc directory or at: https://pythondocs.webcodex.de/micro-esb

linting: pylint