Architettura Java/J2EE

Slides:



Advertisements
Presentazioni simili
“Niente di Nuovo” Mercatino dell’Usato
Advertisements

UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
Corso di Fondamenti di Informatica
Applet Java.
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
PHP.
Web Services.
Java Enterprise Edition (JEE)
Laboratorio di Progettazione Web Introduzione AA 2009/2010 Chiara Renso ISTI - CNR -
Connessione con MySQL.
una interfaccia internet per il sistema Momis
Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica – Nuovo Ordinamento Relatore:
Motore di news per portali Web: progetto ed implementazione Relatore: Chiar.mo Prof. Sonia Bergamaschi Tesi di Laurea di: Roberto Delfini Anno Accademico.
Università degli Studi di Modena e Reggio Emilia
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.
Tecnologie di implementazione
Java2 Esercitazioni del corso di Sistemi Informativi Marina Mongiello
Cagliari 4 Ottobre 2002 Krenesiel ESPERIENZA e LINEE KRENESIEL Workshop NAME Alessandra Spada
LABIS-SD Antonio Cuomo393/121 Clelio Quattrocchi393/127 Emanuele Zuzolo393/136 Fabio Melillo393/141 Stefano Mastrocinque393/135 Valerio Vincenzo Guarino393/155.
JavaScript Laboratorio di Applicazioni Informatiche II mod. A.
Linguaggi per il Web Laboratorio di Applicazioni Informatiche II mod. A.
Applet Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione Università di Siena Via Roma 56 – – SIENA Uff
Analisi dettagliata e design B. Pernici M.G. Fugini AA
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
Architettura del World Wide Web
L’inclusione dei comuni piccoli
Un framework per il pattern MVC
APPLICAZIONI WEB In questo corso impareremo a scrivere un'applicazione web (WA) Marco Barbato - Corso di Applicazioni Web – A.A
Elaborazione di Franco Grivet Chin
1 Titolo Presentazione / Data / Confidenziale / Elaborazione di... ASP. Net Web Part e controlli di login Elaborazione di Franco Grivet Chin.
Struts. Framework open source per lo sviluppo di applicazioni web su piattaforma J2EE. Progetto inizialmente sviluppato come sotto-progetto di Apache.
Introduzione ad ASP.net
Corso Framework Struts (1) 2
Struts. Framework open source per lo sviluppo di applicazioni web su piattaforma J2EE. Progetto inizialmente sviluppato come sotto-progetto di Apache.
PROGETTAZIONE E REALIZZAZIONE DI UN MIDDLEWARE CLIENT-SERVER
Chinosi Michele – matr.: La seconda release di Virtuose basata su database XML La seconda release di Virtuose basata su.
Page 1. Page 2 Gestione Rendite La soluzione Kirey Architettura.
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria “Enzo Ferrari” – Sede di Modena Corso di Laurea Specialistica in Ingegneria Informatica.
Firenze – Festival della Creatività 2009 Comm.it s.r.l. – Ing. Davide Rogai, Ph.D. – Software >> fast on demand software.
Basi di Dati e Sistemi Informativi
Sistemi Informativi sul Web
1 Titolo Presentazione / Data / Confidenziale / Elaborazione di... Data Access Layer.
Il World Wide Web Lidea innovativa del WWW è che esso combina tre importanti e ben definite tecnologie informatiche: Documenti di tipo Ipertesto. Sono.
IMPLEMENTAZIONE TECNOLOGIE:HIBERNATE & JAVA RMI.
IMPLEMENTAZIONE TECNOLOGIE:HIBERNATE & JAVA RMI.
Ingegneria del software Modulo 3 -Tecniche dimplementazione Unità didattica 2 -EJB Ernesto Damiani Università degli Studi di Milano Lezione 4 – Le transazioni.
Design Goals Definiamo le fondamenta dello sviluppo del sistema.
Applicazione Web Informatica Abacus Informatica Classe VIA 2008/2009 N.Ceccon INF (01) Revisione 4.0 settembre 2008.
Java Enterprise Edition
Lezione 8.
Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di.
N4N Platform Architecture PA Inside outlook.
Architetture a componenti Java per la realizzazione di DSS distribuiti Giordano Vicoli - ENEA 28 Ottobre 2003.
Analisi dettagliata e design
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Protocolli e architetture per WIS. Cronologia di Internet ricerche sulla commutazione di pacchetto (Leonard Kleinrock) 1967 Nasce il progetto.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 4 - Progettazione del software Ernesto Damiani Università degli Studi.
Relatore: Prof. Ing. Stefano SalsanoLaureando: Flaminio Antonucci.
Ingegneria del software Modulo 3 -Tecniche d’implementazione Unità didattica 2 -EJB Ernesto Damiani Università degli Studi di Milano Lezione 1 – Introduzione.
Ingegneria del software Modulo 3 -Tecniche d’implementazione Unità didattica 1 -Ingegneria dei componenti Ernesto Damiani Università degli Studi di Milano.
Tecnologie lato Server: i Server Web © 2005 Stefano Clemente I lucidi sono in parte realizzati con materiale tratto dal libro di testo adottato tradotto.
Tecnologie in movimento
Eprogram informatica V anno.
12 dicembre Analisi di sicurezza dell’applicazione SISS Security Assessment dell’applicativo e Reversing del client.
Architetture software
Eprogram informatica V anno. Programmare in rete.
Open City Platform è un progetto finanziato da Application Store Tutorial 30/09/2015.
Transcript della presentazione:

