lunedì 16 luglio 2012

Comprendere OpenEdge AppServer. Operating Modes

Come visto nel post precedente esistono 4 diversi tipi di modalità operativa che l'AppServer utilizza.

State-reset
  • Un client per application server agent
  • Lo stato della sessione è resettato alla disconnessione
Con la modalità operativa state-reset viene stabilita una relazione 1 a 1  tra client ed AppServer.Il broker riceve la richiesta di connessione dal NameServer e ne stabilisce una diretta tra client ed AppServer. La connessione è attiva fino alla disconnessione del client.

State-aware
  •  Un client per application server agent
  • Lo stato della sessione rimane attivo per le connessioni successive
La modalità state-aware funziona allo stesso modo di quella state-reset, rispetto alla relazione 1 a 1 tra client ed AppServer. La differenza sta nel come è mantenuto e gestito il contesto della connessione; quando un client si disconnette da AppServer, il contesto rimane disponibile per le successive connessioni.Questo tipo di connessione viene utilizzata per pre-caricare oggetti, super procedure, variabili ,ecc.in modo da evitare il load ogni volta che una connect viene stabilita. Ovviamente rimane a carico dello sviluppatore la gestione e la "pulizia" degli oggetti in memoria.

Stateless
  • Le connessioni  sono gestite da AppServer Broker. Molti client per AppServer agent
  • Il contesto è gestito in fase di programmazione
Questa modalità permette di utilizzare un limitato numero di processi per soddisfare più richieste di connessione provenienti da diversi client. Ciò significa che un client può usare una differente connessione ad ogni richiesta di AppServer e quest'ultimo non riconosce il client che lo ha invocato il servizio.
Il contesto, se necessario per l'applicazione, deve essere ristabilito ad ogni connessione; è possibile definire diverse procedure che permettono di gestire il contesto utilizzando gli appositi entry point forniti da AppServer configuration.

State-free
  • Connessioni di tipo logico
  • Connessioni in pool (ABL client su AppServer handle, Web service request su WSA, Open Client request su AppObject)
  • Connessione multiple da client in parallelo
  • Ogni richiesta è indipendente
  • Contesto gestito in fase di programmazione
Il modello state-free tende a scalare in modo efficiente ed è più semplice da programmare.
E' la soluzione ideale per applicazioni dove ogni chiamata è indipendente dalla precedente e dalla successiva.
Il contesto è mantenuto in maniera indipendente dall'applicazione.
Un ABL client mantiene in pool le connessioni, ogni server handle connesso all'AppServer rappresenta un pool di connessioni.
Per i Web Service client, il Web Service Adapter mantiene il pool di connessioni, pressappoco come AppServer Broker fa in modalità stateless.

0 commenti: