La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica Corso di Laurea in Ingegneria.

Presentazioni simili


Presentazione sul tema: "UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica Corso di Laurea in Ingegneria."— Transcript della presentazione:

1 UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica Corso di Laurea in Ingegneria Informatica Progetto e sviluppo di unapplicazione Web-Database a 3 livelli per la gestione degli appelli desame Relatore Prof. Sonia Bergamaschi Correlatore Ing. Maurizio Vincini Anno Accademico Tesi di Laurea di Andrea Malavasi

2 Introduzione alla J2EE Introduzione alla J2EE Architettura della J2EE Architettura della J2EE Caratteristiche degli EJB Caratteristiche degli EJB Conclusioni Conclusioni Demo dellapplicazione Demo dellapplicazione Agenda

3 Realizzare applicazioni distribuite soddisfando i seguenti requisiti: Realizzare applicazioni distribuite soddisfando i seguenti requisiti: definizione di un modello di progettazione standarddefinizione di un modello di progettazione standard supporto per applicazioni client eterogeneesupporto per applicazioni client eterogenee riduzione dei tempi di svilupporiduzione dei tempi di sviluppo scalabilitàscalabilità gestione efficiente delle risorsegestione efficiente delle risorse gestione del carico di lavoro automaticagestione del carico di lavoro automatica integrazione dei sistemi esistentiintegrazione dei sistemi esistenti ampia scelta di server, strumenti e componentiampia scelta di server, strumenti e componenti sicurezzasicurezza Il problema…

4 - 4 - Modello applicativo della J2EE

5 Semplificazione del processo di sviluppo Semplificazione del processo di sviluppo Riusabilità del codice e Modularità Riusabilità del codice e Modularità Robustezza Robustezza Gestione automatica di: Gestione automatica di: transazioni (Commit, Rollback e Recovery) transazioni (Commit, Rollback e Recovery) scalabilità: aumentando lHW, le prestazioni aumentano in modo lineare scalabilità: aumentando lHW, le prestazioni aumentano in modo lineare sicurezza sicurezza Alte prestazioni Alte prestazioni bilanciamento dinamico dei carichi di lavoro bilanciamento dinamico dei carichi di lavoro caching delle connessioni al database caching delle connessioni al database EJB: I vantaggi

6 EJB Server: Application Server EJB Server: Application Server EJB Container: gestisce gli EJB EJB Container: gestisce gli EJB Enterprise Bean Instance: una istanza di EJB Enterprise Bean Instance: una istanza di EJB Client: utilizzatore finale del bean Client: utilizzatore finale del bean EJB: larchitettura

7 - 7 - Tipologie di EJB Sono previsti due tipi di EJB: Sono previsti due tipi di EJB: – Session Bean non sono persistenti non sono persistenti – Entity Bean sono persistenti sono persistenti

8 - 8 - Session Bean Non è persistente Non è persistente Implementa linterfaccia javax.ejb.SessionBean Implementa linterfaccia javax.ejb.SessionBean In genere implementa la logica di business dellapplicazione In genere implementa la logica di business dellapplicazione – Riceve le invocazioni dal client – Agisce (creazione, modifica, cancellazione) sugli Entity Bean si comporta come client verso gli entity si comporta come client verso gli entity Laccesso agli entity bean risulta così maggiormente protetto Laccesso agli entity bean risulta così maggiormente protetto – La sequenza delle operazioni sono eseguite in genere allinterno di una transazione Ciascuna istanza è da considerarsi una ESTENSIONE logica dellapplicazione client Ciascuna istanza è da considerarsi una ESTENSIONE logica dellapplicazione client – La vita di un session bean è legata al client che lha instanziato – E come un agente dedicato allo specifico client, in esecuzione sul server

9 Rappresenta un oggetto persistente Rappresenta un oggetto persistente Consente di mappare una sorgente dati su una classe Java Consente di mappare una sorgente dati su una classe Java – tabella, vista, join o stored procedure in un database relazionale – dati legacy opportunamente incapsulati La lettura / modifica degli attributi di tali entità si traduce La lettura / modifica degli attributi di tali entità si traduce nelle corrispondenti operazioni sulla tabella stessa Ciascuna istanza può essere condivisa da tanti client Ciascuna istanza può essere condivisa da tanti client Quando listanza di un Entity Bean smette di esistere, il Quando listanza di un Entity Bean smette di esistere, il dato che rappresenta continua ad esistere sul DB in caso di crash del sistema i dati rappresentati dagli entity bean resistono, mentre i session bean vengono perduti in caso di crash del sistema i dati rappresentati dagli entity bean resistono, mentre i session bean vengono perduti Entity Bean

