Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Antonella Poggi
Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Universit di Roma Anno Accademico 2010/2011
Questi lucidi sono stati prodotti sulla base del materiale preparato per il corso di Progetto di Basi di dati da D. Lembo.
client
Antonella Poggi
information system
presentation layer
Architetture Software - 2
Antonella Poggi
Architetture Software - 3
Presentation Layer
E il livello del sistema che gestisce la comunicazione con le entit esterne al sistema stesso (client) Comprende le componenti che si occupano di presentare linformazione verso i client, e che consentono ai client di interagire con il sistema per sottomettere operazioni ed ottenere risultati I client possono essere completamente esterni ed indipendenti dal presentation layer: nei sistemi accessibili tramite web browser che visualizzano pagine HTML, il presentation layer costituito dai moduli del web server che concorrono a creare i documenti HTML (ad es. Java Servlet), mentre il browser il client In altri casi il client ed il presentation layer possono essere fusi insieme: spesso esiste un programma che assolve ad entrambi i compiti
Antonella Poggi Progetto di Applicazioni Software Architetture Software - 4
Architettura One-tier
client
Rispecchia larchitettura hw basata su mainframe tipica dei primi calcolatori elettronici Gli utenti accedevano tramite terminali non intelligenti (in genere schermo e tastiera)
Architetture Software - 8
Antonella Poggi
Antonella Poggi
Architetture Software - 9
Antonella Poggi
Architetture Software - 10
Architettura two-tier
Il sistema informativo partizionato tra due tier: I client hanno la possibilit di processare ulteriormente linformazione fornita dal server Si affermata con il diffondersi di PCs e workstation e con lo sviluppo di nuove tecniche software per i sistemi distribuiti (ad es., RPC) Introduce il concetto di API (Application Program Interface) interfaccia per invocare il sistema dallesterno Il tier nel client gestisce il livello di presentazione invoca le funzionalit dellapplicazione I client si dividono in Thin client (con soli compiti di presentazione) e Thick client (inglobano parte della logica dellapplicazione)
Antonella Poggi
Architetture Software - 11
Antonella Poggi
Architetture Software - 13
server 1
Linterazione di uno stesso client con pi livelli di gestione di risorse ha fatto nascere lesigenza di avere client via via pi potenti, oltre che uno strato di logica applicativa per gestire lintegrazione delle risorse sul client stesso ! Non scalabile!
Antonella Poggi Progetto di Applicazioni Software Architetture Software - 14
server 2
Architettura three-tier
presentation layer
middleware
I livelli concettuali sono completamente disaccoppiati Risponde allesigenza di scalabilit integrare pi server gestire pi utenti Si avvale della presenza di stabili interfacce (API) sia tra il presentation layer e lapplication logic layer che tra lapplication logic layer e il resource management layer Si pu avvalere della funzionalit offerte da un middleware integrazione replicazione
Antonella Poggi
Architetture Software - 15
Il middleware
Il middleware linsieme delle astrazioni di programmazione e delle infrastrutture che supportano lo sviluppo della logica dellapplicazione Come astrazione di programmazione:
Nasconde i dettagli dellhardware, della rete e della distribuzione della computazione Presenta sempre pi potenti primitive che non cambiano concetti di base di RPC ma aumentano la flessibilit nel loro uso La sua evoluzione influenzata dalle tendenze nei linguaggi di programmazione (RPC e linguaggio C, CORBA e linguaggio C++, RMI e linguaggio Java, SOAP-XML e Web services)
Come infrastruttura:
Fornisce una piattaforma per lo sviluppo e lesecuzione di applicazioni complesse Presenta interfacce sempre pi standardizzate Si evolve verso unarchitettura orientata ai servizi Lobiettivo lintegrazione delle piattaforme e la flessibilit nella configurazione
Antonella Poggi Progetto di Applicazioni Software Architetture Software - 16
Antonella Poggi
Architetture Software - 17
Antonella Poggi
Architetture Software - 18
middleware
Antonella Poggi
Architetture Software - 19
database
external application
Forniscono molti strumenti per realizzare parte della logica dellapplicazione triggers replicazione stored procedures queuing systems ! funzioni estremamente efficienti ! problemi: scalabilit, modularit, manutenzione e aggiornamento
resource manager
Architetture Software - 20
Antonella Poggi
Architetture Software - 21
Insegnamo a realizzare unapplicazione web che si connette ad un DBMS attraverso diverse modalit (Java/JDBC, PHP)
information system
A livello di deployment sceglieremo un DBMS relazionale con supporto per stored procedure e trigger (e quindi possibilit di gestire parte della logica applicativa lato server)
Architetture Software - 22
Antonella Poggi