LBL™ LoadBalancer  - HA & Oracle® Forms Services, OC4J e Oracle® JInitiator
Le caratteristiche di LBL™ LoadBalancer permettono di porre in alta affidabilità tutti i servizi basati su protocollo di tramissione HTTP.  Il maggior merito del protocollo HTTP è  stato il disaccoppiare a livello applicativo la Connessione dalla Sessione. Con HTTP 1.0 questo si applicava in maniera molto drastica,  infatti per ogni richiesta del client al server veniva disconnessa la trasmissione dopo la risposta, per arrivare all'ottimizzazione introdotta da HTTP 1.1 dove lo stato di connessione è regolato sia dal protocollo sia dal time-out .

Se utilizziamo Oracle® Forms  in abbinamento a LBL™ LoadBalancer in cofigurazione HA (Standard Edition o Enterprise Edition) è necessario modificare un parametro di  OC4J affinchè mantenga la sessione durante il tempo necessario a LBL™ LoadBalancer di effettuare il Take-Over dell'indirizzo in caso di fault o di manutenzione programmata.

Di seguito i passi necessari per modificare il parametro "networkRetries".

Configurazione di networkRetries attraverso file di configurazione
Configurazione di networkRetries attraverso Oracle® Enterprise Manager
Verifica impostazione del parametro networkRetries

Passo 1 : OC4J Configurazione di networkRetries attraverso file di configurazione

Nel caso si utilizzi un'istanza di OC4J dove non sia presente l'interfaccia web di Oracle® Enterprise Managaer, è sufficiente modificare il file formsweb.cfg che si trova in <oracle home>\forms90\server (in qiesto caso C:\Oracle\iDS\9.0.2.0.1\forms90\server), ed aggiungere nella sezione dedicata all'applicazione il paramertro "newtworkRetries" con un numero sufficiente di tentativi.

[TCO]
separateframe=true
IE=JINIT
#lookandfeel=oracle
form=TCO_TEST.fmx
userid=tco/tco@tcodb.tcoproject.com
pageTitle=TCO_TEST
networkRetries=300

In questo caso abbiamo indicato come numero di tenttivi un numero di: 300

Passo 2 :  OC4J Configurazione di networkRetries attraverso Oracle® Enterprise Manager
Se abbiamo a disposizione l'interfaccia grafica di Oracle® Enterprise Manager è sufficiente andare nella sezione forms, pannello configurazione, selezianare la nostra applicazione e premere il tasto modifica. A questo punto impostare o aggiungere il parametro networkRetries con un valore opportuno.




In questo caso a titolo dimostrativo abbiamo indicato come numero di tentivi 300.

La documentazione relativa a Oracle® Application Server Forms 10g, indica per il parametro networkRetries un valore di default pari a 0 ed un valore massimo di 10.
Nella nostra esperienza abbiamo notato che questo valore è ampiamente superabile. Facciamo notare che comunque è opportuno stabilire questo valore per ogni installazione di Oracle® Forms Services in accordo con i  parametri systemLostTime e monitorTimer usati da systemMonitor di LBL™ LoadBalancer per monitorare il corretto funzionamento delle istanze Master e Sleeping Master. Nel nostro esempio avendo indicato un valore elevato per networkRetries, possiamo lasciare inalterati i valori di default proposti da LBL™ LoadBalancer.

N.B. Se l'impostazione del tempo di networkRetries fosse troppo basso può accadere che il il tempo impiegato da Oracle® Forms per eseguire il numero di tentativi sia minore del tempo impiegato da LBL™ LoadBalancer per trasportare l'indirizzo dal Master allo Sleeping Master con conseguente perdita della sessione. In questo caso la sessione sarà comunque reinizializzata con una  nuova sessione.

Passo 3 : OC4J Verifica impostazione del parametro networkRetries

Ora che abbiamo configurato il sistema verifichiamo il suo funzionamento

Avviamo le due istanze di LBL™ LoadBalancer Master e Sleeping Master
Avviamo la nostra applicazione Oracle® forms90
Lanciamo l'applicazione

A questo punto decidiamo di fermare l'istanza LBL™ LoadBalancer Master
LBL™ LoadBalancer come prima cosa rilascia l'indirizzo ip pubblico e termina
In questo monento l'ip pubblico non è posseduto da nessuna istanza di LBL™ LoadBalancer.
Il client Oracle® forms si accorge della mancanza di collegamento con il server e comincia a fare i suoi tentativi di connessione come si può osservare in basso a destra della finestra del client
Nell'esempio di seguito il client ha già effettuato 49 tentativi di riconnessione su 300

Trademarks
Oracle, JInitiator, Forms sono marchi registrati o depositati da Oracle® Corporation.
TCOProject e LBL sono un marchi depositati F.Pieretti.