1. Introduzione
Il codice PDF di questo documento è disponibile |QUI|.
Gli esempi del documento sono disponibili |QUI|.
Il presente documento riprende un precedente documento redatto nel 2010 e intitolato «Introduzione a Java EE con NetBeans 6.8 e il server GlassFish v3». Il presente documento apporta principalmente le seguenti modifiche:
- la sezione JSF (Java Server Faces) è trattata in un documento a parte: “Introduzione a Java Server Faces, PrimeFaces e PrimeFaces Mobile con esempi (2012)”. In esso vengono utilizzate le funzionalità della versione 2 di JSF,
- i progetti sono progetti Maven.
Java EE indica Java Enterprise Edition. J2EE (Java 2 Enterprise Edition) era il termine precedente. J2EE indica le tecnologie Java utilizzate per creare applicazioni aziendali con JDK 1.4 o versioni precedenti. Contemporaneamente all’introduzione della versione 1.5, che apportava numerose novità al linguaggio Java, Sun introduceva nuove tecnologie basate su questo linguaggio migliorato al fine di colmare le lacune presenti in quelle stesse tecnologie nella versione 1.3. Il termine Java EE 5 è stato quindi utilizzato per indicare l’insieme delle tecnologie che contribuiscono alla creazione di un’applicazione aziendale con la piattaforma Java. Al momento dell’aggiornamento del presente documento, l’ultima versione di Java EE è Java EE 6.
I libri di Antonio Goncalves:
- Java EE 5, edito da Eyrolles
- Beginning Java EE 6 Platform with Glassfish 3, edito da Apress
sono ottimi libri per scoprire le tecnologie di Java EE 5 e Java EE 6. Tutte le principali tecnologie di Java EE vengono esaminate nel contesto di casi di studio realistici. L’autore ha un sito web [http://www.antoniogoncalves.org] che il lettore è invitato a visitare.
Il presente documento esamina alcune delle tecnologie di Java EE 5. In esso creiamo un'applicazione di base a tre livelli [présentation, métier, accès aux données] disponibile in diverse versioni:
Un'applicazione web con le seguenti tecnologie:
- Java Server Faces: per il livello web
- EJB3 o Spring: per il livello business
- EJB3 oppure Spring, JPA/Hibernate, JPA/EclipseLink: per creare diversi livelli di accesso ai dati
Un'applicazione client/server con le seguenti tecnologie:
- Swing: per il livello grafico client con supporto Spring
- EJB3 o servizio web: per il livello server
Alcune tecnologie Java EE non vengono illustrate, come ad esempio i MDB (Message Driven Bean) o i EJB3 stateful. Per approfondirle, si consiglia di consultare i libri di Antonio Goncalves.
Esistono altre tecnologie open source disponibili per creare applicazioni a tre livelli. Una combinazione molto diffusa è Spring (http://www.springframework.org/) / Hibernate (http://www.hibernate.org/). Per consentire al lettore di confrontare le tecnologie EJB3 e Spring, l’applicazione precedente è disponibile in versioni in cui Spring sostituisce EJB3.
Il presente documento è un TD (Esercitazione) utilizzato al quinto anno della facoltà di ingegneria ISTIA dell’Università di Angers [http://www.istia.univ-angers.fr]. Questo TD descrive l’applicazione da realizzare, le tecnologie Java da utilizzare e dove reperire le informazioni. La soluzione proposta è spesso molto ben definita. Il TD pone domande alle quali non fornisce le risposte. Spetta allo studente trovarle.
L’apprendimento di Java EE qui proposto richiede un impegno da parte del lettore stimato tra le 50 e le 100 ore. Il documento contiene molto codice che consente di copiare e incollare. Inoltre, tutti i progetti NetBeans sono descritti in dettaglio. Nel complesso, il documento fornisce le strutture di base delle soluzioni e allo studente viene chiesto di fornirne alcuni dettagli. Il documento può essere utile anche a chi non può o non vuole dedicarvi così tanto tempo. È possibile concentrarsi esclusivamente sulle architetture descritte e tralasciare la parte relativa al codice oggetto delle domande.
Per sviluppare ed eseguire l’applicazione, utilizziamo NetBeans IDE. NetBeans è un prodotto piuttosto pesante: è consigliabile disporre di 1 GB di RAM per lavorare comodamente. È possibile scaricarlo all’indirizzo [http://www.netbeans.org/].
Il documento fa riferimento ai seguenti corsi:
- Persistenza Java 5 nella pratica: [Persistenza in Java 5 attraverso la pratica (2007)] - fornisce gli strumenti per costruire il livello di accesso ai dati con JPA (Java Persistence API)
- Introduzione al linguaggio Java [Introduzione al linguaggio Java (1998)] - per principianti
- Introduzione con esempi pratici a Java Server Faces, PrimeFaces e PrimeFaces Mobile [Introduzione a Java Server Faces, PrimeFaces e PrimeFaces Mobile con esempi (2012)]
Questi materiali didattici sono successivamente citati come [ref1], [ref2] e [ref3].
Serge Tahé, giugno 2012.