La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

1 Docente: Marco Sechi Modulo 1 PARADIGMI APPLICATIVI.

Presentazioni simili


Presentazione sul tema: "1 Docente: Marco Sechi Modulo 1 PARADIGMI APPLICATIVI."— Transcript della presentazione:

1 1 Docente: Marco Sechi Modulo 1 PARADIGMI APPLICATIVI

2 2 1° PARADIGMA APPLICATIVO: IL MAINFRAME Docente: Marco Sechi Modulo 1 Il mainframe è un potente calcolatore utilizzato soprattutto da grandi aziende ed istituzioni per elaborare (con alte prestazioni ed alta affidabilità!) grandi moli di dati come quelle messe in gioco nelle transazioni finanziarie, nei censimenti e nelle statistiche. Storicamente i mainframe erano famosi per la loro dimensione e per i requisiti ambientali (condizionamento e alimentazione elettrica). Si svilupparono alla fine degli anni 50 fino agli anni 70. "IBM" era la principale produttrice.

3 3 Docente: Marco Sechi Modulo 1 All'inizio degli anni 80 iniziò il declino. Durante questo periodo le aziende trovarono che le reti dei PC potevano essere impiegate come alternativa al mainframe ma ad un costo decisamente inferiore. La rete dei pc consentiva agli utenti un maggior controllo sui loro apparati informatici: in altre parole le aziende potevano gestire il loro sistema utilizzando risorse umane interne senza ricorrere necessariamente a personale esterno altamente qualificato. Infatti le ditte che producevano i mainframe, per via delle loro politiche accentratrici, tendevano a non fornire approfonditi dettagli tecnici sulla gestione dei loro prodotti per cui era necessario richiedere il loro intervento anche per semplici operazioni con un conseguente aumento dei costi. Con lavvento delle LAN i terminali fisici, usati per interagire con i mainframe, furono gradualmente rimpiazzati dai PC. Conseguentemente la domanda crollò e le nuove installazione di mainframe furono limitate soprattutto a macchine per servizi finanziari e governativi. E inutile avere 2 monitor sulla stessa scrivania. Il terminale hardware venne trasformato in unapplicazione allinterno del pc: il terminale software.

4 4 Docente: Marco Sechi Modulo 1 Allinizio degli anni 90 il mondo del mainframe era un mercato morente in quanto tali piattaforme erano state rimpiazzate da reti di computer. Tale tendenza iniziò ad invertirsi alla fine degli anni 90 poiché la crescita dell'e-business aumentò fortemente la richiesta di potenza di calcolo per far fronte alla gestione di enormi database unificati e allalto volume di transazioni in parallelo. Altro fattore trainante della rinascita dei mainframe è ladozione di UNIX come sistema operativo. Unix/Linux consente lutilizzo di molti applicativi di tipo open source ed al tempo stesso rende più accessibili le risorse del mainframe poiché la conoscenza di linux è diffusa e caratterizzata da una filosofia di tipo open.

5 5 Docente: Marco Sechi Modulo 1 I moderni mainframe si distinguono dagli altri computer non tanto per la velocità di esecuzione di un singolo task ma piuttosto per la loro alta affidabilità, sicurezza, gestione efficiente del carico di lavoro e per la compatibilità binaria verso programmi applicativi scritti anche tanti anni fa, caratteristica che garantisce la protezione degli investimenti applicativi nel tempo. I moderni mainframe hanno la capacità di eseguire od "ospitare" sistemi operativi diversi, utilizzando la tecnica della virtualizzazione. Un singolo mainframe può rimpiazzare dozzine o centinaia di server fisici più piccoli, riducendo così i costi di gestione e amministrazione e fornendo nel contempo al sistema maggior scalabilità ed affidabilità, difficilmente ottenibili con server fisici distribuiti. Sebbene non ai livelli di efficienza offerti nel mainframe, ora la virtualizzazione è presente anche in molti server UNIX di fascia alta; molti produttori promuovono le tecnologie di virtualizzazione, in qualche maniera cercando di fare propri i capisaldi di progettazione tipici del mainframe.

6 6 Docente: Marco Sechi Modulo 1 I mainframe moderni più grandi hanno dimensioni decisamente più contenute rispetto ai loro antenati e sono caratterizzati da consumi energetici ridotti rispetto ad un rack di server equivalenti in termini di potenza elaborativa.

