ERP: applicazioni tradizionali stateful con locking o applicazioni con browser stateless senza locking?

Nella valutazione di una soluzione ERP sono importanti due elementi: se opera con il controllo dello stato della sessione e se applica il locking dei record nel database gestionale.

Lo stato di una sessione (o di qualsiasi altra cosa) è la sua condizione o qualità di essere in un momento specifico.

Un'applicazione con stato conserva il contesto delle sue interazioni con utenti, sistemi o componenti.

Lo stato viene mantenuto con una soluzione di archiviazione durevole, in modo che l'applicazione sopravviva a un riavvio.

In sostanza la principale differenza tra applicazioni con stato e senza stato è che le applicazioni con stato (stateful) salvano le informazioni passate e presenti della sessione utente, mentre le applicazioni senza stato (stateless) no.

La gestione dello stato è essenziale per certi processi:

ll locking (o blocco) di data record è una tecnica utilizzata nei database per garantire la coerenza dei dati in presenza di concorrenza tra transazioni.

In sostanza, il locking permette a un processo di acquisire il controllo esclusivo su un record, impedendo ad altri processi di accedervi contemporaneamente per evitare conflitti di modifica e mantenere l'integrità dei dati.

Perché il locking è importante:

Ecco qualche argomentazione per spiegare perché un sistema stateful con locking e arbitraggio è più affidabile e sicuro per certi contesti critici:

Integrità dei dati e concorrenza

Controllo transazionale

Performance reale vs. apparente

Debugging e manutenzione

Esperienza d’uso e affidabilità percepita

Conclusioni

Chi ha vissuto e risolto problemi di concorrenza e corruzione dati in ambienti mission-critical sa che scelte architetturali superficiali possono costare molto caro, in tempi, risorse e reputazione.

Si può quindi affermare che la leggerezza e la modernità di un ERP stateless e senza locking basato su browser sono allettanti, ma non sostituiscono la robustezza, la sicurezza e il controllo di un ERP con gestione dello stato e locking, soprattutto in ambienti complessi.

Un ERP tradizionale, non basato su browser, gestisce sempre lo stato e il record locking; è anche possibile sviluppare un ERP basato su browser che sia stateful, garantisca record locking e meccanismi di arbitraggio, come nel caso di SAP, ma richiede attenzione nella realizzazione e un’architettura sottostante (frontend-backend) adeguata e svincolata dal browser (server-centrica) che comporta, comunque, costi di implementazione non indifferenti.

In conclusione: nella scelta dell’ERP, tradizionale o in modalità browser, è fondamentale accertarsi che la logica applicativa sia comunque server-centrica, con gestione robusta dello stato, dei lock e delle transazioni.

 

(fonte: OpenAI ChatGPT- Giugno 2025)