La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Architettura Java/J2EE

Presentazioni simili


Presentazione sul tema: "Architettura Java/J2EE"— Transcript della presentazione:

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

2 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 ...

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

4 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 ...

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

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

7 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) Titolo Presentazione / Data / Confidenziale / Elaborazione di ...

8 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 ...

9 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 ...

10 – 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 ...

11 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 ...

12 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 ...

13 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 ...

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


Scaricare ppt "Architettura Java/J2EE"

Presentazioni simili


Annunci Google