7 7 Docente: Marco Sechi Modulo 1 Sessione 1 Sessione 2 Sessione N MAINFRAME FRONT END PROCESSOR TERMINALE 1 I terminali inviano, tramite la tastiera, i caratteri digitati alla sessione associata. La sessione elabora l'input aggiornando la videata virtuale interna che viene spedita al suo terminale che la visualizza. La potenza elaborativa è centralizzata e risiede tutta nel mainframe. Il terminale non ha ne cpu ne ram e svolge solo la funzione di semplice visore. TERMINALE 2 TERMINALE N 1 A77 … Videata Input La sessione è un task che gira sul mainframe e gestisce lapplicativo virtuale, il cui output viene visualizzato sul terminale associato

8 8 VANTAGGI APPLICAZIONI MAINFRAME Docente: Marco Sechi Modulo 1 1)Centralizzazione delle risorse: ad esempio non sono necessarie installazioni software presso i client quando aggiorno un programma; 2)Aggiunta di nuove postazioni molto semplice: i client del mainframe sono i terminali ovvero macchine stupide che devono visualizzare dei dati o inviarli (input da tastiera) per cui la loro connessione al sistema si risolve in una semplice stesura di cavi; 3)Performance elevatissime ed alta affidabilità del sistema; 4)Non richiede linee di connessione veloci. Le applicazioni nei mainframe sono generalmente testuali per cui sul canale che collega il terminale alla sessione associata transitano solo caratteri ascii. Per aggiornare una videata ascii di 24 righe e 80 colonne bastano solo byte (24x80). Nel caso di un terminale grafico RGB 1280x800 la richiesta aumenta: infatti occorrono byte (1280x800x3) 2,92Mbyte. SVANTAGGI APPLICAZIONI MAINFRAME 1)Costi molto elevati di setup sia per lacquisto dellhardware che per la sistemazione degli ambienti che devono ospitare il mainframe; 2)Elevati costi di gestione sia per lelevato know how che solitamente è richiesto, sia per lelevato costo dello sviluppo delle applicazioni; 3)Linterfaccia testuale delle applicazioni determina tempi di apprendimento più lunghi: le applicazioni essendo testuali risultano più ostiche (non di facile utilizzo) rispetto a quelle che si avvalgono di una interfaccia grafica. Nelle applicazioni testuali (CLI) o conosco i comandi oppure resto bloccato poiché non ho alcun supporto dellinterfaccia. 4)Non è adatto a svolgere compiti di Office Automation (es. videoscrittura, grafici …)

9 9 2° PARADIGMA APPLICATIVO: I PROGRAMMI STANDALONE Docente: Marco Sechi Modulo 1 In piccole realtà caratterizzate dalla presenza di un solo pc o dallassenza di reti Nelle applicazioni di produttività individuale (esempio quelle di Office Automation). Quando lapplicazione, per ragioni di sicurezza, deve essere fisicamente isolata Le applicazioni standalone sono programmi che fanno uso solo delle risorse locali disponibili sul PC dove quellapplicazione è in esecuzione. Unapplicazione standalone non utilizza in modo condiviso le risorse disponibili in una rete. Eventuali dischi di rete (shared disk) vengono visti dallapplicazione come se fossero dischi locali ed usati dalla stessa in modo esclusivo. Questa tipologia di applicazioni è utilizzata:

10 10 SVANTAGGI Docente: Marco Sechi Modulo 1 Nel caso vi siano più pc non collegati è impossibile impostare corrette politiche di backup poiché non è possibile definire un backup centralizzato; Se il numero di utilizzatori è superiore al numero dei pc disponibili occorre definire una corretta politica di utilizzo dellapplicazione standalone affinché che sia sempre possibile identificare lultima versione dei documenti prodotti. Ad esempio se oggi uso una postazione per aggiornare un documento che modifico periodicamente ogni primo giorno del mese devo essere sicuro di aprire la versione del mese precedente e non una antecedente! Per ovviare allinconveniente probabilmente userò sempre lo stesso pc per assolvere tale compito. Sicurezza bassa: senza opportune precauzioni chi accede fisicamente al pc può copiare e portare via i documenti riservati contenuti nel suo hard disk. VANTAGGI Semplice configurazione; Costi estremamente bassi; Se il pc è fisicamente isolato fisicamente i livelli di sicurezza sono elevatissimi. Infatti non è possibile leggere i dati dallesterno visto che non risulta connesso a nulla; Linterfaccia grafica delle applicazioni può essere molto user friendly; Lo sviluppo delle applicazioni non richiede un know how elevato poichè nelle applicazioni standalone non è solitamente necessario gestire laccesso concorrente alle risorse. Questa considerazione cade quando lapplicazione sfrutta il multitasking per svolgere diverse operazioni in parallelo (ad esempio mentre consulto un archivio lapplicazione in background riordina i dati per velocizzare future ricerche).

