Section §3

System overview

Architecture, deployment topology, integration map.

3.1 What MES-Plus is

MES-Plus v6.4 is a thick-client Windows business application paired with a single SQL Server database, deployed on the customer’s own premises. The application binary is delivered by the vendor; the database schema, stored procedures, and a substantial body of customised forms and reports were authored partly by the vendor and partly by the customer’s own people over 17 years of operation.

In category terms it is a mid-market manufacturing ERP with light MES (manufacturing execution) extensions. It is not a best-of-breed system; it is a single integrated system covering accounting, inventory, production, and procurement in one schema, accessed through one client.

3.2 Architecture, at a glance

                ┌──────────────────────────────────────────────┐
                │                  CUSTOMER LAN                │
                │                                              │
   30 ×         │   ┌────────────────────┐                     │
   shop-floor   │   │ MES-Plus thick     │                     │
   terminals    │───┤ client (Delphi-    │                     │
                │   │ class Win32 EXE)   │                     │
                │   └─────────┬──────────┘                     │
                │             │                                │
   8 ×          │   ┌─────────▼──────────┐    ┌─────────────┐  │
   office       │───┤ MES-Plus thick     │    │ Custom      │  │
   workstations │   │ client             │◀──▶│ integration │  │
                │   └─────────┬──────────┘    │ broker      │  │
                │             │               │ (.NET 4.7,  │  │
                │   ┌─────────▼──────────┐    │  2014)      │  │
                │   │   SQL Server 2014  │◀──▶│             │  │
                │   │   (340 GB, single  │    └──────┬──────┘  │
                │   │    instance)       │           │         │
                │   └────────────────────┘           │         │
                └────────────────────────────────────┼─────────┘
                                                     │
                                ┌────────────────────┼─────────────────────┐
                                │                    ▼                     │
                       ┌────────▼──────┐    ┌────────────────┐    ┌────────▼────┐
                       │ Bank SFTP     │    │ Customs portal │    │ BI export   │
                       │ (5 banks)     │    │ (EDI / XML)    │    │ (nightly    │
                       └───────────────┘    └────────────────┘    │  CSV → S3)  │
                                                                  └─────────────┘

Three tiers: thick client, single database, side-car integration broker. No web UI. No mobile. No microservices.

3.3 Components

ComponentVintageOwnerSource available
MES-Plus client (EXE)2008 base, patched 2017VendorNo [INF]
SQL Server schema (core)2008, 280+ tablesVendorSchema visible, vendor stored procs partially obfuscated
SQL Server schema (customer-authored)2010–2024, ~40 tables, ~120 SPsCustomerYes
Custom reports2008–2024, ~180 reportsMixedYes (Crystal Reports .rpt files)
Custom screens / form modifications2012–2019, ~25 modificationsCustomer (consultant)Partial — .dfm-style overlay files retained, no source for the consultant’s logic
Integration broker2014, .NET 4.7 FrameworkCustomerCustomer-written C#, depends on two third-party DLLs whose source is not held
SSIS packages2016–2022, 7 packagesCustomerYes, .dtsx retained
Scheduled batch scripts2014–2024, 11 .bat and PowerShell scriptsCustomerYes
Operating system (server)Windows Server 2016CustomerOS, not source
Database engineSQL Server 2014 StandardCustomer (licensed)N/A

The “vendor / customer / mixed” ownership split is what shapes every modernisation decision in §12. The vendor’s compiled binary cannot be modified; everything else can be, with consequences.

3.4 Deployment topology

The system runs on three physical (now virtualised) servers in the customer’s own server room:

  • APP01 — Windows Server 2016, application server. Hosts the integration broker, SSIS runtime, scheduled tasks, and the file shares that the thick client reaches over SMB.
  • DB01 — Windows Server 2016, SQL Server 2014 Standard. Single instance. 8 cores, 64 GB RAM.
  • DB02 — Windows Server 2019, SQL Server 2019 Standard. Configured as Log Shipping secondary for DB01. Brought online in 2021 as a disaster-recovery target. Not used for read traffic.

Network: a flat /24 LAN. Shop-floor terminals are domain-joined Windows 10 LTSC PCs on the same subnet. No DMZ; the integration broker reaches the bank SFTP and customs portal directly via the customer’s firewall NAT.

The server room is climate-controlled but does not have generator backup; UPS coverage is approximately 25 minutes.

3.5 Integration map

The customer’s MES-Plus instance exchanges data with eight external systems:

DirectionCounterpartyMechanismFrequencyOwner
OutBank A (primary)SFTP, GPG-encrypted XMLDaily 22:30Broker
InBank ASFTP, account statements MT940Daily 06:00Broker
OutBanks B–ESFTP, ABO/MultiCashWeekly FriBroker
In/OutCustoms portal (CZ ČNB equivalent)Web service, signed XMLPer declarationBroker
OutEDI partner #1 (largest customer)SFTP, EDIFACT D.96A INVOICPer invoice batchSSIS
In/OutEDI partner #2SFTP, custom CSVDailySSIS
In/OutEDI partner #3SFTP, custom CSVDailySSIS
OutBI export (data warehouse)Nightly CSV → S3 bucketDaily 02:00SSIS + AWS CLI

In addition, the payroll system (separate vendor) receives a monthly CSV export of hours and absences, generated manually by the HR administrator from a custom MES-Plus report.

The accountant’s tax-filing software is fed by manual export — no automated integration. This is treated by the customer as acceptable because the volume is low (monthly) and the accountant verifies figures by hand regardless.

3.6 What runs where

Day-to-day, the system has three operating regimes:

  • Business hours (06:00–22:00). Interactive use. 30 shop-floor terminals plus 8 office workstations. Database load is steady; peak is shift change at 14:00 when production reporting bursts in.
  • Nightly batch window (22:30–02:00). Inventory revaluation, MRP run, cost rollup, three integration exports, BI export, database maintenance (index rebuild, statistics). The window is tight; on month-end it routinely overruns to 04:30 [DOC, close-cycle log 2024].
  • Weekend maintenance window (Sat 22:00–Sun 06:00). Reserved by IT for OS patching, integration-broker code deployments, schema changes. Used approximately 6 times per year.

The 22:30–02:00 batch window is the single highest-stakes operational interval in the system. §11 risk register treats batch-window failure as a Severity-1 risk.

3.7 What is not in MES-Plus

Three classes of business activity that an outsider might assume live in MES-Plus do not:

  • Payroll. Separate vendor system (a Czech-market HR/payroll product). MES-Plus exports timesheet data to it monthly.
  • CRM. No CRM module is licensed or in use. The sales director maintains a workbook (XLSX) with approximately 600 customer records, opportunity stages, and contact notes. This workbook is the only system-of-record for opportunity pipeline. [INT, sales director]
  • Document management / drawings. Engineering drawings live on a separate Windows file share organised by part number. MES-Plus references part numbers but does not store or version the drawings.

These boundaries matter for §8 (integrations) and for §12 (modernisation): a “replace MES-Plus” project that does not account for the workbook-as-CRM and the file-share-as-DMS will solve the wrong problem.