Di seguito si mostrano gli step per il passaggio graduale dalla web application J2EE ad una struttura persistente con chiamate remote degli Enterprise Java Bean che risiedono su Glassfish.
Configurazione iniziale Glassfish • Porte [Configuration -> server-config -> NetworkListner] admin-listner: 4848 http-listner-1: 7070 http-listner-2: 8181 • Utente Database -> Web Application (SQL Developer) username: videoshock password: videoshock Vi è anche il script per pulizia del database, che può sempre tornare utile. drop user videoshock cascade; create user videoshock identified by videoshock; grant connect, resource to videoshock; commit; exit;
1) CONFIGURAZIONE DEL POOL DELLE CONNESSIONI
Resources -> JDBC -> JDBC Connection Pool -> New
Abilitazione del ping:
Additional Properties
Alla fine della seguente configurazione avremo il “Ping” se tutto è andato a buon fine.
2) CONFIGURAZIONE DELLA RISORSA JDBC
Resources -> JDBC -> JDBC Resources -> New
Ok.
3) CREAZIONE DEL MODEL (videoshock-model)
Aggiungere tutte le classi del modello e tutti i file *hbm.xml.
Tasto dx progetto -> Build Path->Configure Build Path -> Add Library -> User Library -> hibernate
Ora andremo a modificare il file di configurazione di Hibernate, assegnamo un nome alla session factory che sarà: videoshock-hib.
4) CREAZIONE DEGLI EJB (videoshock-ejb)
File -> New -> Other -> EJB Project -> video shock-ejb
Creo il package it.univaq.mwt.videoshock.business.ejb, dentro vi saranno gli stateless session bean.
File -> New -> Other -> EJB -> Session Bean (EJB 3.x)
Con la rispettiva Remote Interface. Next ->
Nella classe che implementa la remote interface avrò le seguenti annotazioni a livello di classe
@Stateless @Remote(FilmEjbRemote.class) oltre alla dichiarazione della SessionFactory e del POJO. public class FilmEjb implements FilmEjbRemote { @Resource(name = "videoshock-hib") SessionFactory sessionFactory; /** * Default constructor. */ public FilmEjb() { // TODO Auto-generated constructor stub } } |
Prima di andare a realizzare gli ejb è necessario importare il progetto contenente il model.
Tasto dx progetto -> Build Path->Configure Build Path -> Tab Projects -> Add videoshock-model.
Ora sposteremo i services dell’applicazione J2EE all’interno degli ejb, dove nel file RMI vi saranno le signature dei metodi mentre nell’ejb l’implementazione che permetterà la manipolazione della base di dati.
5) CREAZIONE DELL’ENTERPRISE ARCHIVE (videoshock-ear)
File -> New -> Other -> JAVA EE -> Enterprise Application Project
Next -> Aggiungo il model e gli ejb nell’EarContent.
Il modulo ear verrà deployato su GlassFish ed inglobato nella web-app che lo sfrutterà sostituendo la logica di business J2EE con le chiamate agli ejb.