11 11 Docente: Marco Sechi Modulo 1 3° PARADIGMA APPLICATIVO: I PROGRAMMI FILE SERVER Le applicazione File Server sono molto simili alle applicazioni standalone. Come nelle applicazioni standalone lintera applicazione gira allinterno del PC che stiamo utilizzando. Contrariamente alle applicazioni standalone lo shared disk, contenente i dati, risulta condiviso tra più macchine. Laccesso ai dati è governato unicamente dalle applicazioni file server che girano sui singoli PC. Gli accessi contemporanei ai dati vengono gestiti lasciando delle opportune indicazioni, scritte allinterno del file dati (DB), che ogni applicazione file server interpreta per evitare collisioni. Microsoft Access (quando non viene utilizzato come front end verso un server SQL) funziona secondo questo paradigma: i files dati vengono alimentati da programmi che girano sulla stessa macchina contenente il DB (dati) o su altri PC connessi in rete. Talvolta, per assicurarsi che sui client venga eseguita sempre la stessa versione dellapplicativo, il programma viene posto su un disco di rete condiviso. Questa soluzione determina un rallentamento durante lavvio dellapplicazione poiché lintero programma, prima di essere caricato in ram, deve transitare sulla rete.

12 12 VANTAGGI APPLICAZIONI FILE SERVER Docente: Marco Sechi Modulo 1 SVANTAGGI APPLICAZIONI FILE SERVER 1)Lentezza: laccesso in multiutenza al file dati non risulta ottimizzato per cui i tempi di salvataggio risultano molto alti; 2)Il controllo della concomitanza degli accessi ai dati deve essere sviluppato ad hoc e viene gestito direttamente allinterno delle applicazioni file server; 3)Il numero degli utenti contemporanei è limitato poiché la rete viene subito intasata dall'elevato traffico generato dalle singole applicazioni che devono inviare in rete tutti i comandi necessari per laccesso al disco di rete. Quindi questo paradigma è applicabile solo in presenza di piccole reti; 4)Se devo aggiornare lapplicazione devo andare fisicamente su ogni postazione Questo non è vero quando lapplicazione viene installata su un disco di rete condiviso. Tale scelta non è sempre possibile (dipende da come è costruita lapplicazione!) ed inoltre non è applicabile quando la mia LAN non è estremamente veloce. 1)Linterfaccia grafica delle applicazioni può essere molto user friendly 2)La configurazione per questa tipologia di applicazione è molto semplice 3)Lo sviluppo di queste applicazioni richiede un know how molto simile a quello richiesto per le applicazioni standalone in multitasking. 4)E il paradigma applicativo che fa uso della rete meno costoso;

13 13 Docente: Marco Sechi Modulo 1 4° PARADIGMA APPLICATIVO: LAPPLICATION SERVER Un server applicativo (o application server) indica un paradigma applicativo nel quale dei software (che girano su computer detti client) si connettono ad una applicazione centrale (che gira su una macchina detta server) per usufruire del servizio da essa erogato. Le applicazioni peer-to-peer sono un caso particolare di application server solo che il ruolo di server e client risulta interscambiabile. Contrariamente al paradigma mainframe nellapplication server lapplicativo viene spezzato in due parti distinte: il software client fornisce linterfaccia grafica verso il server (Input/Output) mentre la componente server, oltre a gestire laggiornamento dei dati, implementa la gestione degli accessi, lallocazione e il rilascio delle risorse, la condivisione e la sicurezza dei dati. Questa paradigma è successivo a quello del mainframe (richiede la LAN). Rappresenta il punto di partenza per il successivo paradigma: le applicazioni web- based. Lapplication server rientra nella categoria più ampia dei sistemi client/server.

14 14 VANTAGGI APPLICATION SERVER Docente: Marco Sechi Modulo 1 1)Richiede poca banda: infatti tra lapplicazione client e quella server il traffico di informazioni è molto ridotto. Il colloquio tra le 2 componenti si riduce ad un semplice scambio di comandi testuali ai quali segue la sequenza di caratteri contenente il risultato della richiesta; 2)Alta velocità di esecuzione: le macchine serventi sono specializzate e devono reggere carichi anche mille volte superiori a quelli di un singolo PC pertanto lhardware utilizzato è sofisticato e performante; 3)Bassi costi dei client: i client si preoccupano solo di fornire linterfaccia utente e pertanto non devono essere potenti. Diverso è il discorso relativo al server che deve reggere un carico proporzionale al numero di client connessi contemporaneamente. Il suo costo cresce al crescere del numero di client attivi. 4)Centralizzazione dei dati. 5)Alti livelli di sicurezza grazie al ruolo di filtro sui dati dellapplicazione servente 6)Può sopportare un numero elevato di client contemporanei purché lhardware e il software servente siano adeguati. 7)Interfaccia grafica evoluta 8)Gestione ottimizzata della concorrenza nelluso delle risorse effettuato direttamente dall'applicazione servente o demandato al NOS ospitante.

