TBHUB: il disaccoppiatore
Il concetto di HUB è fondamentale nelle applicazioni che si presentano verso il Cliente con i nuovi canali informatici (Internet, Call Centre, IVR, Teletext) e che però devono riutilizzare tutti i sistemi preesistenti (tipicamente sistemi informativi presenti su host).
L’HUB si pone come gestore di risorse (Resource Manager - RM).

L’HUB lavora con il modello dell’operatore virtuale.
L’HUB, per svolgere il suo lavoro, si avvale di un catalogo (XML Transation Definition)
Questo catalogo introduce un livello di interpretazione che disaccoppia la politica di invocazione delle transazioni dalla loro implementazione, rendendo così la componente HUB estremamente estendibile in termini di nuove funzionalità e facilmente manutenibile.
Essendo gli operatori virtuali attivi 24 ore su 24, l’ HUB si fa carico del compito di segnalare ai canali se i sistemi host sono disponibili o meno, in modo da poter implementare strategie di gestione di richieste asincrone, implementando in se meccanismi di controllo periodico delle connessioni.
Tecnologie di sviluppo
L'HUB è un servizio NT, sviluppato in tecnologia ATL, che si pone verso il FrontEnd come un driver che permette l’accesso ai sistemi legacy. Il servizio HUB è stato progettato come Cluster-Aware Application. Attraverso macchine Cluster può quindi gestire eventuali anomalie e situazioni di stallo, reindirizzando il traffico di richieste su un altro nodo (fail over policy).
Tra le caratteristiche di questo sistema è necessario evidenziare l’utilizzo del multithreading, che permette di parallelizzare più richieste contemporanee. Per far ciò, l'HUB utilizza N pool di connessioni per ogni tipo di driver richiesto. A loro volta, i driver sono servizi NT che interfacciano l'HUB con le risorse backoffice (ORACLE, MS SQLServer, HOST IBM, ...), il tutto via COM/DCOM.
Gli operatori virtuali si attesteranno all’atto della partenza del servizio HUB; essi, come detto, rappresentano le risorse fisiche sulle quali far eseguire le transazioni: il loro numero e la loro tipologia saranno configurabili esternamente e saranno decise in base ad una analisi dei requisiti del sistema in termini di numero di richieste contemporanee e sistemi host da interfacciare e dopo un riscontro in fase di test (Performance Tuning).

Componenti
Intorno all’HUB sono state sviluppate diverse applicazioni, librerie e servizi che, di fatto, ne fanno una vera e propria piattaforma.
Per facilitare l’utilizzo della piattaforma sono stati sviluppati i seguenti TOOL:
- HUBMonitor (Configuration & Performance Monitor)
- XMLTrxEditor (Editor per la scrittura di modelli XML)
- XML Command Editor (Editor / Debugger per la scrittura di comandi XML)
Le interfacce messe a disposizione al front-end sono:
I driver che s’interfacciano al mondo legacy sono:
- LU2
- QACOM (3270)
- COMTI
- ECI
- X25
- SOCKET / RPC
- SQL (ORACLE, MS SQL Server,DB2, …)
COMMAND PARSER
Il Command Parser è un tool di sviluppo che svolge funzionalità di emulatore di terminale 3270 per l’esecuzione di transazioni, via interfaccia QACOM Host Publishing System, verso sistemi host IBM.
E’ realizzato in tecnologia ATL DCOM, con una completa gamma di funzionalità, compreso il debugging.
Esso si basa sul concetto fondamentale che ogni comando di operatore di terminale possa tradursi in un comando XML propriamente formattato, così da rendere più intuitiva e rapida l’implementazione di nuove transazioni per mezzo del solo editor XML Command Editor.
Quest’ultimo comprende anche una sessione di debugging step by step per un dettagliato check di ciascuna istruzione XML.
Sulla base di queste nozioni, possiamo dire che una sequenza completa di istruzioni XML rappresenta il mapping in un XML command file.
E’ compito del Command Parser tradurre tale file in una sequenza appropriata di chiamate alle rispettive API QACOM di HPS.
Schema di base
Il Command Parser lavora avendo a disposizione i seguenti componenti:
- XML template file
- XML input file
- XML command file
Il Command Parser interpreta l’XML command file come un vero e proprio linguaggio.
In esso è possibile definire variabili locali, istruzioni condizionali tipiche della programmazione procedurale, trace su file e molto altro.
Inoltre, è possibile avere visibilità in ogni istante del contenuto del video 3270, rendendo quasi superfluo l’utilizzo di trace.
XML COMMAND EDITOR
Come si può notare dalla figura, a sinistra appare l’editor XML, mentre a destra la visualizzazione della videata 3270 corrente.

Case History:
- Reale Mutua Assicurazioni
- Banca di Credito Cooperativo di Treviglio e Geradadda
- ISIDE