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¶
- Start with 01 - Requirements and Goals
- Review 12 - Glossary for domain terminology
- Understand 05 - Building Block View for system structure
For Developers¶
- 04 - Solution Strategy for architectural patterns
- 05 - Building Block View for component structure
- 08 - Crosscutting Concepts for implementation patterns
For Architects¶
- 09 - Architecture Decisions for ADRs
- 11 - Risks and Technical Debt for known issues
- 10 - Quality Scenarios for quality scenarios
For Operations¶
- 07 - Deployment View for infrastructure
- 03 - Scope and Context for external interfaces
- 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 |
Related Documentation¶
- Developer Guide: CLAUDE.md
- GAMP5 Validation: docs/gamp5/README.md — URS, FS, DS, RA, RTM, IQ/OQ/PQ
- Database Schema: DATABASE_SCHEMA.md
- Architecture Analysis: ARCHITECTURE_ANALYSIS.md
- Performance Benchmarks: Benchmarktest/README.md
- OPC UA Documentation: OPCUA/OPCUA_FRAMEWORK_DOCS.md
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