15 15 Docente: Marco Sechi Modulo 1 1)Lo sviluppo di tali applicazioni richiede un know how maggiore di quello richiesto per le applicazioni standalone e File Server 2)I costi del server sono molto elevati. Il server è il cuore del sistema e pertanto : deve essere estremamente veloce (tempi di attesa lunghi si traducono in attese e costi per lazienda) per cui lhardware deve essere sofisticato (ad esempio i tempi di accesso ai dischi devono essere molto bassi poiché nella stessa unità di tempo posso esserci molti utenti che leggono o modificano i files sul server). occorre applicare politiche di fault tolerance adeguate (se il server si blocca tutti i dipendenti aziendali sono fermi e questo implica costi!). richiede la presenza di un NOS. Ad esempio sfruttando alcune funzionalità del NOS è possibile utilizzare le informazioni del sistema paghe aziendale (programma stipendi!) per generare delle regole di accesso al NOS che rispecchino la posizione attuale di ogni dipendente allinterno dellorganigramma. Eventuali trasferimenti ad altri uffici, licenziamenti, assunzioni, etc determineranno variazioni automatiche sui diritti di accesso al sistema. Chiaramente lestrema versatilità che caratterizza i NOS aumenta il livello di know how richiesto; Deve essere always on (sempre acceso). 3)Lupgrade dellapplicazione sui client richiede che un tecnico vada fisicamente su ogni postazione (upgrade onsite) o lutilizzo di tecniche di software distribution che determinano ulteriori costi. 4)Ogni applicazione server ha un suo specifico client sviluppato ad hoc. SVANTAGGI APPLICATION SERVER

16 16 Docente: Marco Sechi Modulo 1 Un applicazione Terminal-server indica un paradigma applicativo nel quale una potente macchina centrale eroga ai suoi client delle sessioni contenenti non videate applicative (come avveniva nel mainframe) ma intere macchine virtuali. Lutilizzatore ha limpressione che sul suo client giri un intero sistema operativo compresi gli applicativi che ritroviamo solitamente installati su una macchina reale. Laggiunta o laggiornamento di un software applicativo si traduce in una installazione centralizzata sulla macchina virtuale dellutente che ne ha fatto richiesta. Quindi per lupgrade non è necessario mandare un tecnico presso lutente. 5° PARADIGMA APPLICATIVO: APPLICAZIONI TERMINAL SERVER Il know-how necessario per sviluppare unapplicazione con questa tipologia non è superiore a quello richiesto per lo sviluppo di un application server. Anzi i paradigmi visti in precedenza possono essere trasferiti allinterno di questo nuovo schema applicativo senza apportare modifiche al software con notevole risparmio di costi (posso effettuare un upgrade verso questo paradigma mantenendo tutti gli investimenti software fatti in precedenza!).

17 17 Docente: Marco Sechi Modulo 1 VM 1 VM 2 VM N TERMINAL SERVER SWITCH CLIENT TS 1 I Client inviano alla corrispondente macchina virtuale (VM) i dati di input acquisiti tramite mouse e tastiera. La VM associata elabora tale input ed invia la videata prodotta al client che la visualizza sullo schermo. La potenza elaborativa è centralizzata e risiede tutta nel Terminal Server. Ai client è sufficiente una potenza di calcolo pari a quella richiesta dal software client. CLIENT TS 2 CLIENT TS N 1 A77 … Videata Input VIRTUALIZATION LAYER Videata virtuale

18 18 Docente: Marco Sechi Modulo 1 PROCESSO DI AUTENTICAZIONE NEL TERMINAL SERVER Dopo essersi autenticato la sessione Terminal Server appare come se fosse un sistema operativo locale a tutti gli effetti. Se il client è aperto a pieno schermo lutente ha limpressione di utilizzare il sistema operativo del suo PC locale VIDEATA AUTENTICAZIONE VM1 VM2 VMn