Architettura Java/J2EE Elaborazione di Franco Grivet Chin Titolo Presentazione / Data / Confidenziale / Elaborazione di ...

Architettura logica J2EE Enterprise: impresa o azienda Applicazione enterprise: applicazione distribuita multilivello che coinvolgono varie parti dell’impresa Genericamente molto complesse: vari componenti distribuiti ed eseguiti su hw diversi, scritte spesso con linguaggi di programmazione diversi e che devono colloquiare Utilizzo di framework basati su standard aperti e interoperabili Requisiti principali di un’applicazione Enterprise Architettura e sviluppo semplificati Scalabilità Integrazione con sistemi informativi preesistenti Ampia scelta di server, strumenti di sviluppo, componenti Modello per la sicurezza flessibile Titolo Presentazione / Data / Confidenziale / Elaborazione di ...

Architettura logica J2EE Titolo Presentazione / Data / Confidenziale / Elaborazione di ...

Livelli logici Livello client Livello client Livello web Livello web contiene applicazioni o applet per il client eseguite nel browser o sul client, fornisce tipicamente interfaccia dati contiene applicazioni o applet per il client eseguite nel browser o sul client, fornisce tipicamente interfaccia dati Livello web Livello web componenti web, servlet e JSP eseguiti nel server. Rispondono a richieste http e HTTPS restituendo HTML, XML,ecc. Applicazioni web(componenti Web+pagine HTML e XML) Supporta servizi di autenticazione basati sul Web componenti web, servlet e JSP eseguiti nel server. Rispondono a richieste http e HTTPS restituendo HTML, XML,ecc. Applicazioni web(componenti Web+pagine HTML e XML) Supporta servizi di autenticazione basati sul Web Livello business Livello business Componenti model (DAO o EJB) per la logica di business eseguiti nel server Componenti model (DAO o EJB) per la logica di business eseguiti nel server Livello EIS Database o sistemi preesistenti Architettura connector: resource adapter forniti dai vendor, prodotti J2EE per inserirli nella piattaforma Titolo Presentazione / Data / Confidenziale / Elaborazione di ...

MIDDLE-TIER Livelli logici CLIENT-TIER EIS-TIER Connection Pooling Transaction Support RMI IIOP HTTP Titolo Presentazione / Data / Confidenziale / Elaborazione di ...

Tomcat 4.0 JBoss 2.4.3 Livelli logici Custom Tag Java Beans Servlet /JSP DAO EJB Titolo Presentazione / Data / Confidenziale / Elaborazione di ...

Application client (thick client) Livello Client Forniscono una GUI locale all’utente, anche se è possibile avere riga di comando Ogni client deve usare standard Web (HTTP,S,HTML,XML) Importante: il client dovrebbe comunicare solo con il livello Web Application client (thick client) Applicazioni desktop scritte in Java, pieno accesso a J2SE, interfaccia utente molto ricca (normalmente uso di Awt e Swing) Possono accedere alla logica di business direttamente anche se non opportuno Tecnologia Java Web Start per installere applicazioni complete nel desktop dal browser (installa JVM 1.4) http://java.sun.com/products/javawebstart/demos.html Titolo Presentazione / Data / Confidenziale / Elaborazione di ...

