177 lines
4.8 KiB
Markdown
177 lines
4.8 KiB
Markdown
# Windows Device Bridge per NetGescon
|
|
|
|
## Obiettivo
|
|
|
|
Creare un componente utilizzabile su postazioni Windows per collegare il browser NetGescon a periferiche locali che il browser da solo non gestisce in modo affidabile o uniforme:
|
|
|
|
- scanner TWAIN o WIA;
|
|
- lettori/scrittori NFC;
|
|
- dispositivi seriali;
|
|
- scanner o lettori QR/barcode.
|
|
|
|
## Conclusione breve
|
|
|
|
Si, e possibile, ma non come Blade pura o JavaScript puro nel browser.
|
|
|
|
Per TWAIN la strada corretta e un bridge locale Windows, installato sulla macchina utente, che espone una API locale sicura e parla con NetGescon via browser.
|
|
|
|
## Perche non basta il browser
|
|
|
|
- TWAIN non e una API web standard.
|
|
- WIA e un layer Windows locale, non direttamente esposto al browser.
|
|
- WebNFC oggi e limitato e non copre bene il desktop Windows reale.
|
|
- WebSerial puo aiutare solo per dispositivi seriali compatibili e con permessi espliciti del browser.
|
|
- Molti scanner QR e barcode lavorano in modalita HID tastiera e quindi non richiedono bridge, ma non tutti.
|
|
|
|
## Architettura consigliata
|
|
|
|
### 1. Agent locale Windows
|
|
|
|
Servizio o tray app installata sulla postazione, ad esempio:
|
|
|
|
- .NET 8 per integrazione Windows nativa;
|
|
- servizio locale su `http://127.0.0.1:17890` oppure WebSocket locale;
|
|
- pairing con token temporaneo firmato da NetGescon.
|
|
|
|
Responsabilita dell'agent:
|
|
|
|
- enumerare scanner TWAIN/WIA;
|
|
- acquisire scansioni PDF o immagini;
|
|
- leggere/scrivere NFC;
|
|
- leggere porte seriali;
|
|
- ricevere input da lettori QR dedicati non HID;
|
|
- pubblicare eventi al browser;
|
|
- caricare file e metadati verso NetGescon.
|
|
|
|
### 2. Componente frontend NetGescon
|
|
|
|
Componente riusabile nella UI Filament o Blade che:
|
|
|
|
- verifica se l'agent locale risponde;
|
|
- mostra lo stato periferiche disponibili;
|
|
- apre le azioni: scansiona, leggi NFC, apri seriale, attendi QR;
|
|
- riceve il risultato dall'agent;
|
|
- salva documento o metadati nel modulo giusto.
|
|
|
|
### 3. Endpoint backend NetGescon
|
|
|
|
API Laravel dedicate per:
|
|
|
|
- upload PDF/scansioni con metadati archivio;
|
|
- memorizzazione eventi NFC;
|
|
- memorizzazione letture seriali;
|
|
- memorizzazione codici QR/barcode;
|
|
- audit e tracciatura operatore/macchina.
|
|
|
|
## Matrice supporto dispositivi
|
|
|
|
### Scanner TWAIN/WIA
|
|
|
|
Supporto: alto tramite agent Windows.
|
|
|
|
Approccio:
|
|
|
|
- l'agent enumera sorgenti scanner;
|
|
- l'utente sceglie il profilo;
|
|
- l'agent produce PDF o immagini;
|
|
- il browser invia i metadati archivio a NetGescon.
|
|
|
|
### NFC
|
|
|
|
Supporto: medio-alto tramite agent.
|
|
|
|
Approccio:
|
|
|
|
- lettura UID, NDEF e blocchi compatibili;
|
|
- scrittura tag solo su profili autorizzati;
|
|
- mapping con documenti, cespiti, chiavi, contenitori, badge.
|
|
|
|
### Seriale
|
|
|
|
Supporto: alto.
|
|
|
|
Approccio:
|
|
|
|
- agent locale apre COM e inoltra stream o pacchetti al browser;
|
|
- configurazioni per baud rate, parity, stop bit, framing.
|
|
|
|
### QR / barcode
|
|
|
|
Supporto: molto alto.
|
|
|
|
Approccio preferito:
|
|
|
|
- prima usare lettori HID, che scrivono come tastiera nei campi di input;
|
|
- usare il bridge solo per lettori industriali o feed continui.
|
|
|
|
## Flussi NetGescon consigliati
|
|
|
|
### A. Documenti da scanner
|
|
|
|
1. Il componente web chiede all'agent la lista scanner.
|
|
2. L'utente avvia la scansione.
|
|
3. L'agent genera PDF.
|
|
4. Il browser invia PDF e metadati alla pagina Documenti.
|
|
5. NetGescon salva in archivio e lancia OCR.
|
|
|
|
### B. NFC per archivio fisico o cespiti
|
|
|
|
1. Il componente chiede `readNfc`.
|
|
2. L'agent restituisce UID e payload.
|
|
3. NetGescon collega il tag a documento, faldone, cespite o ticket.
|
|
|
|
### C. Seriale per dispositivi legacy
|
|
|
|
1. Il componente apre la porta via agent.
|
|
2. L'agent invia i dati in streaming o a record.
|
|
3. NetGescon salva l'evento e lo associa al modulo corretto.
|
|
|
|
## Sicurezza minima
|
|
|
|
- ascolto solo su `127.0.0.1`;
|
|
- token effimeri generati da NetGescon;
|
|
- allowlist delle origin autorizzate;
|
|
- audit locale e server;
|
|
- firma dei pacchetti piu sensibili;
|
|
- blocco delle operazioni di scrittura NFC senza permesso esplicito.
|
|
|
|
## Fasi consigliate
|
|
|
|
### Fase 1
|
|
|
|
Bridge Windows + upload scanner PDF + lettori HID QR/barcode.
|
|
|
|
Questa e la fase con il miglior rapporto valore/complessita.
|
|
|
|
### Fase 2
|
|
|
|
NFC lettura e associazione a documenti, faldoni, cespiti o accessi.
|
|
|
|
### Fase 3
|
|
|
|
Seriale e dispositivi speciali.
|
|
|
|
### Fase 4
|
|
|
|
Scrittura NFC e automazioni avanzate scanner.
|
|
|
|
## Raccomandazione pratica
|
|
|
|
Per NetGescon conviene partire da un progetto separato chiamabile ad esempio `netgescon-device-bridge-windows` con:
|
|
|
|
- agent desktop Windows .NET;
|
|
- API locale REST/WebSocket;
|
|
- componente frontend unico `device-bridge-panel` dentro Filament;
|
|
- primo caso d'uso: pagina Documenti, tab Scansione documenti.
|
|
|
|
## Stato attuale del repository
|
|
|
|
Il repository ha gia una base web utile lato Documenti:
|
|
|
|
- upload PDF da scanner;
|
|
- classificazione immediata nel modulo Documenti;
|
|
- metadati di canale acquisizione;
|
|
- pipeline pronta per OCR e archivio.
|
|
|
|
Manca invece il bridge locale Windows che pilota davvero TWAIN/WIA, NFC e seriale.
|