Una affermazione provocatoria; paragonare una interfaccia a carattere sincrona come il 5250 con una interfaccia grafica asincrona quale un brovser è come paragonare l’aereo dei fratelli Wright con lo shuttle. Ma… se andiamo oltre a ciò che si vede, e ci addentriamo nell’architettura delle moderne applicazioni web scopriamo alcune recenti implementazioni e metodologie che fanno pensare a elementi ben noti presenti nelle più famose architettture client-server..
Il front-end 5250 nasce come protocollo di comunicazione per terminali, successivamente mantenuto negli emulatori di PC. Le schermate vengono gestite in modalità sincrona con il codice applicativo, ovvero quando il programma emette lo schermo si ferma in attesa della risposta dell’operatore;quando questa avviene, lo schermo rimane bloccato per prevenire azioni dell’operatore fino alla successiva risposta del programma.
La comunicazione avviene via socket, ed è il protocollo 5250 che si occupa di mantenere viva la sessione di comunicazione inviando sporadici ping. In caso di interruzione della comunicazione non è possibile riprendere la sessione di lavoro nel punto interrotto, di conseguenza i programmatore è costretto a gestire tale modalità anomala (N.d.R.: Touch400 si può paragonare ad un emultaore, in quanto utilizza i socket, ma a differenza di questo è in grado di ripristinare la sessione in caso di caduta di linea)
Il browser si basa sul protocollo http che è per natura asincrono: ovvero l’utente chiama un url, il browser apre la connessione con il server dell’url, richiede i dati, il server avvia l’eventuale programma di elaborazione e restituisce i dati, chiudendo la comunicazione.
Dunque ogni programma esegue una sola richiesta e rende una sola risposta. Da qui nascono le complessità di mantenere la persistenza di una sessione, nel momento in cui un operatore debba svolgere una serie di transazioni appartenenti allo stesso processo (ad esempio un ordine). Dal lato server occorre memorizzare informazioni di sessione da condividere tra le varie transazioni, così come dal lato browser (le local storages).
Con l’Html5 sono stati introdotti nuovi paradigmi che hanno portato il browser ad essere sempre di più interfaccia per applicazioni consumer e aziendali, e non solo di pagine web. Ad esempio il webSocket, ovvero il protocollo di comunicazione che permette al server di comunicare con il browser, al pari dei socket; innumerevoli le applicazioni che utilizzano i webSocket: messaggistiche, notifiche, o le migliaia di giochi online multi-user. Ma in particolare l’attenzione cade sulle nuove metodologie SPA (Single Page Application), in base alle quali viene utilizzata una unica pagina web, nella quale cambiano dinamicamente i contenuti a seconda della fase applicativa. Non vi ricorda forse un display file, nel quale si alternano i formati record? Le modalità attualmente più utilizzate nelle SPA utilizzano chiamate ajax per variare i contenuti della pagina, ma c’è già chi sta sperimentando applicazioni SPA sincrone con websocket, ovvero la stessa architettura da sempre utilizzata per i programmi interattivi 5250. E noi, di programmi interattivi siamo esperti, vero? Manca solo Touch400 Web-Light, per sviluppare ottime web applications..