La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

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

Presentazioni simili


Presentazione sul tema: "1 Titolo Presentazione / Data / Confidenziale / Elaborazione di... Architettura Java/J2EE Elaborazione di Franco Grivet Chin."— Transcript della presentazione:

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

2 2 Titolo Presentazione / Data / Confidenziale / Elaborazione di... Architettura logica J2EE Enterprise: impresa o azienda Applicazione enterprise: applicazione distribuita multilivello che coinvolgono varie parti dellimpresa 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 unapplicazione Enterprise Architettura e sviluppo semplificati Scalabilità Integrazione con sistemi informativi preesistenti Ampia scelta di server, strumenti di sviluppo, componenti Modello per la sicurezza flessibile

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

4 4 Titolo Presentazione / Data / Confidenziale / Elaborazione di... Livelli logici contiene applicazioni o applet per il client eseguite nel browser o sul client, fornisce tipicamente interfaccia dati Livello client contiene applicazioni o applet per il client eseguite nel browser o sul client, fornisce tipicamente interfaccia dati Livello client 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 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 web Componenti model (DAO o EJB) per la logica di business eseguiti nel server Livello business Componenti model (DAO o EJB) per la logica di business eseguiti nel server Livello business Database o sistemi preesistenti Architettura connector: resource adapter forniti dai vendor, prodotti J2EE per inserirli nella piattaforma Livello EIS

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

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

7 7 Titolo Presentazione / Data / Confidenziale / Elaborazione di... Livello Client Forniscono una GUI locale allutente, 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 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) Application client (thick client)

8 8 Titolo Presentazione / Data / Confidenziale / Elaborazione di... Livello client Interamente eseguiti nel browser web Pagine web costituite di vari linguaggi (HTML,XML) che realizzano linterfaccia Tecnologie lato client: Javascript, AJAX 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) Web client (thin client) Applet client Interamente eseguiti nel browser web Pagine web costituite di vari linguaggi (HTML,XML) che realizzano linterfaccia Tecnologie lato client: Javascript, AJAX Web client (thin client)

9 9 Titolo Presentazione / Data / Confidenziale / Elaborazione di... Design pattern Interamente eseguiti nel browser web Pagine web costituite di vari linguaggi (HTML,XML) che realizzano linterfaccia Tecnologie lato client: Javascript, AJAX 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).Model-View-Controller (abbreviato spesso in MVC) Design pattern e algoritmo 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.ingegneria del softwaresoftware MVC La differenza tra un algoritmo e un design pattern è che il primo risolve problemi computazionali, mentre il secondo è legato agli aspetti progettuali del software.algoritmo

10 10 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 Visualizzazione -Visualizza i dati del modello -gestisce interazione con utente -riceve aggiornamenti dal modello Controller -seleziona la view -invia gli input dellutente al modello - intermediario fra view e modello Interroga stato del modello Notifica cambiamenti di stato Seleziona la view successiva Passa input dellutente al controllore Cambia stato del modello

11 11 Titolo Presentazione / Data / Confidenziale / Elaborazione di... 2 MVC e Java Web 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 Devo conoscere le API per poterle utilizzare e devo adattarmi Sono legato mani e piedi al produttore di API Le api non sono modificabili dallutente Possibili bachi View Controller 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 View Controller 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 View Devo conoscere le API per poterle utilizzare e devo adattarmi Sono legato mani e piedi al produttore di API Le api non sono modificabili dallutente Possibili bachi Controller 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 View sono implementate con le JSP View sono implementati con delle Servlet Controller 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 Model

12 12 Titolo Presentazione / Data / Confidenziale / Elaborazione di... 3 MVC e Java Web (Diagramma di sequenza UML) Login.jspLoginServletUtente Login=admin&password=pass service getUtenteByLoginPassword(login,password) utente DATABASEDATABASE Oggetto utente Index.jsp

13 13 Titolo Presentazione / Data / Confidenziale / Elaborazione di... 2 MVC e Java Web Il MODEL può essere meglio rappresentato con: Data Transfer Object classe con campi e metodi get e set Spesso speculare a una tabella del database 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) DTO DAO

14 14 Titolo Presentazione / Data / Confidenziale / Elaborazione di...


Scaricare ppt "1 Titolo Presentazione / Data / Confidenziale / Elaborazione di... Architettura Java/J2EE Elaborazione di Franco Grivet Chin."

Presentazioni simili


Annunci Google