J2EE

27
Implementació d'una aplicació J2EE Albert Coronado Calzada http://www.albertcoronado.com http://www.lostsys.com @acoronadoc

description

Charla sobre implementación de una aplicación J2EE en la UDG. (Parte 2, practica)

Transcript of J2EE

Page 1: J2EE

Implementació d'una aplicació J2EE

Albert Coronado Calzadahttp://www.albertcoronado.comhttp://www.lostsys.com@acoronadoc

Page 2: J2EE

Estratègia

● Instal·lació servidor JBOSS.● Creació de l'esquelet de l'aplicació J2EE amb

Maven.● Anàlisi de l'esquelet de l'aplicació.● Modificació del model de dades.● Gestió del servei RESTful.● Modificacions capa vista JSF.

Page 3: J2EE

Instal·lació servidor JBOSS● Download http://www.jboss.org/jbossas● Descomprimir a c:\ (Windows) o a /opt (Linux)● Executar

<JBOSS_HOME>/bin/standandalone.bat(Windows) o .sh (Linux)

Page 4: J2EE

Instal·lació servidor JBOSS● Visitem http://127.0.0.1:8080 i comprovem que

JBOSS esta arrancat.

Page 5: J2EE

Creació de l'esquelet de l'aplicació J2EE amb Maven

mvn archetype:generate -DarchetypeArtifactId=jboss-javaee6-webapp -DarchetypeGroupId=org.jboss.spec.archetypes -DgroupId=com.lostsys.udg.project -DartifactId=udgproject1 -DinteractiveMode=false

● La següent comanda ens genera l'esquelet de l'aplicació fent ús de l'archetip 'jboss-javaee6-webapp'

Page 6: J2EE

Creació de l'esquelet de l'aplicació J2EE amb Maven

Page 7: J2EE

Creació de l'esquelet de l'aplicació J2EE amb Maven

● Editem el fitxer 'pom.xml' per configurar la ruta i carpeta del JBOSS

Page 8: J2EE

Creació de l'esquelet de l'aplicació J2EE amb Maven

● Finalment despleguem l'aplicació executant 'mvn package jboss-as:deploy' (Des de la carpeta del projecte).

Page 9: J2EE

Creació de l'esquelet de l'aplicació J2EE amb Maven

● Executem l'aplicació de prova.

Aplicació Web. RESTful Service.

Page 10: J2EE

Creació de l'esquelet de l'aplicació J2EE amb Maven

● Podem generar el projecte eclipse 'mvn eclipse:eclipse'

● Després podem anem al Eclipse i fem 'File'->'import'->'General – Existing project' i seleccionem el nostre projecte.

Page 11: J2EE

Anàlisi de l'esquelet de l'aplicació

● Perspectiva esquelet generat:

Page 12: J2EE

No n'hi ha :(

Anàlisi de l'esquelet de l'aplicació

● Perspectiva patró n-tier.

xhtml

controller data

rest

Capa presentació

Capa Negoci

Capa Model de dades

model

En projectes mes grossos podem trobar mes capes, per exemple una capa d'accés a dades.

Page 13: J2EE

Anàlisi de l'esquelet de l'aplicació

● En l'arquitectura n-tier tenim nomes dues capes definides, això provoca:

● Duplicitat de codi en la capa de vista.● Problemes a l'hora d'analitzar l'aplicació en un

futur.● Quan l'aplicació creixí, codi poc llegible i

problemes al fer modificacions.● Permet fer test unitaris per tipus de classes. ● Entre d'altres.

Page 14: J2EE

Modificació del model de

dades

Page 15: J2EE

Gestió del servei RESTful

Page 16: J2EE

Provant el nou servei RESTfulPetició que crea un nou registre a la taula 'Cotxe':

Petició que genera un llistat de registres 'Cotxe' en XML:

Page 17: J2EE

Modificacions capa de la vista(JSF)● Cotxes.xhtml

Page 18: J2EE

Modificacions capa de la vista(JSF)● CotxeListProducer

.java

Page 19: J2EE

Comprovem la vista● Fem un deploy 'mvn package jboss-as:deploy':

Page 20: J2EE

Bonus track 1: Configuració de la BBDD (MySql)

● La BBDD de l'aplicació esta configurada al fitxer '<project>/src/resources/META-INF/persistence.xml':

Page 21: J2EE

Bonus track 1: Configuració de la BBDD (MySql)

● Crear el Driver en la carpeta '<JBOSS_HOME>/modules/com/mysql/main'.

Page 22: J2EE

Bonus track 1: Configuració de la BBDD (MySql)

● Configuració del fitxer '<JBOSS_HOME>/standalone/confguration/standalone.xml'.

Page 23: J2EE

Bonus track 2: Creació dels EJB de la capa de servei.

Page 24: J2EE

● Creem les interfícies Remote y Local.

Bonus track 3: Accedint als EJB des de fora.

Page 25: J2EE

● Implementem les interfícies al servei.

Bonus track 3: Accedint als EJB des de fora.

Page 26: J2EE

● El JBOSS desplega el servei via JNDI.

Bonus track 3: Accedint als EJB des de fora.

Page 27: J2EE

● Copiem la interfície remota a la nova aplicació i ja hi podem accedir.

Bonus track 3: Accedint als EJB des de fora.