10 Connection Pooling Accesso al database per mezzo di una tecnica definita connection pooling che permette laccesso alle risorse server in particolare ai database ad un numero elevato di utenti Accesso al database per mezzo di una tecnica definita connection pooling che permette laccesso alle risorse server in particolare ai database ad un numero elevato di utenti Gestione automatica della cache di connessione da parte dellEJB container Gestione automatica della cache di connessione da parte dellEJB container Utilizzo della standard API JBDC che mette a disposizione uninterfaccia definita DataSource per la gestione delle connessioni. Utilizzo della standard API JBDC che mette a disposizione uninterfaccia definita DataSource per la gestione delle connessioni.

11 Vantaggi della J2EE Architettura e sviluppo semplificati Architettura e sviluppo semplificati Scalabilità per soddisfare laumento di richieste Scalabilità per soddisfare laumento di richieste Integrazione di sistemi informativi preesistenti Integrazione di sistemi informativi preesistenti Ampia scelta di server, strumenti di sviluppo, componenti Ampia scelta di server, strumenti di sviluppo, componenti Modello per la sicurezza flessibile Modello per la sicurezza flessibile

12 Architettura e sviluppo semplificati La piattaforma J2EE offre un modello di sviluppo basato su componenti semplificato La piattaforma J2EE offre un modello di sviluppo basato su componenti semplificato Basandosi sulla J2SE, supporta il paradigma Write Once, Run Anywhere: unapplicazione risulta portabile su tutti i server conformi allo standard J2EE Basandosi sulla J2SE, supporta il paradigma Write Once, Run Anywhere: unapplicazione risulta portabile su tutti i server conformi allo standard J2EE Il modello basato su componenti offre vantaggi rispetto a diversi aspetti: Il modello basato su componenti offre vantaggi rispetto a diversi aspetti: adattamento flessibile alle funzionalità richieste per unapplicazione adattamento flessibile alle funzionalità richieste per unapplicazione definizione del comportamento dellapplicazione in fase di assemblaggio e deployment definizione del comportamento dellapplicazione in fase di assemblaggio e deployment suddivisione dei ruoli suddivisione dei ruoli

13 Scalabilità I container della piattaforma J2EE forniscono un meccanismo che permette di ottenere un alto livello di scalabilità dellapplicazione distribuita, senza richiedere lintervento da parte dello sviluppatore I container della piattaforma J2EE forniscono un meccanismo che permette di ottenere un alto livello di scalabilità dellapplicazione distribuita, senza richiedere lintervento da parte dello sviluppatore Possono realizzare la scalabilità rispetto a particolari funzionalità dellapplicazione, come il supporto alle transazioni, le connessioni verso i database, la gestione del ciclo di vita Possono realizzare la scalabilità rispetto a particolari funzionalità dellapplicazione, come il supporto alle transazioni, le connessioni verso i database, la gestione del ciclo di vita È possibile configurare i container per essere eseguiti su più calcolatori distribuiti È possibile configurare i container per essere eseguiti su più calcolatori distribuiti

14 Integrazione di sistemi informativi preesistenti La piattaforma J2EE, insieme alla J2SE, include un insieme di API standard per accedere a sistemi informativi preesistenti: La piattaforma J2EE, insieme alla J2SE, include un insieme di API standard per accedere a sistemi informativi preesistenti: JDBC: accesso a database relazionali JDBC: accesso a database relazionali Java Transaction API: gestione e coordinamento di transazioni distribuite Java Transaction API: gestione e coordinamento di transazioni distribuite Java Naming and Directory Service: accesso alle informazioni dei servizi di naming e directory aziendali Java Naming and Directory Service: accesso alle informazioni dei servizi di naming e directory aziendali Java Message Service: invio e ricezione di messaggi Java Message Service: invio e ricezione di messaggi JavaMail: invio e ricezione di messaggi di posta elettronica JavaMail: invio e ricezione di messaggi di posta elettronica Java IDL: invocazione di servizi CORBA Java IDL: invocazione di servizi CORBA

15 J2EE piattaforma multilivello per la realizzazione di applicazioni distribuite J2EE piattaforma multilivello per la realizzazione di applicazioni distribuite Strumenti utilizzati: Strumenti utilizzati: Linguaggio di programmazione:Java 2 Linguaggio di programmazione:Java 2 Sistema operativo: Unix Sistema operativo: Unix WEB server: Tomcat WEB server: Tomcat EJB server: JBoss EJB server: JBoss RDBMS: SQL server RDBMS: SQL server Componenti utilizzati: Componenti utilizzati: EJB (implementati 25) EJB (implementati 25) JSP (implementate 18) JSP (implementate 18) Oltre linee di codice prodotte Oltre linee di codice prodotte Conclusioni


Scaricare ppt "UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica Corso di Laurea in Ingegneria."

Presentazioni simili


Annunci Google