19 19 Docente: Marco Sechi Modulo 1 La centralità delle risorse (sia hardware che software) Lupgrade delle applicazioni non richiede installazioni presso il client (onsite) Gestione delle licenze software ottimale: si paga in base al numero di utilizzi contemporanei e non al numero di installazioni (allinterno di ogni singola VM) Gestione del backup ottimale: per ripristinare unintera postazione utente basta ripristinare i files contenenti limmagine disco della della macchina virtuale; Sicurezza: è difficile portare via i dati riservati poiché risiedono su una macchina remota (il terminal server appunto!). Il client è solo un visore per cui per salvare qualcosa sulla chiave USB locale è necessario che lamministratore del sistema abiliti la postazione a tale funzione. Inoltre laccesso richiede uno userId (login) e una password; Ha un'interfaccia grafica evoluta: la stessa di un sistema operativo che gira su un normale PC; I client possono essere qualsiasi dispositivo: da un tablet/smartphone ad un vecchio PC basta che esista il Cliente TS (In Windows è il Desktop Remoto); Il client è indipendentemente dagli applicativi che vengono utilizzati nella Virtual Machine sul Terminal Server. In altre parole non è necessario avere un client specifico per ogni tipo di applicazione utilizzata (cosa che invece avviene con il paradigma Application Server dove il client viene progettato ad hoc per quella applicazione servente specifica). VANTAGGI APPLICAZIONI TERMINAL SERVER I vantaggi ottenuti sono molto simili a quelli del mainframe con laggiunta dellaspetto grafico che nei mainframe di solito non è presente.

20 20 Docente: Marco Sechi Modulo 1 SVANTAGGI APPLICAZIONI TERMINAL SERVER Costoso: richiede macchine serventi estremamente potenti (in alcuni casi sono utilizzati dei mainframe di nuova generazione). I costi sono strettamente legati al numero di client contemporanei che il sistema supporta. Ad esempio ogni sessione in richiede in genere 4Gb di RAM. Se si ferma il Terminal Server tutti gli utenti sono bloccati per cui devo utilizzare le migliori politiche di Fault Tolerance con conseguente aumento dei costi. Il numero di client (a parità di costi) è minore rispetto al mainframe Richiede linee di connessione veloci (ADSL è comunque sufficiente). Le sessioni terminal server trasmettono ai client intere videate grafiche (una schermata RGB con 1280x960 pixel richiede di trasferire 1280x960x3 byte = 3,51 Mb) e quindi una larghezza di banda adeguata. Questo paradigma molto costoso ha avuto una diffusione iniziale molto lenta ma ora con laffacciarsi del cloud ha preso finalmente piede.

21 21 Docente: Marco Sechi Modulo 1 Un applicazione Web-Based è un'applicazione che risulta accessibile/fruibile via web tramite una intranet aziendale/scolastica oppure attraverso Internet stessa. Questo paradigma appartiene allarchitettura di tipo client-server. In questo modello i terminali (client) sono dei normali browser mentre il server eroga i suoi servizi applicativi utilizzando il protocollo più diffuso in assoluto: HTTP. Colossi come Google e Microsoft hanno implementato interi pacchetti di office automation, tradizionalmente distribuiti su supporti DVD, sotto forma di webapps (es. Google Docs). Il filone delle Web Application comprende anche molte applicazioni di tipo aziendale o enterprise (ad esempio programmi di contabilità, gestione magazzino, commesse etc.). Lesempio di applicazione WEB più diffuso è rappresentato dalla lettura della posta on-line mediante un browser. 6° PARADIGMA APPLICATIVO: APPLICAZIONI WEB-BASED

22 22 Docente: Marco Sechi Modulo 1 Le WEB-APP sono suddivise sempre in 2 componenti: parte client e parte server. La parte client contiene del codice di programmazione che si preoccupa di controllare il dialogo con lutente. Questa componente è scritta utilizzando linguaggi di scripting lato client come JavaScript e VBScript. Tale parte viene inviata dal server ai client/browser che la eseguono. La parte server (eseguita sul server HTTP) si preoccupa di reperire o aggiornare i dati presenti su un DB Server. Utilizzando linguaggi di scripting lato server come PHP o ASP il server WEB predispone le pagine HTML, contententi i dati richiesti, che invia ai client. Nelle WEB-APP la parte client è quella che richiede maggior tempo per lo sviluppo (quasi il 70% del tempo complessivo necessario per implementare lintera WEB-APP). Talvolta per aggiungere nuove funzioni ai client si ricorre ai plug-in: componenti software che ampliano ulteriormente le funzionalità presenti nei browser. Sono plug-in ad esempio: Acrobat Reader, Silverlight, Flash e Java. Ad esempio con il plug-in Acrobat Reader è possibile visualizzare i file PDF allinterno del browser (cosa altrimenti impossibile!). Lo schema applicativo delle WEB-APP è simile a quello dei Mainframe con 2 differenze: 1.Linterfaccia utente è grafica; 2.la connessione tra server e client non deve necessariamente essere sempre attiva. Infatti il webserver, dopo aver inviato la pagina richiesta al client, chiude la connessione per riaprirla alla successiva richiesta. Contrariamente al paradigma Terminal Server, dove le videate vengono inviate ai client sotto forma di immagini bitmap (+ o meno ottimizzate), nelle WEB-APP le maschere sono spedite come sequenze di comandi HTML (testuali!) con notevole risparmio di banda.

