Skip to content

Essert.MF Architecture Documentation

Based on arc42 Template Version 8.2


Document Information

Property Value
System Name Essert.MF (Microfactory)
Version 1.0.0
Last Updated 2025-01-27
Architecture Style Hexagonal (Ports & Adapters)
Status Living Document

Table of Contents

Section Title Description
01 Requirements and Goals Business requirements, quality goals, stakeholders
02 Constraints Technical, organizational, and convention constraints
03 Scope and Context System boundaries, external interfaces
04 Solution Strategy Key architectural decisions and patterns
05 Building Block View Static decomposition (components, modules)
06 Runtime View Dynamic behavior, scenarios, workflows
07 Deployment View Infrastructure, nodes, mapping
08 Crosscutting Concepts Security, logging, error handling patterns
09 Architecture Decisions ADRs (Architecture Decision Records)
10 Quality Scenarios Quality tree, scenarios
11 Risks and Technical Debt Known issues, mitigation strategies
12 Glossary Domain terminology

Quick Navigation by Role

For New Team Members

  1. Start with 01 - Requirements and Goals
  2. Review 12 - Glossary for domain terminology
  3. Understand 05 - Building Block View for system structure

For Developers

  1. 04 - Solution Strategy for architectural patterns
  2. 05 - Building Block View for component structure
  3. 08 - Crosscutting Concepts for implementation patterns

For Architects

  1. 09 - Architecture Decisions for ADRs
  2. 11 - Risks and Technical Debt for known issues
  3. 10 - Quality Scenarios for quality scenarios

For Operations

  1. 07 - Deployment View for infrastructure
  2. 03 - Scope and Context for external interfaces
  3. 10 - Quality Scenarios for SLAs

Architecture Overview

flowchart TD
    subgraph EssertMF["Essert.MF System"]
        subgraph Primary["PRIMARY ADAPTERS (Driving)"]
            REST["REST API\n(Active)"]
            OPCUA["OPC UA\n(Active)"]
            GQL["GraphQL\n(Active)"]
            GRPC["gRPC\n(Planned)"]
        end

        AppLayer["APPLICATION LAYER\nCommands | Queries | Handlers | DTOs | Ports"]

        DomainLayer["DOMAIN LAYER\nManufacturing | Product | Quality | Robot | WorkPieceCarrier"]

        subgraph Secondary["SECONDARY ADAPTERS (Driven)"]
            Database["Database\n(8 DBs)"]
            ExtAPIs["External\nAPIs"]
            FileSystem["File\nSystem"]
            Messaging["Messaging\n(Future)"]
        end
    end

    REST --> AppLayer
    OPCUA --> AppLayer
    GQL --> AppLayer
    GRPC --> AppLayer
    AppLayer --> DomainLayer
    DomainLayer --> Database
    DomainLayer --> ExtAPIs
    DomainLayer --> FileSystem
    DomainLayer --> Messaging

Current Status

Architecture Compliance: 92/100

Layer Status Score
Domain Complete 95/100
Application Complete 100/100
Infrastructure Complete 98/100
REST API Complete 100/100
OPC UA In Progress -
GraphQL Active -

Test Coverage: 1,551+ Tests

Layer Tests Status
Domain 154 Passing
Application 635 Passing
Infrastructure 301 Passing
REST API 291 Passing
GraphQL 59 Passing
OPC UA 111 Passing


About arc42

arc42, the Template for documentation of software and system architecture.

By Dr. Gernot Starke, Dr. Peter Hruschka and contributors.

Template Revision: 8.2 EN (based on asciidoc), January 2023

https://arc42.org