_______________________________________________________
L’ ARCHITETTURA “THIN CLIENT” NELLE APPLICAZIONI OSPEDALIERE
_______________________________________________________
Marco Irone*, Rizzieri
Carraro*, Mario Casarin**, Riccardo Larese°, Marco Trova°, Maurizio Dan* e
Pasquale Piccinni**.
Ospedale Civile di Vicenza, Via
Rodolfi, Vicenza
* Servizio di Anestesia e Rianimazione I
** Servizio di Anestesia e Rianimazione II
° Matika S.r.L. Viale Fusinato,
Vicenza
INTRODUZIONE
I moderni criteri di gestione delle aziende ospedaliere richiedono di disporre di informazioni da utilizzare sia in ambito prettamente clinico, per aumentare l’efficienza del lavoro quotidiano in reparto, sia di applicazioni utili nel controllo di gestione, per facilitare l’amministrazione corretta e puntuale delle risorse economiche.
Entrambe queste esigenze rendono quindi desiderabile l’utilizzo di strumenti informatici all’interno dell’ospedale. L’applicazione delle nuove tecnologie consente di ottenere una notevole ottimizzazione nella raccolta e nella elaborazione dei dati, nell’organizzazione delle procedure esistenti, nella generazione di report e statistiche e nel controllo a distanza. Tutto ciò deve però essere strutturato in modo tale da assicurare la massima integrazione delle diverse nuove procedure informatiche fra loro e con la preesistente organizzazione del lavoro. In particolare è necessario che gli strumenti di gestione del sistema informatico non entrino in conflitto con le attività di reparto, aumentando i carichi di lavoro.
A questo proposito l’evoluzione dell’architettura dei sistemi informatici da configurazioni di tipo “client/server” a sistemi di tipo”thin client” appare particolarmente adatta all’ambiente ospedaliero. In questo articolo descriviamo le principali caratteristiche delle due architetture mettendole a confronto nelle possibili applicazioni di tipo ospedaliero.
ARCHITETTURA DELLE APPLICAZIONI “CLIENT/SERVER”
La prima diffusione dell’informatica è nata con architetture costituite da host o mainframe, grossi sistemi utilizzati da più utenti con un limitato numero di applicazioni controllate centralmente. Questa architettura, giustificata dagli elevati costi dell’hardware di quegli anni e dalla necessità di controllo da parte di personale altamente specializzato, limitava grandemente la libertà d’uso degli utenti (figura 1).
fig.1 Architettura
applicativa Mainframe
L’origine dell’architettura Client/Server è contemporanea alla riduzione dei costi dell’hardware, alla nascita delle reti di computer e dell’interfaccia grafica. L’obiettivo principale era costituito da una separazione logica tra dati e programmi che permettesse di utilizzare con semplicità lo stesso patrimonio informativo anche con obiettivi diversi. Infatti, alla base dell’intera struttura applicativa esiste un data base, cioè un archivio strutturato di informazioni accessibili in maniera standardizzata da applicazioni realizzate con un linguaggio adeguato, chiamato SQL. In questa maniera, si rende notevolmente più semplice la creazione di nuove applicazioni, utilizzabili, grazie alla rete, da sistemi diversi. In altri termini su qualsiasi sistema collegato alla rete (Client) può essere eseguita un’applicazione che utilizza i dati residenti su di un unico sistema contenente il database (Server). I vantaggi introdotti da questa struttura sono innumerevoli: semplicità di sviluppo applicativo, flessibilità d’uso, integrabilità di hardware e sistemi operativi diversi, possibilità di utilizzo contemporaneo degli stessi dati da parte di più utenti (figura 2).
fig.2 Architettura
applicativa Client/Server
A fronte di ciò si evidenziano, come aspetti negativi, una complicazione della gestione del sistema che si origina dalla complessità della struttura di comunicazione e dal ruolo attivo svolto da ogni computer collegato alla rete, che genera una potenziale minore affidabilità dell’intero sistema. Infatti, in una architettura di rete le elaborazioni che causano un errore in un sistema possono perfino generare un blocco di tutta la rete. Dal punto di vista della manutenzione del sistema l’architettura Client/Server richiede il controllo, l’allineamento e l’aggiornamento, oltre che del server, anche dei singoli client della rete, con un conseguente notevole aumento dei costi. Infine, diviene critico il ruolo del client la cui potenza elaborativa condiziona la performance globale risultante per l’utente.
ARCHITETTURA DELLE APPLICAZIONI “THIN CLIENT”
L’architettura “Thin client” (TC), definita anche in alcune situazioni “Application server” è un moderno tentativo di riassumere in un’unica soluzione i pregi delle due precedenti configurazioni, eliminandone i difetti.
Si può affermare infatti che l’obiettivo principale di un’architettura TC è la riduzione del Total Cost of Ownership (TCO) di un’installazione, mantenendo un elevato livello di flessibilità, usabilità e sicurezza del sistema.
Il concetto di TCO è stato introdotto da alcuni anni ed è stato significativamente enfatizzato anche da importanti aziende produttrici di hardware e software; come lascia capire l’espressione inglese la considerazione di base è che il costo di un sistema informatico si valuta misurando tutti gli elementi che lo costituiscono durante l’intero ciclo di vita, e quindi, oltre ai costi iniziali di acquisto, di installazione e test, anche da quelli relativi alla manutenzione, all’assistenza, alla gestione e risoluzione di eventuali problemi. Questo secondo gruppo di costi – costituito quasi esclusivamente da costi generati dall’attività dell’uomo – diventa sempre più consistente e percentualmente rilevante. La soluzione per ridurre e controllare il TCO è quindi la riduzione del complesso delle attività di manutenzione richieste dal sistema. In applicazioni critiche – come quelle di gestione dei reparti ospedalieri – la semplificazione della gestione e la riduzione nel numero e della durata degli interventi “sul campo” assume aspetti più rilevanti di quelli meramente economici: assicurare la continuità di servizio e la possibilità di svolgere operazioni di manutenzione (nel senso più ampio del termine) senza rendere necessario lo svolgimento di operazioni sui computer installati negli ambienti operativi diventa un “fattore critico di successo”.
L’architettura “thin client” realizza l’obiettivo della riduzione del TCO mediante lo spostamento della parte applicativa dei programmi svolti sui client presso il server. A prima vista potrebbe sembrare un “tornare indietro” alla vecchia architettura centralizzata, ma in realtà il processo è molto più sofisticato e dell’architettura centralizzata si recuperano unicamente i vantaggi: maggior livello di controllo, più elevato livello di sicurezza dell’intero sistema, semplificazione delle operazioni svolte in periferia.
Su di un server (application server) – eventualmente affiancato da “file server” e da “comunication server” nel caso delle installazioni più critiche e con maggior numero di utenti -- vengono svolte, come programmi indipendenti e separati, le applicazioni richieste dai client; questi ultimi vengono utilizzati unicamente per l’input dei dati e per la mera visualizzazione dei risultati delle elaborazioni (figura 3).
fig.3 Architettura applicativa
Thin Client
Due sono gli aspetti importanti di questa architettura che ne permettono la semplice introduzione anche come evoluzione di precedenti architetture di tipo client/server:
VANTAGGI DI UNA ARCHITETTURA “THIN CLIENT” PER UN’ APPLICAZIONE OSPEDALIERA “CRITICA”
Si è visto come lo sviluppo dell’architettura dei sistemi informatici partendo da strutture nelle quali dati e programmi venivano conservati e gestiti del tutto “centralmente” (Mainframe), è passato a sistemi nei quali sia dati che programmi potevano essere conservati ed elaborati in periferia (Client/Server), per giungere a modelli in cui il controllo dei dati e dei programmi è del tutto centralizzato, ma in cui è contemporaneamente possibile garantire all’utente autorizzato l’uso di qualsiasi applicativo residente nell’unità centrale (Thin Client). E’ evidente come quest’ultima configurazione abbia delle caratteristiche tali da assicurare la massima sicurezza (integrità di dati e programmi) propri dei mainframe e al tempo stesso abbia la flessibilità e l’interfaccia utente evoluta, caratteristica dei sistemi client/server.
A queste fondamentali caratteristiche positive se ne accompagnano altre che rendono vantaggiosa l’applicazione anche in ambiente ospedaliero.
CONCLUSIONI
I continui progressi nel campo delle tecnologie informatiche hanno comportato quasi sempre dei vantaggi nei termini di riduzione dei costi e aumento delle prestazioni. Oltre a questi, per mezzo dell’architettura Thin Client si è ottenuto un aumento dei livelli di sicurezza (hardware e software) delle applicazioni e dei dati e, contemporaneamente, la riduzione del tasso di obsolescenza dell’hardware.
Appaiono quindi evidenti gli innumerevoli vantaggi dell’applicazione di questo tipo di architettura nel campo della sanità ed, in particolare, nell’ambito di aree definite “critiche” (rianimazione, unità coronarica, sala operatoria, …) sia perché vengono trattati pazienti ad alto rischio sia perché l’impiego di risorse è massimale, e pertanto, proprio in questi reparti, deve essere garantita in modo particolare sia la flessibilità delle applicazioni che la sicurezza e la stabilità del sistema.
Inoltre, specie in ambienti in cui è difficile poter continuamente adeguare le apparecchiature, la riduzione del tasso di obsolescenza delle stesse è fondamentale dal punto di vista economico ma anche da quello prettamente tecnologico.
GLOSSARIO
Archivio
Una
qualsiasi raccolta di dati e informazioni, disponibile su supporto cartaceo, o
in formato elettronico o informatico. Un archivio non possiede necessariamente
una strutturazione definita, e normalmente è accessibile unicamente secondo un
logica di ricerca. Un semplice esempio di archivio può essere rappresentato
dall’elenco delle copie della corrispondenza spedita; se le copie vengono
archiviate per data, risulta molto difficile, ad esempio, ritrovare tutte i
documenti inviati allo stesso destinatario.
Database
Un
database è una struttura informatica di archiviazione di dati. Le
caratteristiche fondamentali di un database sono:
Grazie a queste caratteristiche un database è un ambiente di semplice accesso, dal quale è possibile estrarre informazioni anche per scopi diversi da quelli per cui è stato inizialmente progettato, e che può essere integrato con applicazioni di tipo diverso, sviluppate anche in maniera completamente indipendente.
Client
Un
computer connesso ad una rete che non mette proprie risorse a disposizione della
rete ma, al contrario, utilizza quelle rese disponibili da altri computer. Un
computer che in una rete, esegue delle applicazioni richiedendo informazioni e
risultati ad un altro sistema connesso alla rete stessa.
Engine
L’engine, cioè il “motore” di
un database è la parte dell’applicazione che riceve le domande dei client ed
opera sulle tabelle contenute. I tempi di risposta, e quindi la performance
complessiva del sistema, dipendono dalla qualità del software con cui è stato
realizzato l’engine e dalla configurazione del server dove viene eseguita
l’applicazione. In particolare la disponibilità di grandi masse di memoria
centrale, di processori potenti e di memorie di massa (dischi fissi) con tempi
di accesso molto bassi garantiscono le migliori prestazioni. Risulta al
contrario indifferente la potenza elaborativa del client utilizzato per
determinare i tempi di accesso al database. I più moderni motori di database
utilizzano tecniche molto sofisticate – come ad esempio le stored procedures
– per ottimizzare ulteriormente i tempi di risposta del database.
Front End
Il
front end è la parte di un’applicazione che viene vista dall’utente. Si
tratta di un concetto piuttosto esteso che comprende sia le caratteristiche in
interfaccia (aspetto grafico, utilizzo dei comandi e dei testi funzionali,
utilizzo del mouse) sia le caratteristiche funzionali, cioè la definizione
delle operazioni eseguibili dall’applicativo e le modalità con cui possono
essere svolte. Il front end di un applicazione viene eseguito sul client, mentre
l’engine viene eseguito sul server; questo rende possibile separare dal punto
di vista concettuale ed operativo i compiti di sviluppo relativi all’accesso
ai dati da quelli relativi alla gestione dell’interfaccia. In questa maniera,
infine, è possibile sviluppare applicazioni che utilizzino client di tipo
diverso (con sistemi operativi diversi) sviluppando per ognuno di essi un
apposito front end.
LAN
(Local Area Network)
Una LAN
– in italiano si parla di rete locale – è il collegamento effettuato per
mezzo di un sistema di cablaggio – di una serie di sistemi di elaborazione. La
caratteristica tecnica fondamentale di una LAN è che il sistema di cablaggio,
cioè l’insieme dei dispositivi hardware che collegano i computer, è
controllato interamente dal proprietario della rete. Si parla di WAN (Wide Area
Network) quando, essendo lontani i dispositivi da collegare, una parte del
traffico avviene su linee di comunicazione pubbliche, come ad esempio le reti
pubbliche telefoniche. Oltre all’hardware, una rete richiede un software (il
sistema operativo di rete) che sovrintende e gestisce le comunicazioni tra i
computer collegati. Le funzioni fondamentali realizzate con una LAN sono: la
condivisione di alcune risorse (ad esempio i dischi e le stampanti di un
computer possono essere utilizzati anche dagli altri computer della rete) e la
possibilità di comunicazione tra i computer della rete, che permette ad esempio
di realizzare i sistemi di posta elettronica. Si chiama server un sistema che
mette le sue risorse a disposizione della rete, e client un computer che invece
utilizza, oltre alle proprie, le risorse di uno o più server. In una LAN
possono essere realizzate soluzioni applicative di tipo “client/server” in
cui l’elaborazione avviene congiuntamente tra un server ed alcuni client ad
esso collegati: in questo caso il client iniva delle richieste al server che le
elabora e trasmette i risultati al client richiedente; l’esempio più comune
da questo punto di vista sono le applicazioni basate su database (vedi database,
engine).
Punto a Punto
Si intende per “punto a punto” la
connessione diretta tra due sistemi informatici. Per esempio, si ottiene una
connessione punto a punto quando si effettua una telefonata nella quale si mette
in comunicazione un telefono con un atro apparecchio telefonico (o un
apparecchio fax con un atro apparecchio, … ). I protocolli di comunicazione
sono a discrezione degli interlocutori e non sono imposti quindi dalla rete
pubblica. Ad esempio, chi si collega a Internet deve utilizzare necessariamente
il protocollo IP, mentre nel caso di una connessione punto a punto il protocollo
di comunicazione è del tutto indipendente, e viene deciso di volta in volta
(trasmissione di fax, immagini con “videolento”, ECG a distanza, sistemi di
telemetria, …).
Mainframe
Con il termine mainframe od host si
intende un elaboratore di grossa potenza elaborativa utilizzato da un numero
molto elevato di utenti, indicativamente da 100 in su, ma anche da alcune
migliaia di utenti nelle organizzazioni più grandi. La classe di elaboratori
utilizzati da un minor numero di utenti viene normalmente definita
“minicomputer”. La caratteristica fondamentale degli host computer è la
possibilità di eseguire in maniera molto affidabile, cioè garantendo una
elevata continuità di servizio, applicazioni di tipo gestionale. Queste
applicazioni sono caratterizzate da un’interfaccia verso l’utente molto
semplice, priva di grafica e, ad esempio, senza l’utilizzo del mouse. I
mainframe – quasi una sorta di dinosauri della preistoria dell’informatica
– hanno visto il loro periodo di massimo sviluppo e di massima diffusione nei
primi anni dell’era informatica. Quando, a partire dai primi anni 70, i costi
dell’hardware hanno cominciato a diminuire, non vi è stato più alcun motivo
per immobilizzare grosse risorse finanziarie in strumenti che, a causa della
loro complessità, presentavano costi di acquisto e di gestione particolarmente
elevati. I mainframe sono quindi stati progressivamente sostituiti dai
minicomputer (anche questi sistemi multiutente ma caratterizzati da minori
dimensioni e maggiore semplicità d’uso) e dai personal computer; oggi i
mainframe vengono utilizzati solo in alcune grosse organizzazioni (aziende
ospedaliere, banche, grandi aziende…).
Server
Si
possono dare due definizioni diverse di server. La prima riguarda unicamente
l’architettura della rete, ed in questo contesto si definisce server qualsiasi
computer che, in una rete, mette alcune sue risorse (come ad esempio dischi e
stampanti) a disposizione degli altri computer collegati, che vengono chiamati
client. Nelle reti più evolute con il termine server si intende il computer che
svolge funzioni di amministrazione della rete, quali ad esempio il
riconoscimento e l’autorizzazione all’accesso degli utenti che si collegano,
il controllo del traffico, la gestione della riservatezza delle informazioni.
Dal punto di vista applicativo – cioè considerando le applicazioni che
vengono eseguite sulla rete – con il termine server si intende un sistema che
esegue parte delle applicazioni che vengono utilizzate dagli utenti tramite i
client. Si parla in questo caso più precisamente di “application server” ed
un sistema di questo tipo può, ad esempio, contenere il database che viene
interrogato dalle applicazioni dei client.
Sistema Operativo
Il
sistema operativo è costituito dall’insieme dei programmi che controllano e
governano il funzionamento di un computer; essi svolgono quindi compiti di
gestione del sistema come ad esempio l’esecuzione delle copie degli archivi od
il controllo delle linee di comunicazione. I programmi applicativi, al
contrario, sono quelli utilizzati dagli utenti per svolgere i compiti loro
assegnati, come ad esempio registrare la contabilità od i ricoveri dei
pazienti; i programmi applicativi utilizzano i servizi di gestione del sistema
messi a disposizione dal sistema operativo. In un personal computer, ad esempio,
Windows è il sistema operativo e Word è uno dei programmi applicativi
utilizzabili. Quando il sistema operativo serve anche per controllare la rete si
parla di sistema operativo di rete.
SQL
(Structured Query Language)
Il
termine SQL significa in italiano “Linguaggio di Interrogazione Strutturato”
ed è il linguaggio standard con cui vengono eseguite le operazioni su di un
database relazionale. Non si tratta ovviamente solo delle operazioni che
permettono unicamente l’interrogazione dei dati, ma anche di quelle che
permettono la scrittura, la modifica, la cancellazione, la riorganizzazione dei
dati stessi. Questo linguaggio è stato inizialmente creato da IBM per il
proprio database, ma la sua sintassi è pubblica e questo ha permesso che
qualsiasi produttore fosse in grado di creare nuovi database compatibili con il
linguaggio SQL. In questa maniera si è creata una standardizzazione di fatto
tra tutti i database relazionali esistenti sul mercato che, grazie ad essa,
possono scambiarsi informazioni.
Thin Client
Il thin
client è il client di un “application server” e la sua funzione è
unicamente quella di fornire il front end delle applicazioni, cioè di
consentire l’input dei dati e la visualizzazione dei risultati delle
elaborazioni. Anche se può essere utilizzato un normale personal computer per
svolgere il ruolo di thin client, spesso si utilizzano sistemi appositamente
realizzati e caratterizzati da: processori poco potenti, piccola memoria
centrale, mancanza di dischi fissi o floppy disk; infatti, dato che le
elaborazioni avvengono sull’application server, non sono richieste risorse
particolari per configurare il client. Inoltre, per questo motivo, possono
essere vantaggiosamente utilizzati sistemi tecnologicamente obsoleti, come ad
esempio computer dotati di processore 486, per svolgere il ruolo di thin client.
Total
Cost of Ownership
Costi
complessivi sostenuti per possedere un sistema informatico, dati dalla somma dei
costi derivanti dall’installazione e dalla manutenzione (sia hardware che
software).
BIBLIOGRAFIA
Famiglia Windows 2000
Server
http://www.microsoft.com/italy/windows2000/guide/server/features/default.asp
La famiglia Windows 2000 Server è stata progettata sulla base della più
avanzata tecnologia Windows NT.
Grazie a un insieme di servizi applicativi, servizi di directory, funzioni di
gestione di file e stampa, caratteristiche Web e per le comunicazioni con
elevati livelli di affidabilità, funzionalità di gestione efficienti e
supporto dei più recenti prodotti hardware di rete, questo sistema operativo
rappresenta la soluzione migliore per integrare i servizi Internet nelle attività
aziendali.
Terminal Services
http://www.microsoft.com/italy/windows2000/guide/server/overview/terminalservices/
La funzionalità Terminal Services di Microsoft® Windows® 2000 Server consente
di visualizzare il desktop di Windows 2000 Professional e le più recenti
applicazioni per Windows sui desktop che normalmente non sarebbero in grado di
eseguire Windows. Grazie all'emulazione di terminale, Terminal Services consente
di eseguire lo stesso gruppo di applicazioni su diversi tipi di hardware
desktop. Per le aziende che desiderano rendere più flessibile la distribuzione
delle applicazioni e contenere i costi di gestione del desktop, l'architettura
Terminal Services apporta un importante miglioramento alla tradizionale
architettura client/server a due o tre livelli basata su server e su PC
completamente scalabili.
Domande frequenti sui Servizi Terminal di Windows 2000
http://www.microsoft.com/italy/windows2000/guide/server/overview/TerminalServices/Faq.asp
Informazioni sulla rivista
ESIA-Italia
EDUCATIONAL SYNOPSES IN ANESTHESIOLOGY and CRITICAL CARE MEDICINE - Italia
costituisce la parte Italiana della versione Americana, pubblicata su Internet
da Keith J Ruskin, Professore di Anestesia alla Università di Yale. I lavori
saranno accettati sia in lingua Italiana che Inglese. In quelli di lingua
Italiana un corposo riassunto in Inglese verrà preparato dalla redazione,
qualora l'autore non fosse in grado di fornirlo. A cura della redazione sarà
inoltre la traduzione in Italiano dei manoscritti inviati in lingua Inglese. La
rivista sarà inviata gratuitamente a tutti quelli che ne faranno richiesta,
inviando il seguente messaggio "Desidero ricevere ESIA versione
italiana" indirizzato a LANZA@UNIPA.IT
La rivista pubblica rewiews e lavori originali
compiuti nei campi dell'anestesia e della medicina critica. I lavori originali
riguardano ricerche cliniche, di laboratorio e la presentazione di casi clinici.
Le reviews includono argomenti per l'Educazione Medica Continua (EMC), articoli
di revisione generale o riguardanti le attrezzature tecniche. ESIA pubblica le
lettere all'Editore contenenti commenti su articoli precedentemente publicati ed
anche brevi comunicazioni. La guida per gli autori può essere consultata
collegandosi al sito ANESTIT all'indirizzo: http://anestit.unipa.it/
utilizzando la sezione riservata ad ESIA-Italia; oppure
può essere richiesta inviando un messaggio a lanza@unipa.it
EDUCATIONAL SYNOPSES IN ANESTHESIOLOGY and
CRITICAL CARE MEDICINE Sezione Italiana
Il numero della rivista è anche ottenibile
attraverso World-WideWeb WWW: l'URL per questo numero di ESIA è: http://anestit.unipa.it/esiait/esit00010.txt
Il nome della rivista è esitaamm, dove aa è l'anno
ed mm il mese (per esempio questo numero è esit0010.txt)
LA REDAZIONE DI ESIA ITALIA
DIRETTORE: Vincenzo LANZA
Primario del Servizio d'Anestesia e Rianimazione Ospedale Buccheri La Ferla
Fatebenefratelli Palermo LANZA@UNIPA.IT
Terapia Intensiva
Antonio Braschi
Primario del Servizio d'Anestesia e Rianimazione 1 - Policlinico S. Matteo -
IRCCS Pavia
Anestesia Cardiovascolare
Riccardo Campodonico
Responsabile dell'Unità di Terapia Intensiva Cardiochirurgica - Azienda
Ospedaliera di Parma ricrob@mbox.vol.it
Anestesia e malattie epatiche
Andrea De Gasperi
Gruppo trapianti epatici / CCM - Ospedale Niguarda - Milano
Medicina critica e dell'emergenza
Antonio Gullo
Professore di Terapia Intensiva - Direttore del Dipartimento di Anestesia e
Terapia Intensiva -Università di Trieste
Anestesia ed informatica
Vincenzo Lanza
Primario del Servizio d'Anestesia e Rianimazione - Ospedale Buccheri La
Ferla Fatebenefratelli - Palermo
Tossicologia
Carlo Locatelli
Direttore del Centro di Informazione Tossicologica Centro antiveleni di
Pavia - Fondazione Scientifica "Salvatore Maugeri Clinica del Lavoro e
della Riabilitazione"- Pavia
Terapia Antalgica e Cure Palliative
Sebastiano Mercadante
Aiuto del Servizio d'Anestesia e Rianimazione -
Ospedale Buccheri La Ferla Fatebenefratelli - Palermo
mercadsa@tin.it