23 23 Docente: Marco Sechi Modulo 1 SVANTAGGI APPLICAZIONI WEB-BASED Mancanza di privacy (lattività dellutente che naviga viene costantemente monitorata: ad esempio per tracciare dei profili che vengono poi utilizzati per impostare campagne pubblicitarie mirate). Inoltre nessuno ci garantisce che i documenti prodotti da una WEB-APP non possano essere consultati da terzi o dalla stessa società che ha sviluppato la WEB-APP. L'utente può utilizzare la WEB-APP solo se la rete Intranet/Internet è disponibile. Se la rete non risulta disponibile crolla tutto il castello. Lutente finale non può replicare (copiare) lapplicazione se il provider della WEB-APP non lo consente (finiti i tempi delle installazioni selvagge!!) Le WEB-APP utilizzano HTML e i CSS per costruire le videate pertanto il browser in questo paradigma diventa un vero e proprio terminale grafico. Inoltre, sfruttando JAVASCRIPT, il browser diventa anche un terminale intelligente capace di controllare lattività di input dellutente. La WEB-APP è installata interamente sul server HTTP per cui eventuali aggiornamenti non comportano alcun intervento presso i singoli client. Questa prerogativa fa si che questo modello sia adatto anche ad applicazioni la cui diffusione deve essere planetaria (come avviene ad esempio per quelle presenti su Internet). VANTAGGI APPLICAZIONI WEB-BASED La gestione delle WEB-APP risulta centralizzata. Tutta lapplicazione è posta in un web server che distribuisce le pagine richieste ai client. Per aggiornare una WEB-APP non è necessario effettuare un upgrade onsite e neppure implementare meccanismi di software distribution;

24 24 Docente: Marco Sechi Modulo 1 Le WEB-APP non richiedono linstallazione del client (il browser è presente di default in tutti i sistemi operativi!); Il client delle WEB-APP è standard e non deve essere costruito ad hoc come avviene nel paradigma Application Server Le WEB-APP sono portabili ovvero possono girare su qualsiasi piattaforma hardware che abbia un browser. La diffusione dellapplicazione può essere planetaria senza che sia necessario modificare in modo consistente il programma (codice sorgente); La configurazione del server è standard: il protocollo HTTP è quello più diffuso in assoluto e i programmi serventi HTTP si riducono essenzialmente a due: IIS e Apache La grafica sui client è gestita in modo standard e centralizzato utilizzando linguaggi molto diffusi e conosciuti: HTML, CSS e JAVASCRIPT. HTML e CSS sono usati per impostare graficamente la pagina web mentre JAVASCRIPT per programmare il browser in modo che sia possibile ottenere diversi comportamenti a seconda dell'input; Non richiede linee veloci: il protocollo HTTP utilizza codifiche testuali che richiedono una banda ridotta rispetto a quelle di tipo bitmap, utilizzate dai terminal server; La WEB-APP può essere venduta come servizio a consumo (pago ad utilizzo orario!) Sicurezza (per il gestore!): i server vengono raggiunti solo tramite protocollo http per cui non è possibile accedere al file system del server. Le software house controllano in modo completo lutilizzo dei loro prodotti. Potenza di calcolo (basti pensare ad un motore di ricerca come Google) se lhardware del server è adeguato

25 25 Docente: Marco Sechi Modulo 1 Un applicazione CLOUD espande i paradigmi applicativi disponibili in LAN allintera WAN rappresentata da internet. Lobiettivo principale è lesternalizzazione dei sistemi informatici trasformando il tutto nel pagamento di un semplice canone per i servizi ottenuti dal CLOUD. Ricorrendo al CLOUD tutta linfrastuttura interna allazienda, necessaria per la gestione dei sistemi informatici, diventa inutile. 7° PARADIGMA APPLICATIVO:LE APPLICAZIONI CLOUD

