Architetture software

Slides:



Advertisements
Presentazioni simili
Perché.NET di Marco Maraglino don't worry...B-bright !
Advertisements

Gli ipertesti del World Wide Web Funzionamento e tecniche di realizzazione a cura di Loris Tissìno (
Interazione Uomo - Macchina
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D1 Architetture di rete.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità B1 Introduzione alle basi di dati.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità A1 Introduzione a Java.
Unità D1 Architetture di rete.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D1 Architetture di rete.
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
ISA Server 2004 Enterprise Edition Preview. ISA Server 2004.
PHP.
INTERNET : ARPA sviluppa ARPANET (rete di computer per scopi militari)
Le tecnologie informatiche per l'azienda
Web Services.
Java Enterprise Edition (JEE)
P. Sanna 1 I web services TICO Corso di laurea in Informatica Università di Pisa a.a Pierluigi Sanna.
Connessione con MySQL.
WebProfessional Web Content Management System
Motore di news per portali Web: progetto ed implementazione Relatore: Chiar.mo Prof. Sonia Bergamaschi Tesi di Laurea di: Roberto Delfini Anno Accademico.
UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica Progetto e sviluppo di.
Università degli Studi di Modena e Reggio Emilia Facoltà dIngegneria - sede di Modena Corso di Laurea in Ingegneria Informatica Interoperabilità di componenti.
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
IN QUESTA PRESENTAZIONE…
OUTLINE Riprogettazione del database del portale Web della Facoltà di Ingegneria Sviluppo di una applicazione WEB DB : HOMEPAGE DOCENTI Architettura multilivello.
Introduzione ai Web Services. E' un nuovo meccanismo RPC ottimizzato per l'uso in Internet Un qualunque Client su una generica piattaforma deve poter.
APPLICAZIONI E BASI DATI DISTRIBUITE
Linguaggi per il Web Laboratorio di Applicazioni Informatiche II mod. A.
Tipo Documento: unità didattica 1 Modulo 14 Compilatore: Antonella Bolzoni Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione.
ICT (Information and Communication Technology):
IL PATRIMONIO DI DATI - LE BASI DI DATI. Il patrimonio dei dati Il valore del patrimonio di dati: –Capacità di rispondere alle esigenze informative di.
Architettura Three Tier
Perché.Net e non più COM/DCOM ? Superamento dei problemi di COM: Richiede una infrastruttura "non semplice" da ogni applicazione (ad esempio Class Factory.
Integrazione di una piattaforma IPTV in un’architettura SOA
IL CLOUD COMPUTING: portabilità o privacy?
1 Linux day /11/2003 ADA. Dai requisiti al progetto Come nasce il progetto di una piattaforma e-learning Open Source.
Architettura Java/J2EE
Corso di PHP.
DBMS ( Database Management System)
Chinosi Michele – matr.: La seconda release di Virtuose basata su database XML La seconda release di Virtuose basata su.
Modulo 1 - Hardware u.d. 3 (syllabus – 1.3.5)
Analisi (Analista) Progettazione (Progettista) Sviluppo o Traduzione (Sviluppatore) Documentazione.
DAGLI ARCHIVI AI DATABASE
VIRTUALIZZAZIONE Docente: Marco Sechi Modulo 1.
Servizi Grid ed agenti mobili : un ambiente di sviluppo e delivering
Basi di Dati e Sistemi Informativi
Sistemi Informativi sul Web
Introduzione alla programmazione web
Il World Wide Web Lidea innovativa del WWW è che esso combina tre importanti e ben definite tecnologie informatiche: Documenti di tipo Ipertesto. Sono.
Design Goals Definiamo le fondamenta dello sviluppo del sistema.
Corso di Web Services A A Domenico Rosaci 1. Introduzione
Applicazione Web Informatica Abacus Informatica Classe VIA 2008/2009 N.Ceccon INF (01) Revisione 4.0 settembre 2008.
L’architettura a strati
Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di.
I DATABASE.
Creato da Riccardo Nuzzone
Internet e HTML Diffusione di informazioni mediante la rete Internet.
Architettura del Portale Agrologis Utente Modulo F. Data base centrale Active Web Matrix Data Base Multimediale Distribuito Interfacce Visuali Avanzate.
Architetture a componenti Java per la realizzazione di DSS distribuiti Giordano Vicoli - ENEA 28 Ottobre 2003.
Relatore: Prof. Ing. Stefano SalsanoLaureando: Flaminio Antonucci.
Servizi Internet Claudia Raibulet
Ingegneria del software Modulo 3 -Tecniche d’implementazione Unità didattica 1 -Ingegneria dei componenti Ernesto Damiani Università degli Studi di Milano.
Tecnologie in movimento
Eprogram SIA V anno.
Eprogram informatica V anno.
Le basi di dati.
Il mondo del web Includere Digital-mente – Corso livello 4 docente: prof.ssa MANUELA MARSILI.
Sistemi distribuiti Sistema distribuito indica una tipologia di sistema informatico costituito da un insieme di processi interconnessi tra loro in cui.
Eprogram informatica V anno. Programmare in rete.
Open City Platform è un progetto finanziato da Application Store Tutorial 30/09/2015.
COMPONENTI DI UN SISTEMA INFORMATICO HardwareSoftware Parte fisicaComponenti logiche Componenti fisiche (elettroniche e meccaniche) di un computer Istruzioni.
Transcript della presentazione:

Architetture software

Multi- tier (multi strato) Multi-tier è un nome che significa architetture «multi livello» come lo è per esempio lo standard ISO/OSI od il TCP/IP. In queste architetture il software è realizzato in più livelli indipendenti tra loro ma in grado di collaborare. L’architettura TCP/IP ha 5 livelli (fisico, datalink, network, transport, application). Quella ioso/osi ne ha 7.

Multi- tier (multi strato) Un’architettura multi livello è utile anche per i database. Livello fisico: gestisce i file su disco. Livello logico: gestisce le tabelle relazionate tra loro. Livello interfaccia: si occupa della presentazione delle informazioni.

Multi- tier (multi strato) Ogni livello è indipendente dall’altro. Ogni livello può dare informazioni ad un altro e riceverne da altro ancora. Indipendenza è detta logica se è possibile modificare il livello logico (2) senza avere ripercussioni sugli altri. Indipendenza è detta fisica se è possibile modificare la posizione dei file ed i tipi di dati senza intaccare la struttura logica.

Architetture software n-tier Anche i software si possono organizzare a livelli. Questi livelli dialogano direttamente con quelli adiacenti (come in iso/osi). Ogni livello è indipendente e vede sotto di se macchine virtuali evolute. Si dice parla in particolare di Layer o Tier se: Architettura N-tier  indipendenza fisica Architetture N-layer  indipendenza logica.

Applicazione con DB accessibile da utenti esterni (da remoto) Presentazione : il software di livello più esterno che si occupa di presentare visivamente i dati agli utenti (report, query e loro forma grafica). Logico: software che prende a carico le richieste utente date a livello 1 e produce risultati da restituire a livello 1. qui risiedono funzioni, dati, relazioni. Fisico: il software che organizza i dati su supporto di massa.

Anni 1980 : struttura 1-tier Software Tutti e tre i livelli sono implementati nello stesso software I tre livelli sono intrecciati e non indipendenti. Problemi: scalabilità, portabilità, manutenzione. Software Presentazione Logico Fisico Db

Anni 1990 : struttura 1-tier Problemi: Scalabilità: è difficile fare upgrade del software ed è difficile migliorare le prestazioni se si lavora su macchina unica. Portabilità: cambiare macchina o SO significa dover, quasi sempre, riscrivere gran parte del codice, anche alcune parti relative alla presentazione o gestione logica del database. Manutenzione: la modifica di un componente, quasi sempre, si ripercuoteva su modifiche agli altri.

Anni 1990 : struttura 2-tier È la Architettura Client – Server tipica degli anni 1990 Il livello fisico è indipendente dal livello logico e di presentazione. Server Client Presentazione Logico Fisico Db

Architettura Client – Server tipica degli anni 1990 Il server Architettura Client – Server tipica degli anni 1990 In questo modo il livello fisico (o dati) si può spostare su un calcolatore dedicato dove gira un software detto «server» insieme agli archivi che contengono i dati. Server Fisico Db

Il client Client Architettura Client – Server tipica degli anni 1990 Restano i problemi di scalabilità, manutenzione e portabilità per i primi due livelli Client Presentazione Logico

Anni 2000 : struttura 3-tier Client Server DB server Nasce per applicazioni sul web in un tempo in cui il modulo di interfaccia diventa di fondamentale importanza ed è oggetto di continui e frequenti aggiornamenti. Client Server DB server Presentazione Logico Fisico Db

Anni 2000 : struttura 3-tier Client Server DB server I 3 moduli software sono indipendenti tra loro. In questo caso esiste un DB Server e quindi le macchine possono essere 3 con un software che gira su ciascuna. Client Server DB server Presentazione Logico Fisico Db

3 - tier

Architetture attuali N-tier Dal modello Client – Server – DB Server si è passati ad un modello con oltre 3 moduli/livelli software indipendenti. Tipicamente abbiamo i seguenti livelli: Networking : il modulo o livello che si occupa della interconnessione tra i sistemi. Security: il modulo o livello che si occupa della sicurezza dei dati e dei sistemi. Data storage: il livello addetto alla gestione archivi di dati. User interface: il livello più friendly, rivolto all’utente.

Architetture attuali N-tier 4 Networking : il modulo o livello che si occupa della interconnessione tra i sistemi. Security: il modulo o livello che si occupa della sicurezza dei dati e dei sistemi. Data storage: il livello addetto alla gestione archivi di dati. User interface: il livello più friendly, rivolto all’utente. 3 2 1

Architetture 3-tier per il web Per le applicazioni web ed in particolare per le applicazioni di e- commerce è utilizzata una architettura a 3 livelli. Presentazione: il front end generato staticamente o dinamicamente che viene visualizzato dal browser sul computer client. 2 1

Architetture 3-tier per il web 2 - Logico: software generatore del contenuto dinamico. Questa attività è gestita da un Apllication Server (Java EE, ASP.net, PHP, ColdFusion), riceve le richieste dal lato front-end, le elabora per fornire poi le se necessita di dati ne fa richiesta a livello 3. risposte. 2 1

Architetture 3-tier per il web 3 – Dati/fisico: detto back-end, comprende l’archivio dati, il software DBMS (database management system). 2 1

Architetture 3-tier per il web Schema tipico a 3 livelli per applicazioni web. Il dialogo fra le componenti avviene secondo il modello Client – Server. Livello Interfaccia è client di Livello Logico. Livello Logico è client di Livello Dati/fisico. Tipicamente: Web server e DBMS sono sulla stessa macchina. Front-end è sulla macchine utente.

Architetture 3-tier per il web Vantaggi della divisione dei software e macchine: Facile manutenzione. Riusabilità Sviluppo + veloce Web Software Database Designer Engineer Administrator

S O A Service Oriented Architecture Architetture basate sui servizi

S.O.A. Cosa è? Una architettura software è un modo disegnare ed organizzare programmi complessi. La Service Oriented Architecture è un’architettura per costruire servizi sul web o su rete. SOA utilizza una logica orientata ai servizi, questo vuol dire che il sistema software è in realtà organizzato in «sottoprogrammi» detti «servizi» richiamabili dai programmi all’occorrenza. Fonte IBM: http://www-03.ibm.com/press/it/it/presskit/23667.wss

S.O.A. Cosa è? Invece di implementare tali procedure tutte nel programma principale, le si scrive e le si richiama solo all’occorrenza. SOA decompone le singole applicazioni in funzioni elementari riutilizzabili, chiamati servizi. SOA deve supportare le esigenze degli utenti e dei loro Client. Fonte IBM: http://www-03.ibm.com/press/it/it/presskit/23667.wss

SOA: interfacce I Client richiamano i servizi utilizzando interfacce «pubbliche» standard, indipendenti dal hardware e software presenti sulla rete aziendale. Questo sistema è utilizzato molto in ambito aziendale (enterpise) Usa la Intranet ed Internet.

Le 3 componenti di SOA Soa viene realizzato implementando 3 cose: I servizi. Sono procedure, codici disponibili in rete che implementano certi servizi (pagamenti, carrello spesa, carte di credito…) e sono utilizzabili attraverso le loro interfacce. Un registro. Un servizio che gestisce i servizi, li archivia, ne consente la scoperta da parte dei client. I client. Sono i software sui terminali in rete che accedono ai servizi suddetti.

Le 3 componenti di SOA Soa viene realizzato implementando 3 cose: I client. I servizi. Un registro.

Loosely coupled SOA è una architettura «debolmente accoppiata» vuol dire che i servizi girano su macchine e SO diversi e indipendenti tra loro ma sono tutti egualmente e facilmente accessibili da ogni Client. Utilizza poi protocolli standard, già utilizzati per le reti informatiche. Usa dei meccanismi che: Permettono ai Client di accedere ai Servizi ed ai Registri Ai Registri di recepire la presenza di nuovi Servizi. Ai Servizi di avere interfacce semplici per i Client.

I Web Service Alla base delle architetture SOA ci sono i Web Service. secondo la definizione data dal W3C (World Wide Web Consortium), un Web Service (servizio web), è un «sistema software progettato per supportare l'interoperabilità tra diversi elaboratori su di una medesima rete ovvero in un contesto distribuito».

Web Service La struttura fondamentale dei Web Service prevede 3 tipi di linguaggi: HTTP / SOAP Protocolli di comunicazione. WSDL : Linguaggio di descrizione del servizio. UDDI : Catalogazione e scoperta dei servizi. Piattaforme per lo sviluppo di WS: Java Enterprise Edition (Open source). Dot Net (Microsoft) (Proprietaria).

Soap: protocollo per SOA SOAP è il protocollo su cui si basano i servizi Web, I messaggi Soap sono scritti in linguaggio XML (eXtensible Markup Language) un linguaggio multipiattaforma. Permette ai Client di richiedere un Servizio presente in rete e di richiamare i «metodi» del Servizio.

WSDL: descrizione dei servizi È un linguaggio utilizzato per descrivere un documento che viene «pubblicato» in rete dove cè indicato cosa fa e come si usa un Web Service. Il documento in WSDL ti dice dove si trovano i Web Service. Ed i metodi che esso rende disponibili (le funzionalità).

.NET (Microsoft) È un ambiente proprietario di Microsoft che consente di creare questi Servizi sulla rete. Usa la tecnologia ASP.net. Con ASP.net non è necessario scrivere i documenti WSDL e SOAP in quanto viene fatto in automatico. Microsoft Visual Studio crea facilmente dei «form» sulle vostre pagine o applicazioni web con cui accedere ai servizi desiderati.

Java Enterprise Edition platform È un ambiente Open Source che consente di realizzare applicazioni web (web service) utilizzando Java. Come per ogni app Java JEE fornisce la Java Virtual Machine (JVM) e una Application Programming Interface (API). Consente lo sviluppo di applicazioni multi tier.

Java Enterprise Edition platform Web service: le componenti fornite da Java EE sono: JAX-WS: per web service molto complessi. JAX-RS: pre web service leggeri per PDA o cellulari. Web application. Le componenti che Java usa per costruire applicazioni sul web sono: Servlet e Jsp.

Application Server Una A.S. si localizza nello stadio «Bussiness Tier» o «Logic Tier» e quindi fa da tramite tra «Data Tier» e «Presentation Tier». Un A.S., nel caso dei siti e-commerce, è realizzato per fornire questi servizi: Ricerca informazioni Gestione carrello spesa. Elaborazione dati carte di credito. Esistono A.S. «open source» ed altri «proprietari». Presentazione A.S. Bussiness/logico Dati/fisico