Implementació d'una aplicació
           J2EE
             Albert Coronado Calzada
             http://www.albertcoronado.com
             http://www.lostsys.com
             @acoronadoc
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.
Instal·lació servidor JBOSS
●   Download http://www.jboss.org/jbossas
●   Descomprimir a c: (Windows) o a /opt (Linux)
●   Executar
    <JBOSS_HOME>/bin/standandalone.bat(Win
    dows) o .sh (Linux)
Instal·lació servidor JBOSS
●   Visitem http://127.0.0.1:8080 i comprovem que
    JBOSS esta arrancat.
Creació de l'esquelet de
      l'aplicació J2EE amb Maven
●   La següent comanda ens genera l'esquelet de
    l'aplicació fent ús de l'archetip 'jboss-javaee6-
    webapp'

mvn archetype:generate
  -DarchetypeArtifactId=jboss-javaee6-webapp
  -DarchetypeGroupId=org.jboss.spec.archetypes
  -DgroupId=com.lostsys.udg.project
  -DartifactId=udgproject1
  -DinteractiveMode=false
Creació de l'esquelet de
l'aplicació J2EE amb Maven
Creació de l'esquelet de
      l'aplicació J2EE amb Maven
●   Editem el fitxer 'pom.xml' per configurar la ruta
    i carpeta del JBOSS
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).
Creació de l'esquelet de
      l'aplicació J2EE amb Maven
●   Executem l'aplicació de prova.

Aplicació Web.            RESTful Service.
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.
Anàlisi de l'esquelet
  de l'aplicació

●   Perspectiva
    esquelet generat:
Anàlisi de l'esquelet de l'aplicació
 ●   Perspectiva patró n-tier.
Capa Model de dades
                                                       model



Capa Negoci
                                    No n'hi ha :(




Capa
presentació                       controller        data

                                                                      rest

                                           xhtml



En projectes mes grossos podem trobar mes capes, per exemple una capa d'accés a dades.
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.
Modificació
del model de
    dades
Gestió del
servei RESTful
Provant el nou servei RESTful
Petició que crea un nou registre a la taula 'Cotxe':




Petició que genera un llistat de registres 'Cotxe' en XML:
Modificacions capa de la vista(JSF)
●   Cotxes.xhtml
Modificacions capa de la vista(JSF)
●   CotxeListProducer
    .java
Comprovem la vista
●   Fem un deploy 'mvn package jboss-as:deploy':
Bonus track 1: Configuració de la
         BBDD (MySql)
●   La BBDD de l'aplicació esta configurada al
    fitxer '<project>/src/resources/META-
    INF/persistence.xml':
Bonus track 1: Configuració de la
         BBDD (MySql)
●   Crear el Driver en la carpeta
    '<JBOSS_HOME>/modules/com/mysql/main'.
Bonus track 1: Configuració de la
         BBDD (MySql)
●   Configuració del fitxer
    '<JBOSS_HOME>/standalone/confguration/stand
    alone.xml'.
Bonus track 2: Creació dels EJB
     de la capa de servei.
Bonus track 3: Accedint als EJB
             des de fora.
●   Creem les interfícies Remote y Local.
Bonus track 3: Accedint als EJB
             des de fora.
●   Implementem les interfícies al servei.
Bonus track 3: Accedint als EJB
             des de fora.
●   El JBOSS desplega el servei via JNDI.
Bonus track 3: Accedint als EJB
             des de fora.
●   Copiem la interfície remota a la nova aplicació
    i ja hi podem accedir.

J2EE

  • 1.
    Implementació d'una aplicació J2EE Albert Coronado Calzada http://www.albertcoronado.com http://www.lostsys.com @acoronadoc
  • 2.
    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.
  • 3.
    Instal·lació servidor JBOSS ● Download http://www.jboss.org/jbossas ● Descomprimir a c: (Windows) o a /opt (Linux) ● Executar <JBOSS_HOME>/bin/standandalone.bat(Win dows) o .sh (Linux)
  • 4.
    Instal·lació servidor JBOSS ● Visitem http://127.0.0.1:8080 i comprovem que JBOSS esta arrancat.
  • 5.
    Creació de l'esqueletde l'aplicació J2EE amb Maven ● La següent comanda ens genera l'esquelet de l'aplicació fent ús de l'archetip 'jboss-javaee6- webapp' mvn archetype:generate -DarchetypeArtifactId=jboss-javaee6-webapp -DarchetypeGroupId=org.jboss.spec.archetypes -DgroupId=com.lostsys.udg.project -DartifactId=udgproject1 -DinteractiveMode=false
  • 6.
    Creació de l'esqueletde l'aplicació J2EE amb Maven
  • 7.
    Creació de l'esqueletde l'aplicació J2EE amb Maven ● Editem el fitxer 'pom.xml' per configurar la ruta i carpeta del JBOSS
  • 8.
    Creació de l'esqueletde l'aplicació J2EE amb Maven ● Finalment despleguem l'aplicació executant 'mvn package jboss- as:deploy' (Des de la carpeta del projecte).
  • 9.
    Creació de l'esqueletde l'aplicació J2EE amb Maven ● Executem l'aplicació de prova. Aplicació Web. RESTful Service.
  • 10.
    Creació de l'esqueletde 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.
  • 11.
    Anàlisi de l'esquelet de l'aplicació ● Perspectiva esquelet generat:
  • 12.
    Anàlisi de l'esqueletde l'aplicació ● Perspectiva patró n-tier. Capa Model de dades model Capa Negoci No n'hi ha :( Capa presentació controller data rest xhtml En projectes mes grossos podem trobar mes capes, per exemple una capa d'accés a dades.
  • 13.
    Anàlisi de l'esqueletde 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.
  • 14.
  • 15.
  • 16.
    Provant el nouservei RESTful Petició que crea un nou registre a la taula 'Cotxe': Petició que genera un llistat de registres 'Cotxe' en XML:
  • 17.
    Modificacions capa dela vista(JSF) ● Cotxes.xhtml
  • 18.
    Modificacions capa dela vista(JSF) ● CotxeListProducer .java
  • 19.
    Comprovem la vista ● Fem un deploy 'mvn package jboss-as:deploy':
  • 20.
    Bonus track 1:Configuració de la BBDD (MySql) ● La BBDD de l'aplicació esta configurada al fitxer '<project>/src/resources/META- INF/persistence.xml':
  • 21.
    Bonus track 1:Configuració de la BBDD (MySql) ● Crear el Driver en la carpeta '<JBOSS_HOME>/modules/com/mysql/main'.
  • 22.
    Bonus track 1:Configuració de la BBDD (MySql) ● Configuració del fitxer '<JBOSS_HOME>/standalone/confguration/stand alone.xml'.
  • 23.
    Bonus track 2:Creació dels EJB de la capa de servei.
  • 24.
    Bonus track 3:Accedint als EJB des de fora. ● Creem les interfícies Remote y Local.
  • 25.
    Bonus track 3:Accedint als EJB des de fora. ● Implementem les interfícies al servei.
  • 26.
    Bonus track 3:Accedint als EJB des de fora. ● El JBOSS desplega el servei via JNDI.
  • 27.
    Bonus track 3:Accedint als EJB des de fora. ● Copiem la interfície remota a la nova aplicació i ja hi podem accedir.