1 / 15

UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena

UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica. Progetto e sviluppo di un’applicazione Web-Database a 3 livelli per la gestione degli appelli d’esame. Relatore Prof. Sonia Bergamaschi. Tesi di Laurea di

tirza
Download Presentation

UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. UNIVERSITÀ DEGLI STUDI DI MODENAEREGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica Progetto e sviluppo di un’applicazione Web-Database a 3 livelliper la gestione degli appelli d’esame Relatore Prof. Sonia Bergamaschi Tesi di Laurea di Andrea Malavasi Correlatore Ing. Maurizio Vincini Anno Accademico 2001-2002

  2. Agenda • Introduzione alla J2EE • Architettura della J2EE • Caratteristiche degli EJB • Conclusioni • Demo dell’applicazione - 2 -

  3. Il problema… • Realizzare applicazioni distribuite soddisfando i seguenti requisiti: • definizione di un modello di progettazione standard • supporto per applicazioni client eterogenee • riduzione dei tempi di sviluppo • scalabilità • gestione efficiente delle risorse • gestione del carico di lavoro automatica • integrazione dei sistemi esistenti • ampia scelta di server, strumenti e componenti • sicurezza - 3 -

  4. Modello applicativo della J2EE - 4 -

  5. EJB: I vantaggi • Semplificazione del processo di sviluppo • Riusabilità del codice e Modularità • Robustezza • Gestione automatica di: • transazioni (Commit, Rollback e Recovery) • scalabilità: aumentando l’HW, le prestazioni aumentanoinmodo lineare • sicurezza • Alte prestazioni • bilanciamento dinamico dei carichi di lavoro • caching delle connessioni al database - 5 -

  6. EJB: l’architettura • EJB Server: Application Server • EJB Container: gestisce gli EJB • Enterprise Bean Instance: una istanza di EJB • Client: utilizzatore finale del bean - 6 -

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

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

  9. Entity Bean • q Rappresenta un oggetto persistente • q Consente di mappare una sorgente dati su una classe Java • – tabella, vista, join o stored procedure in un database • relazionale • – dati legacy opportunamente incapsulati • q La lettura / modifica degli attributi di tali entità si traduce • nelle corrispondenti operazioni sulla tabella stessa • q Ciascuna istanza può essere condivisa da tanti client • q Quando l’istanza 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 - 9 -

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

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

  12. Architettura e sviluppo semplificati • La piattaforma J2EE offre un modello di sviluppobasato su componentisemplificato • Basandosi sulla J2SE, supporta il paradigma WriteOnce, Run Anywhere: un’applicazione risultaportabile su tutti i server conformi allo standard J2EE • Il modello basato su componenti offre vantaggirispetto a diversi aspetti: • adattamento flessibile alle funzionalità richieste perun’applicazione • definizione del comportamento dell’applicazione infase di assemblaggio e deployment • suddivisione dei ruoli - 12 -

  13. Scalabilità • I container della piattaforma J2EE forniscono unmeccanismo che permette di ottenere un alto livellodi scalabilità dell’applicazione distribuita, senzarichiedere l’intervento da parte dello sviluppatore • Possono realizzare la scalabilità rispetto a particolarifunzionalitàdell’applicazione, come il supporto alletransazioni, le connessioni verso i database, lagestione del ciclo di vita • È possibile configurare i container per essere eseguitisu più calcolatori distribuiti - 13 -

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

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

More Related