PhaseMES Sistem Mimarisi
Fabrikanızın dijital ikizi: makinelerden ERP'ye kadar her şeyin birbiriyle nasıl konuştuğunu gösteriyoruz.
Katmanlı Mimari
Kullanıcıdan sensöre, 4 katmanda tüm sistem.
Yönetici
PC / LaptopOperatör
Tablet / KioskMüşteri
Web PortalAndon Board
Büyük EkranTek sayfa uygulama. Sidebar navigasyon, 9 tema seçeneği, Ctrl+K ile komut paleti, TR/EN dil desteği.
175+ endpoint. Her şey JSON dönüyor, WebSocket ile canlı makine verisi akıyor.
/api/auth/*Giriş + token yenileme/api/machines/*Canlı makine durumu/api/orders/*İş emri yönetimi/api/alarms/*Alarm sistemi/api/v1/settings/*Tanım verileri (30+ endpoint)/api/downtime/*Duruş kayıtları/api/rejects/*Fire kayıtları/api/gateway/*PLC / sensör bağlantısı/wsWebSocket (2sn aralıkla canlı veri)Settings Service
3 seviyeli ağaç yapısı, iş merkezi / duruş neden / vardiya tanımları
Production Engine
Üretim durum makinesi, OEE hesaplama, vardiya yönetimi
ERP Adapter
Adapter pattern ile farklı ERP'lere tek arayüz
MES Veritabanı
- SQLite (geliştirme/demo)
- MSSQL (üretim — 26 tablo)
- PostgreSQL (alternatif)
- Otomatik JSON → DB migration
- WAL mode, ACID uyumlu
ERP Bağlantısı
- İş emirleri, stok, müşteri
- BOM / rota / maliyet
- Personel bilgileri
IoT / PLC
- OPC-UA (PLC'ler)
- Modbus TCP (sensörler)
- MQTT (IoT gateway)
- Barkod / RFID
- Tartı sistemi
Veri Nasıl Akıyor?
Üç temel yönde veri transferi var.
ERP → MES (iş emirlerini çekiyoruz)
ERP
- İş Emirleri
- Stok / Ürün
ERP Adapter
- Format dönüşümü
- ERP kodu → MES ID
MES DB
- İş Emirleri
- Hammadde
MES → ERP (üretim teyidini gönderiyoruz)
MES
- Üretim adet
- Fire / duruş
Adapter
- MES → ERP format
ERP
- Üretim teyidi
- Stok hareket
IoT → MES (sensör verisi sürekli akıyor)
PLC / Sensör
- Hız, sıcaklık
- Sayaç, enerji
Gateway
- OPC-UA / Modbus
- 1dk → DB kayıt
- 2sn → ekran
MES DB
- sensor_*
- energy_*
Sunucu Yapısı
Çoklu ortam desteği: üretim (iç ağ), geliştirme/demo (bulut), uzaktan erişim (Cloudflare Tunnel).
Üretim Sunucusu
Windows Server 2019 — İç Ağ
PhaseMES Backend
Python 3.12, FastAPI, HTTPS
MSSQL Server
PhaseMES DB — 26 tablo
Watchdog
7/24 izleme, otomatik restart
Uygulama Sunucusu
Ubuntu 24.04 LTS (Hyper-V VM) — İç Ağ
PhaseMES Backend
Nginx reverse proxy + HTTPS
Cloudflare Tunnel
mes.gelisim.work erişimi
Yönetim Portal
Node.js + Express
Demo / Geliştirme
Ubuntu 24.04 LTS (Contabo VPS) — Bulut
PhaseMES Backend
Python 3.12, FastAPI, SQLite
SQLite DB
WAL mode, sıfır kurulum
Cloudflare Tunnel
mes.comphase.work erişimi
Güvenlik
UFW, Fail2ban, Seccomp, SSH key-only
Kullanılan Teknolojiler
Frontend
Backend
Veritabanı
Protokoller
ERP Desteği
Altyapı
Güvenlik
4 katmanlı güvenlik yaklaşımı. Penetrasyon testi: 18/18 test geçti, 0 kritik açık.
Ağ Güvenliği
Cloudflare WAF, TLS 1.3, DDoS koruması, IP gizleme, UFW firewall (sadece 22+443)
Erişim Kontrolü
JWT + bcrypt, rate limiting (IP bazlı, 5/15dk), token fingerprint, Fail2ban SSH koruması
Veri Güvenliği
RBAC (6 rol), modül bazlı yetki (view/edit/none), audit log + IP kaydı, CSP/HSTS/X-Frame headerları
Süreç İzolasyonu
Systemd sandbox (Seccomp, NoNewPrivileges, ProtectSystem=strict), non-root servis, SSH key-only
Penetrasyon Testi Sonuçları (Nisan 2026)
Geçen Testler
SQL Injection • NoSQL Injection • XSS • JWT Manipulation • Path Traversal (4 varyant) • CRLF Injection • Host Header Injection • Open Redirect • HTTP Method Tampering • Token Replay • Privilege Escalation • Large Payload DoS • Concurrent Request Flood (100 eşzamanlı) • User Enumeration • Expired Token
Güvenlik Headerları
- Content-Security-Policy
- Strict-Transport-Security (HSTS + preload)
- X-Content-Type-Options: nosniff
- X-Frame-Options: DENY
- X-XSS-Protection: 1; mode=block
- Referrer-Policy: strict-origin
- Permissions-Policy: camera=(), mic=()
- Swagger/OpenAPI: kapalı (production)
Sunucu Sertleştirme
- UFW Firewall (sadece 22 + 443)
- Fail2ban (3 deneme → 1 saat ban)
- SSH: key-only, password kapalı
- Non-root servis kullanıcısı
- Seccomp sandbox (12 filtre aktif)
- NoNewPrivileges=true
- ProtectSystem=strict, ProtectHome=true
- CORS: domain whitelist (wildcard yok)