Questo articolo descrive una importante caratteristica funzionale di Touch400 che consente di ri-modellare le funzioni di una applicazione Rpg dopo la sua trasformazione grafica.
Uno degli aspetti che rende Touch400 uno strumento potente e versatile nel tema della modernizzazione applicativa è la possibilità di impostare le dynamic call (chiamate anche “services” nel gergo Prodigyt)
In sintesi si tratta della possibilità di richiamare un programma (con schermo) via call non dal codice ma dall’interfaccia visuale (da un formato), passandogli come parametri alcuni dei campi presenti sullo schermo.
Quando viene evocata una Dynamic call touch400 avvia una nuova sessione su as400 ed esegue la call del programma previsto. Il comportamento delle Dyiamic call si può assimilare alle chiamate ajax in http
Le dynamic call possono essere agganciate a qualsiasi formato al momento dell’emissione, oppure al clic di una riga di subfile.
Le dynamic call possono essere visualizzate in vari modi:
- In un area dello schermo, per dare la sensazione che i dati della dynamic call sino integrati al programma principale
- Come miniature, lo schermo della dynamic call viene emesso in scala ridotta con la possibilità con un clic di essere espanso in scala originale
- Come bottone, cliccando il quale compare lo schermo della dynamic call
Per implementare le Dynamic call non è necessaria alcuna modifica nel programma principale! È sufficiente che i campi da passare come parametri alla call siano presenti sul formato di aggancio
Il programma evocato dalla Dynamic call deve poter ricevere una parameter list di partenza. Null’altro è richiesto lato rpg.
Per impostare una dynamic call sono sufficienti pochi minuti di attività via composer
Il filmato seguente mostra alcuni tipi di Dynamic Call disponibili, e come si impostano con il Composer:
Con le Dynamic call è possibile realizzare una reingegnerizzazione funzionale dell’applicazione, abbinando ad esempio a tutti gli schermi su cui è presente il codice cliente, una serie di programmi applicativi correlati al cliente (fidi, e/c, situazione contabile, riepilogo ordini, solleciti, rubriche, offerte, etc etc)
Dato che l’architettura delle Dynamic call è del tipo master/slave, uno slave a sua volta può essere master di un altra dynamic call; questo aspetto moltiplica all’infinito le possibilità di reenginering; ad esempio è possibile realizzare una applicazione in stile “Eclipse” (il famoso client java divisibile in infinite aree applicative Ndr.). Pubblicheremo a breve un esempio in tal senso.
Ah, un’ultima cosa: Touch400 non dispone solo di dynamic call di programmi, ma anche:
- Dynamic sql, dove la chiamata è una stringa sql anche complessa, che accetta parametri e genera una Tabella Prodigyt (con tutte le funzionalità pivot e chart incluse!)
- Dynamic browser, per chiamare una pagina http con parametri, utilizzabile ad esempio per servizi google, o meglio ancora per eseguire una call dal vs rpg a una web application (!)
Il filmato seguente mostra una applicazione sviluppata in tre differenti modalità: singola Dynamic Call, Dynamic multiple in miniatura, Dynamic call in cascata (detti anche sub-services):