26 26 Docente: Marco Sechi Modulo 1 Mancanza di privacy: nulla impedisce che i dati salvati su dischi remoti del CLOUD siano consultati dalla società che gestisce il CLOUD. L'utente dipende in modo esclusivo dal gestore del sistema. I dati aziendali potrebbero non essere più accessibili se si decide di cambiare il provider del CLOUD. Solitamente è opportuno porre una certa attenzione a questo problema durante la stipula del contratto di servizio. Le connessioni al CLOUD devono essere sempre funzionanti altrimenti lazienda non può accedere ai servizi informatici offerti. Inoltre richiede connessioni veloci; Il gestore del CLOUD gestisce in modo completo il ciclo di sviluppo e vendita delle App disponibili nel suo CLOUD (vedi Google Market, Apple Store, Windows Store, etc). Gli sviluppatori dipendono dalla casa madre che offre loro: 1) visibilità tramite degli Store Online; 2) test e certificazione di compatibilità per le App sviluppate. In cambio gli sviluppatori corrispondono alla casa madre un canone e una provvigione per ogni loro App venduta. I programmatori che non accettano queste condizioni non ottengono alcuna certificazione e perdono la possibilità di essere visibili nello store e pertanto per loro diffondere le proprie applicazioni diventa decisamente più difficile. VANTAGGI APPLICAZIONI CLOUD SVANTAGGI APPLICAZIONI CLOUD Lesternalizzazione dei sistemi informativi consente di evitare lassunzione di personale informatico specializzato e che per un azienda rappresenta un costo fisso. La soluzione è scalabile a secondo dellesigenze. Le tariffe sono a consumo (se uso poco pago poco); I client del CLOUD non richiedono potenza di calcolo per cui hanno costi bassi.

27 27 Docente: Marco Sechi Modulo 1 APPROFONDIMENTI