Livello client Web client (thin client) Web client (thin client) Interamente eseguiti nel browser web Pagine web costituite di vari linguaggi (HTML,XML) che realizzano l’interfaccia Tecnologie lato client: Javascript, AJAX Interamente eseguiti nel browser web Pagine web costituite di vari linguaggi (HTML,XML) che realizzano l’interfaccia Tecnologie lato client: Javascript, AJAX Applet client Pagine web possono contenere Applet, eseguiti in un container nel browser Eventuale necessita di permessi per eseguire JavaBeans Problemi legati alla versione della JVM (plug in) Non sempre necessitano Browser (es Macintosh) Titolo Presentazione / Data / Confidenziale / Elaborazione di ...

Design pattern Design pattern Design pattern e algoritmo MVC Nell'ingegneria del software, un design pattern (struttura di progettazione) può essere definito "una soluzione progettuale generale a un problema ricorrente". Esso non è una libreria o un componente di software riusabile, quanto una descrizione o un modello da applicare per risolvere un problema che può presentarsi in diverse situazioni durante la progettazione e lo sviluppo del software. Interamente eseguiti nel browser web Pagine web costituite di vari linguaggi (HTML,XML) che realizzano l’interfaccia Tecnologie lato client: Javascript, AJAX Design pattern e algoritmo La differenza tra un algoritmo e un design pattern è che il primo risolve problemi computazionali, mentre il secondo è legato agli aspetti progettuali del software. MVC Model-View-Controller (abbreviato spesso in MVC), che consiste nel separare i componenti software che implementano il modello delle funzionalità di business (model), dai componenti che implementano la logica di presentazione (view) e da quelli di controllo che tali funzionalità utilizzano (controller). Titolo Presentazione / Data / Confidenziale / Elaborazione di ...

– Design pattern MVC (Model View Controller) Impone una netta separazione fra presentazione, dati e la logica di business Modello -rappresenta i dati -logica di business - informa le view quando ci sono variazioni nello stato Interroga stato del modello Cambia stato del modello Notifica cambiamenti di stato Seleziona la view successiva Visualizzazione -Visualizza i dati del modello -gestisce interazione con utente -riceve aggiornamenti dal modello Controller -seleziona la view -invia gli input dell’utente al modello - intermediario fra view e modello Passa input dell’utente al controllore Titolo Presentazione / Data / Confidenziale / Elaborazione di ...

2 MVC e Java Web View View View View View Controller Controller sono implementate con le JSP Permettono allo sviluppatore di avere già delle funzionalità pronte ed utilizzabili Ogni richiesta non è un processo ma un thread poiché residenti in memoria Hanno “memoria” Veloci perché in memoria e multi-threaded Permettono allo sviluppatore di avere già delle funzionalità pronte ed utilizzabili Ogni richiesta non è un processo ma un thread poiché residenti in memoria Hanno “memoria” Veloci perché in memoria e multi-threaded Permettono allo sviluppatore di avere già delle funzionalità pronte ed utilizzabili Ogni richiesta non è un processo ma un thread poiché residenti in memoria Hanno “memoria” Veloci perché in memoria e multi-threaded Permettono allo sviluppatore di avere già delle funzionalità pronte ed utilizzabili Ogni richiesta non è un processo ma un thread poiché residenti in memoria Hanno “memoria” Veloci perché in memoria e multi-threaded Controller Controller Controller Controller Devo conoscere le API per poterle utilizzare e devo adattarmi Sono legato mani e piedi al produttore di API Le api non sono modificabili dall’utente Possibili bachi Devo conoscere le API per poterle utilizzare e devo adattarmi Sono legato mani e piedi al produttore di API Le api non sono modificabili dall’utente Possibili bachi sono implementati con delle Servlet Model può essere realizzato in vari modi il più semplice dei quali è di utilizzare una classe Java che contenga classi di modello con campi, metodi get e set e metodi di accesso alla base dati Titolo Presentazione / Data / Confidenziale / Elaborazione di ...

3 MVC e Java Web (Diagramma di sequenza UML) utente Index.jsp Login.jsp LoginServlet Utente D A T B S E Login=admin&password=pass service getUtenteByLoginPassword(login,password) Oggetto utente Titolo Presentazione / Data / Confidenziale / Elaborazione di ...

2 MVC e Java Web Il MODEL può essere meglio rappresentato con: DTO DAO Data Transfer Object classe con campi e metodi get e set Spesso speculare a una tabella del database DAO Data Access Object classe che contiene i metodi SCRUD (Search Create Read Update Delete) lavorare con la tabella sul database Implementato con codice Java standard o con altre scelte, ad esempio IBATIS (query mapper) HIBERNATE (Object Relational Mapping) Titolo Presentazione / Data / Confidenziale / Elaborazione di ...

www.altran.it Titolo Presentazione / Data / Confidenziale / Elaborazione di ...