Passaggio da web application J2EE a web-app distribuita con EJB deployati su Glassfish

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

Pool Glassfish

Pool Connessioni Glassfish

Next ->
Abilitazione del ping:
Ping Pool Connessioni Glassfish

Ping Pool Connessioni Glassfish

Additional Properties

Additional Properties Glassfish

Additional Properties Pool di Connessioni Glassfish


Alla fine della seguente configurazione avremo il “Ping” se tutto è andato a buon fine.

2) CONFIGURAZIONE DELLA RISORSA JDBC
Resources -> JDBC -> JDBC Resources -> New

Risorsa JDBC

Risorsa JDBC


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.

Model

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)

EJB 3.x

Enterprise Java Bean 3.x


Con la rispettiva Remote Interface. Next ->
Interfaccia Remota EJB

Interfaccia Remota EJB


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

Enterprise Java Archive

Enterprise Java Archive


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.

Finita la configurazione si è pronti ad effettuare le invocazioni dei metodi remoti deployati su Glassfish, per fare ciò vi invito a seguire la seguente guida: Chiamata EJB da Tomcat a Glassfish.
Passaggio da web application J2EE a web-app distribuita con EJB deployati su Glassfish ultima modidfica: 2013-12-30T19:15:57+01:00 da admin
Posted in: Java

By on 30 Dicembre 2013

Tagged: , , ,