28 28 Docente: Marco Sechi Modulo 1 I supercomputer sono molti ottimizzati per elaborazioni complesse che richiedono soprattutto grandi quantità di memoria. I mainframe sono ottimizzati per elaborazioni relativamente più semplici ma che implicano unaccesso rapido a grandi volumi di dati I supercomputer sono spesso costruiti ad hoc per elaborazioni particolari. I mainframe invece sono general purpose. I mainframe tipicamente formano una linea di modelli venduti a catalogo dal produttore. I mainframe tendono ad avere un numero di processori di servizio che assistono i processori principali (per il supporto crittografico, la gestione dell'I/O, il monitoraggio, la gestione della memoria, ecc.) cosicché il numero effettivo dei processori presenti è molto maggiore di quanto uno possa immaginare. Il design dei supercomputer tende a non includere così tanti processori di servizio poiché essi non aggiungono in modo apprezzabile potenza di calcolo. Entrambi i tipi di sistemi consentono il calcolo parallelo. Nei supercomputer questa prerogativa è utilizzata per aumentare notevolmente la velocità di calcolo mentre nei mainframe per eseguire molteplici task. Molto spesso si confondono i supercomputer con i mainframe. Vediamo le differenze principali: APPROFONDIMENTO 1: Differenze tra Mainframe e SuperComputer

29 29 Docente: Marco Sechi Modulo 1 APPROFONDIMENTO 2: Il controllo remoto Con i programmi di controllo remoto un utente, tramite un programma client specifico, si connette ad un PC remoto e acquisisce il completo controllo dei dispositivi di input (mouse e tastiera) e di output (video). Laccesso è esclusivo per cui la postazione catturata non può essere utilizzati da altri utenti. Il grosso vantaggio di questa modalità è che lutente può utilizzare in remoto gli applicativi della propria postazione di lavoro. Questa applicazione è utilizzata molto dagli help desk informatici per il supporto remoto dei clienti. Esempi di programmi di controllo remoto sono Radmin, VNC, Teamviewer e Desktop remoto di Windows (quando la macchina catturata non è un windows server). INTERNET

30 30 Docente: Marco Sechi Modulo 1 APPROFONDIMENTO 3: Fault Tolerance Backup: è il meccanismo di fault tolerance minimo. Garantisce solo la salvaguardia dei dati. In caso di rottura del server i servizi erogati da esso diventano indisponibili fino al suo ripristino (restore). E una soluzione adeguata solo quando posso accettare tempi di inattività del server lunghi anche più di una settimana. La continuità è intesa solo come mantenimento dei dati prodotti in precedenza al fault. Ridondanza parziale: vengono duplicate solo alcune parti del server come ad esempio lhard disk (mirroring) e il controller dellhard disk (duplexing). Rientra in questo schema la gestione dei dischi in RAID: Questa tecnologia consiste nel distribuire i dati su un gruppo di dischi, in modo che sia possibile ricostruire per via matematica tutti i dati eventualmente persi da uno dei dischi. Esempio: ogni byte viene suddiviso su 8 dischi {dove registro un singolo bit} mentre il bit di parità corrispondente (1 se i precedenti 8 bit hanno una quantità dispari di 1 altrimenti 0) è scritto in un nono disco. Questo tecnica permette, nel caso uno dei dischi si rompa, di ricostruire il dato originale. Rende possibile anche la sostituzione a caldo (hot swap) di uno degli Harddisk; Ridondanza completa: è il massimo grado di fault tolerance e consiste nella replica completa della macchina. E chiaramente la soluzione più costosa. Nel caso il server principale si rompa quello ridondato subentra al suo posto in modo trasparente garantendo la continuità del servizio La tolleranza ai guasti (o fault-tolerance, dall'inglese) è la capacità di un sistema di non subire interruzioni di servizio anche in presenza di guasti. La tolleranza ai guasti aumenta il grado di affidabilità di un sistema. È importante notare che il fault tolerance non garantisce l'immunità dai i guasti, ma solo che i guasti (per cui è stata progettata una protezione!) non causino interruzioni. Esempi di politiche di Fault Tolerance: APPROFONDIMENTO 3: Fault Tolerance

31 31 Docente: Marco Sechi Modulo 1 RAID 1: Il sistema RAID 1 crea una copia esatta (mirror) di tutti i dati su due o più dischi. RAID 2: Un sistema RAID 2 divide i dati a livello di bit (invece che di blocco) e usa un codice di Hamming per la correzione d'errore. Tale codice consente di correggere errori su singoli bit e di rilevare errori doppi. Il RAID 2 è sostanzialmente un RAID 1 più affidabile. RAID 3: Un sistema RAID 3 usa una divisione a livello di byte con un disco dedicato alla parità. Il RAID-3 è estremamente raro nella pratica. Uno degli effetti collaterali del RAID-3 è che non può eseguire richieste multiple simultaneamente. Ogni operazione di I/O richiede di usare tutti i dischi. APPROFONDIMENTO 4: Dischi in RAID

32 32 Docente: Marco Sechi Modulo 1 RAID 5: Un sistema RAID 5 usa una divisione dei dati a livello di blocco con i dati di parità distribuiti tra tutti i dischi appartenenti al RAID. Questa è una delle implementazioni più popolari, sia in hardware che in software. RAID 6: Un sistema RAID 6 usa una divisione a livello di blocchi con i dati di parità distribuiti due volte tra tutti i dischi. Il RAID 6 riesce a gestire il guasto contemporaneo di due dischi. RAID 4: Il sistema RAID 4 usa una divisione a livello di blocchi con un disco dedicato alla parità. Il RAID-4 assomiglia molto al RAID-3 con l'eccezione che divide i dati al livello di blocchi invece che al livello di byte.

33 33 Docente: Marco Sechi Modulo 1 Web server: per la gestione dell'interazione via web tra server e client. oServer: IIS, Apache oClient: Internet Explorer, Chrome, FireFox, Safari, Opera Mail server: per la gestione della posta; oServer: QMail, Microsoft Exchange, MDaemon, Sendmail, ArgoSoft MailServer oClient: Microsoft Outlook, Thunderbird, Eudora, Window mail FTP server: per la gestione dell'upload/download dei file; oServer: IIS, FileZilla Server, CesarFTP oClient: Internet Explorer, WSFTP, FileZilla Client, WinSCP Database server: per la gestione di grandi moli di dati; oServer: Oracle, Microsoft SQL Server, MySQL, IBM DB2, PostgreSQL oClient: qualsiasi programma capace di inviare comandi SQL Print server: per la condivisione delle stampanti; File server: per la condivisione dei file (è uno dei primi servizi offerti dal NOS); Application Server: applicazione distribuita; Groupware: è un insieme di applicativi studiati per venire incontro alle esigenze aziendali di coordinare le attività lavorative di gruppi di persone APPROFONDIMENTO 5: Esempi di sistemi Client/Server


Scaricare ppt "1 Docente: Marco Sechi Modulo 1 PARADIGMI APPLICATIVI."

Presentazioni simili


Annunci Google