Gestione delle sessioni di lavoro

Da wiki.maggioli.it.
Jump to navigation Jump to search

Questa interfaccia permette di gestire le sessioni di lavoro.

Sessione di lavoro

Una sessione di lavoro rappresenta la connessione di un utente al server applicativo. Un utente può connettersi più volte simultaneamente (se abilitato nei parametri di autenticazione) al server applicativo. Quindi, per ogni utente connesso al sistema possono essere presenti una o più sessioni.

Le sessioni si dividono in due tipologie principali: client e server.

Sessione client

Una sessione client viene rappresentata dall'icona di un terminale. Queste sessioni indicano che un utente reale e' connesso al sistema tramite l'interfaccia grafica dell'applicativo. Solamente gli utenti reali possono effettuare connessioni client. Utenti "interni" o "fittizi" come ad esempio l'utente workflow, possono effettuare solamente connessioni lato server per motivi di sicurezza.

Sessione server

Una sessione server viene rappresentata dall'icona dell'occhio di "HAL 9000" (una lente di obbiettivo rossastra) ed indica che l'utente (reale o fittizio) non e' connesso tramite un client fisico ma ha effettuato una connessione interna dal server verso il server stesso.

Queste sessioni vengono generate ad esempio quando sono avviati dei processi in background sul server. In questo caso l'utente solitamente avvia dal suo client il procedimento in background, che crea una nuova sessione lato server lasciando quindi il client stesso libero di proseguire il suo lavoro o addirittura di terminare. Le sessioni lato server sono indipendenti dal fatto che ci sia un client connesso o meno.

Un altro caso di sessioni lato server è dato dal funzionamento del motore di workflow, che utilizza questo meccanismo per gestire tutti i flussi interni senza dover appoggiarsi ad alcun client remoto.

Nota: Le sessioni server non rispettano l'eventuale limitazione di singola sessione per utente.

Interazione con le sessioni

La maschera mostra tutte le sessioni presenti nel sistema, sia client che server. Vengono mostrati il nome dell'utente, l'IP da dove questo sta effettuando la connessione, l'istante di inizio della sessione e da quanto tempo questa è in pausa (se l'utente non sta lavorando). Una sessione di lavoro risulta "in pausa" se non ci sono interazioni con il server da almeno 2 minuti.

Nota: Nel caso di sessioni server in pausa, questo potrebbe indicare che il processo collegato alla sessione ha avuto dei problemi. In questo caso si suggerisce di indagare più approfonditamente con gli strumenti messi a disposizione dalle differenti applicazioni della suite.

Quando di utilizza questa maschera una sessione viene sicuramente sempre mostrata, e rappresenta la sessione dell'utente che sta usando la maschera. Questa si riconosce dal fatto che al posto dell'intervallo di pausa viene mostrata la scritta "(sei tu)". Cliccando con il tasto destro del mouse su una sessione compare la lista dei comandi che possiamo applicare ad essa.

Invia messaggio alla sessione

Questa comando permette di introdurre una frase che verrà visualizzata sul client dell'utente. E' anche possibile inviare un unico messaggio a tutte le sessioni client tramite il pulsante di broadcast presente sulla toolbar della maschera (con icona del megafono).

Invia messaggio all'utente

Questo comando non compare sempre, ma solo se l'utente selezionato possiede più sessioni correntemente attive. In questo caso il messaggio viene inviato a tutte le sessioni dello stesso utente, a differenza del comando precedente che invia il messaggio solo alla sessione selezionata.

Avvia una chat con la sessione

Se l'amministratore ha necessità di una interazione bidirezionale con l'utente, allora può iniziare una chat. Questo causa l'apertura sul client relativo alla sessione selezionata di una maschera di chat uguale a quella che appare all'amministratore. Per ulteriori informazioni sulla chat è possibile riferirsi a Maschera di chat tra utenti.

Elimina sessione

Questo comando è protetto all'interno di un sotto menu. Il comando elimina immediatamente e senza conferma la sessione di lavoro selezionata. Non è possibile eliminare la propria sessione di lavoro.

L'effetto di eliminare una sessione server è imprevedibile e dipende molto dallo stato in cui si trova il processo server e dalle operazioni che deve effettuare. Eliminare una sessione client causa invece l'immediata disconnessione del client dal server e la visualizzazione su di esso di un messaggio che avverte l'utente del fatto che l'amministratore ha distrutto la sua sessione di lavoro. L'operazione è inappellabile e non annullabile. L'unica operazione che resta a disposizione dell'utente a questo punto è la conferma del messaggio di avviso, con successiva chiusura immediata della sua interfaccia applicativa.

Il comando di eliminazione della sessione ha due varianti:

  • Chiudi sessione gentilmente: L'utente viene disconnesso come sopra descritto e la sua sessione viene marcata come "zombie". L'utente non può più utilizzare direttamente la sessione, ma la sessione essendo ancora attiva nel sistema per qualche secondo, permette la terminazione di eventuali elaborazioni su processi asincroni senza la generazione di errori (ad esempio, ma non si limita a questo, la gestione dei messaggi di callback). E' preferibile utilizzare questa opzione, anche se dal punto di vista dell'utente cambia poco o nulla.
  • Elimina sessione immediatamente: L'utente viene disconnesso esattamente allo stesso modo del punto precedente, ma in questo caso la sessione viene immediatamente tolta del sistema, con il rischio che qualche procedura asincrona ancora in esecuzione possa generare degli errori. Questo comando è presente come retaggio del passato, quando era l'unica opzione disponibile. E' preferibile utilizzare la prima opzione.

Strumenti della toolbar

Nella parte superiore della maschera sono presenti, oltre ai soliti pulstanti standard, anche i seguenti strumenti:

Broadcast messaggi

Rappresentato dall'icona di un megafono, permette di inviare un messaggio in simultanea a tutte le sessioni client. Utile ad esempio per avvertire di un imminente shutdown per manutenzione.

Visualizzazione storica delle sessioni di lavoro

Questo comando apre una maschera che mostra tutta la storia delle sessioni utente (logon, logoff, problemi di autenticazione ecc).

Gestione della politica di accesso

La gestione della politica di accesso è rappresentata da una lista di opzioni selezionabili in cascata:

Connessioni abilitate per tutti

E' la politica di default e permette il normale funzionamento dell'applicativo. A meno di esigenze specifiche è necessario mantenere questa configurazione.

Nuove connessioni interattive bloccate

Quando si intende effettuare uno shutdown per vari motivi (manutenzione, riavvio ecc) e' prima necessario fare uscire tutti gli utenti. Prima ancora è necessario impedire a nuovi utenti di connettersi al sistema. Con questa politica di accesso si permette il normale funzionamento del sistema ma si impediscono nuove sessioni client. In questo modo possiamo attendere che tutte le sessioni si chiudano per poi procedere con lo shutdown.

Nuove connessioni interattive bloccate (setup)

Il funzionamento è identico a quello della politica precedente, solo che questa configurazione è pensata per l'utilizzo assieme al setup (quindi shutdown per aggiornamento). In questo caso, al termine di un setup effettuato con successo, la politica di accesso viene automaticamente ripristinata su "Connessioni abilitate per tutti". Nel caso precedente invece questo non accade.

Tutte le nuove connessioni bloccate (anche procedure server)

Questa politica impedisce anche le nuove sessioni lato server, cosa che invece non è impedita dalle precedenti. Tale politica ha utilizzi molto specifici e causa un blocco non controllato delle sessioni di lavoro server, quindi è da applicare solo dopo avere valutato la situazione contingente.