Upload
svein
View
41
Download
0
Embed Size (px)
DESCRIPTION
Disseny d’un marc de treball de presentació per a aplicacions J2EE. FRANCISCO JAVIER BRAVO RAMOS Enginyeria en informàtica Josep Maria Camps Riba 17 Gener 2011. OBJECTIUS. Introducció a J2EE i els patrons de presentació. Patró Model-Vista-Controlador. - PowerPoint PPT Presentation
Citation preview
DISSENY D’UN MARC DE TREBALL DE PRESENTACIÓ PER A APLICACIONS J2EE
FRANCISCO JAVIER BRAVO RAMOS
Enginyeria en informàticaJosep Maria Camps Riba17 Gener 2011
OBJECTIUS
1. Introducció a J2EE i els patrons de presentació. Patró Model-Vista-Controlador.
2. Estudi comparatiu de tres Frameworks actuals: Struts, Spring i Java Server Faces
3. Creació d’un nou marc de treball de presentació: FrameworkPFC.
4. Desenvolupament d’una aplicació Web que utilitzi FrameworkPFC
1. Introducció a J2EE i els patrons de presentació. Patró Model-Vista-Controlador.
2. Estudi comparatiu de tres Frameworks actuals: Struts, Spring i Java Server Faces
3. Creació d’un nou marc de treball de presentació: FrameworkPFC.
4. Desenvolupament d’una aplicació Web que utilitzi FrameworkPFC
JUSTIFICACIÓ
Aconseguir un major coneixement de J2EE.
Aprofundiment en el llenguatge Java.
Coneixement dels Frameworks actuals i la seva funció en el món empresarial.
PLANIFICACIÓ
DISSEN
Y D’U
N M
ARC DE TREBALL D
E PRESENTACIÓ
PER A APLICACIO
NS J2EE
DISSEN
Y D’U
N M
ARC DE TREBALL D
E PRESENTACIÓ
PER A APLICACIO
NS J2EE
ARQUITECTURA J2EE.
“ J2EE és una plataforma oberta i estàndard per a desenvolupar i desplegar aplicacions empresarials multicapa amb n-nivells, distribuïdes i basades en components.”“ J2EE és una plataforma oberta i estàndard per a desenvolupar i desplegar aplicacions empresarials multicapa amb n-nivells, distribuïdes i basades en components.”
Basada en components software desplegats en contenidors.
Els contenidors proporcionen serveis als components.
Defineix un mínim de 3 capes però pot tenir-ne més.
Capa Client: Applets i Aplicacions Stand – Alone.
Capa intermèdia : Lògica de negoci Capa Presentació : Servlets i JSP Capa de negoci EJB (Enterprise JavaBeans) Capa d’integració ORM, EJB entitat
Capa EIS Bases de dades relacionals
Aplicacions distribuides. Els components poden estar ubicats en diferents nodes.
Basada en components software desplegats en contenidors.
Els contenidors proporcionen serveis als components.
Defineix un mínim de 3 capes però pot tenir-ne més.
Capa Client: Applets i Aplicacions Stand – Alone.
Capa intermèdia : Lògica de negoci Capa Presentació : Servlets i JSP Capa de negoci EJB (Enterprise JavaBeans) Capa d’integració ORM, EJB entitat
Capa EIS Bases de dades relacionals
Aplicacions distribuides. Els components poden estar ubicats en diferents nodes.
DISSEN
Y D’U
N M
ARC DE TREBALL D
E PRESENTACIÓ
PER A APLICACIO
NS J2EE
Patró Model – Vista – Controlador - MVC
Patró d’arquitectura que separa les dades, la interfície d’usuari i la lògica d’aplicació en tres components diferents.
Model: És la representació específica de la informació amb la que opera el sistema. Aquestes dades poden ser relatiuves a la presentació o no, podent representar informació complexa provinent de diversos sistemes d’informació.
Vista: Representa la interfície amb l’usuari de l’aplicació i tots els components de presentació.
Controlador: Respon a les accions de l’usuari invocant peticions i actualitzacions del model i modificacions de les vistes.
Patró d’arquitectura que separa les dades, la interfície d’usuari i la lògica d’aplicació en tres components diferents.
Model: És la representació específica de la informació amb la que opera el sistema. Aquestes dades poden ser relatiuves a la presentació o no, podent representar informació complexa provinent de diversos sistemes d’informació.
Vista: Representa la interfície amb l’usuari de l’aplicació i tots els components de presentació.
Controlador: Respon a les accions de l’usuari invocant peticions i actualitzacions del model i modificacions de les vistes.
Avantatges: Major reutilització de codi. La modificació d’un component no afecti als altres. Major especialització dels perfils de desenvolupadors.Inconvenients: Augment de la dificultat d’aprenentatge No s’aconsegueix un desacoblament total entre les parts.
FRAMEWORKS DE PRESENTACIÓ ACTUALS - STRUTS
DISSEN
Y D’U
N M
ARC DE TREBALL D
E PRESENTACIÓ
PER A APLICACIO
NS J2EE
Open Source i compatible amb totes les implementacions J2EE. Basat en el patró MVC sota la plataforma J2EE.
Model: •Normalment POJOs. •Compatible amb JDBC, EJB, Hibernate, iBatis i Object Relational Bridge.
Controlador (ActionServlet): •Pont entre el model i les vistes.• Comportament extensible.
Vistes: •Normalment JSP. •Compatible amb JSTL i etiquetes personalitzades. •Compatible amb JSF.
Àmplia documentació i gran comunitat de desenvolupadors.
El fitxer de configuració és struts-config.xml i permet configurar:
MessageResources Fitxers de recursos. i18n. ActionMappings Mapeig d’accions Plugins Exemple: Validator.GlobalExceptions GlobalForwards FormBeans Controller Es pot proporcionar un controlador propi.
Molt flexible i fàciment configurable i ampliable.
Open Source i compatible amb totes les implementacions J2EE. Basat en el patró MVC sota la plataforma J2EE.
Model: •Normalment POJOs. •Compatible amb JDBC, EJB, Hibernate, iBatis i Object Relational Bridge.
Controlador (ActionServlet): •Pont entre el model i les vistes.• Comportament extensible.
Vistes: •Normalment JSP. •Compatible amb JSTL i etiquetes personalitzades. •Compatible amb JSF.
Àmplia documentació i gran comunitat de desenvolupadors.
El fitxer de configuració és struts-config.xml i permet configurar:
MessageResources Fitxers de recursos. i18n. ActionMappings Mapeig d’accions Plugins Exemple: Validator.GlobalExceptions GlobalForwards FormBeans Controller Es pot proporcionar un controlador propi.
Molt flexible i fàciment configurable i ampliable.
FRAMEWORKS DE PRESENTACIÓ ACTUALS – SPRING MVC
DISSEN
Y D’U
N M
ARC DE TREBALL D
E PRESENTACIÓ
PER A APLICACIO
NS J2EE
Flexible, ben documentat i fàcil d’utilitzar.
Divisió en mòduls independents i que es poden utilitzar per separat.
Construït en base a DispatcherServlet
Delega peticions a Controllers
Contenidor IOC : Injecció de dependències en temps d’execució.
Cada DispatcherServlet disposa d’un WebApplicationContext.
Flexible, ben documentat i fàcil d’utilitzar.
Divisió en mòduls independents i que es poden utilitzar per separat.
Construït en base a DispatcherServlet
Delega peticions a Controllers
Contenidor IOC : Injecció de dependències en temps d’execució.
Cada DispatcherServlet disposa d’un WebApplicationContext.
CARACTERÍSTIQUES Clara separació de rols ( Controllers, Validators, Commands, Forms, Model Objects, DispatcherServlet,etc)
Cada rol implementat per un objecte especialitzat.
Capacitat de reutilització de codi de negoci.
Sistema de validació millorat.
Compatibilitat amb JSTL, Velocity i llibreries de desenvolupament del costat del client.
Ampli repertori d’etiquetes per a les vistes.
Ofereix implementació de gran varietat de Controllers ( SimpleFormController, AbstractWizardFormController, AbstractCommandController, AbstractFormController ).
CARACTERÍSTIQUES Clara separació de rols ( Controllers, Validators, Commands, Forms, Model Objects, DispatcherServlet,etc)
Cada rol implementat per un objecte especialitzat.
Capacitat de reutilització de codi de negoci.
Sistema de validació millorat.
Compatibilitat amb JSTL, Velocity i llibreries de desenvolupament del costat del client.
Ampli repertori d’etiquetes per a les vistes.
Ofereix implementació de gran varietat de Controllers ( SimpleFormController, AbstractWizardFormController, AbstractCommandController, AbstractFormController ).
FRAMEWORKS DE PRESENTACIÓ ACTUALS – JAVA SERVER FACES
DISSEN
Y D’U
N M
ARC DE TREBALL D
E PRESENTACIÓ
PER A APLICACIO
NS J2EE
“Framework d’interfícies d’usuari del costat del servidor per a Aplicacions Web basades en Java”.
Components:
API i implementació de referència:• Representar componentes UI ( User Interface)• Manegar events• Validacions de servidor.• Conversió de dades• Definir navegació entre vistes.• Internacionalització i accessibilitat•Extensibilitat de tots els components.
Llibreries d’etiquetes: • Personalitzar componentes dintre d’una vista.
“Framework d’interfícies d’usuari del costat del servidor per a Aplicacions Web basades en Java”.
Components:
API i implementació de referència:• Representar componentes UI ( User Interface)• Manegar events• Validacions de servidor.• Conversió de dades• Definir navegació entre vistes.• Internacionalització i accessibilitat•Extensibilitat de tots els components.
Llibreries d’etiquetes: • Personalitzar componentes dintre d’una vista.
CARACTERÍSTIQUES
Clara separació entre COMPORTAMENT i PRESENTACIÓ
Mapeig de peticions HTTP a un gestor d’events específic.
Permet definit components UI amb estat.
Permet separació de rols en el procés de desenvolupament.
No limita a la utilització d’una tecnologia d’script o etiquetes particular.
Permet la conversió de dades i validació individual sobre els components UI.
CARACTERÍSTIQUES
Clara separació entre COMPORTAMENT i PRESENTACIÓ
Mapeig de peticions HTTP a un gestor d’events específic.
Permet definit components UI amb estat.
Permet separació de rols en el procés de desenvolupament.
No limita a la utilització d’una tecnologia d’script o etiquetes particular.
Permet la conversió de dades i validació individual sobre els components UI.
FRAMEWORKS DE PRESENTACIÓ ACTUALS – COMPARATIVA
DISSEN
Y D’U
N M
ARC DE TREBALL D
E PRESENTACIÓ
PER A APLICACIO
NS J2EE
STRUTS
-Suport per a peticions multi-part
- Excel·lent sistema de missatges.
-Tecnologia molt madura.
-Coneixeement molt estés i actualment molt usat.
- Eines de configuració molt madures:-Struts GUI-Struts Console.
- Àmplia comunitat de suport i desenvolupament.
STRUTS
-Suport per a peticions multi-part
- Excel·lent sistema de missatges.
-Tecnologia molt madura.
-Coneixeement molt estés i actualment molt usat.
- Eines de configuració molt madures:-Struts GUI-Struts Console.
- Àmplia comunitat de suport i desenvolupament.
JAVA SERVER FACES
-Més fàcil reutilització (Basat en components).
- Posibilita eines visuals de desenvolupament.
- Possibilitat de personalització.
- Estàndard Obre mercat de components.
-Potents eines de desenvolupament:-Faces Console-Sun Java Studio Creator-JSF formBuilder
JAVA SERVER FACES
-Més fàcil reutilització (Basat en components).
- Posibilita eines visuals de desenvolupament.
- Possibilitat de personalització.
- Estàndard Obre mercat de components.
-Potents eines de desenvolupament:-Faces Console-Sun Java Studio Creator-JSF formBuilder
SPRING MVC
- Framework molt robust
-Millora les capacitats d’Struts.
-Sistema de test molt senzill i madur.
- Bon sistema de validacions.
-Constant evolució i suport d’una àmplia comunitat de desenvolupament.
-Té una conba d’aprenentatge elevada.
SPRING MVC
- Framework molt robust
-Millora les capacitats d’Struts.
-Sistema de test molt senzill i madur.
- Bon sistema de validacions.
-Constant evolució i suport d’una àmplia comunitat de desenvolupament.
-Té una conba d’aprenentatge elevada.
DISSEN
Y D’U
N M
ARC DE TREBALL D
E PRESENTACIÓ
PER A APLICACIO
NS J2EE
DESCRIPCIÓ
“FrameworkPFC és un nou marc de treball que facilita la creació d’aplicacions web resolent part de la problemàtica associada a la capa de presentació.”
Facilita la construcció d’aplicacions Web “Thin Client”.
Segueix l’estàndard J2EE utilitzant components Servlets i JSP.
Basat en patró MVC ( Model – Vista – Controlador).
Programat utilitzant el llenguatge Java.
Desplegat com una llibreria (.jar) en un projecte Web
Desplegat en un servidor d’aplicacions o contenidor de Servlets compatible amb la plataforma J2EE.
DESCRIPCIÓ
“FrameworkPFC és un nou marc de treball que facilita la creació d’aplicacions web resolent part de la problemàtica associada a la capa de presentació.”
Facilita la construcció d’aplicacions Web “Thin Client”.
Segueix l’estàndard J2EE utilitzant components Servlets i JSP.
Basat en patró MVC ( Model – Vista – Controlador).
Programat utilitzant el llenguatge Java.
Desplegat com una llibreria (.jar) en un projecte Web
Desplegat en un servidor d’aplicacions o contenidor de Servlets compatible amb la plataforma J2EE.
FRAMEWORKPFC – CREACIÓ D’UN NOU MARC DE PRESENTACIÓ – DESCRIPCIÓ
REQUERIMENTS D’UTILITZACIÓ
Entorn de desenvolupament Java (JDK). V.1.6 o superior.
Entorn d’execució Java (Màquina Virtual JRE), versió igual o superior a 1.6.
Servidor Web amb contenidor de Servlets o Servidor d’aplicacions J2EE .(Recomanable Tomcat 6.0 o superior)
REQUERIMENTS D’UTILITZACIÓ
Entorn de desenvolupament Java (JDK). V.1.6 o superior.
Entorn d’execució Java (Màquina Virtual JRE), versió igual o superior a 1.6.
Servidor Web amb contenidor de Servlets o Servidor d’aplicacions J2EE .(Recomanable Tomcat 6.0 o superior)
DISSEN
Y D’U
N M
ARC DE TREBALL D
E PRESENTACIÓ
PER A APLICACIO
NS J2EE
Funcionalitats de FrameworkPFC
Sistema de configuració Configuració de forma declarativa Fitxer de configuració. Control de flux Sistema de navegació entre les vistes. Servei d’internacionalització Servei que facilita la traducció d’una aplicació en diversos idiomes. Validació simple de formularis Captura la petició i valida els camps d’un formulari abans de realitzar cap acció. Etiquetes per a la creació de les vistes Etiquetes personalitzades que faciliten la creació i estructuració de les vistes. Tractament d’adreces Definició declarativa d’adreces globals i locals. Tractament d’excepcions Permet definir excepcions i manegadors d’excepcions tan a nivell local com global.
Funcionalitats de FrameworkPFC
Sistema de configuració Configuració de forma declarativa Fitxer de configuració. Control de flux Sistema de navegació entre les vistes. Servei d’internacionalització Servei que facilita la traducció d’una aplicació en diversos idiomes. Validació simple de formularis Captura la petició i valida els camps d’un formulari abans de realitzar cap acció. Etiquetes per a la creació de les vistes Etiquetes personalitzades que faciliten la creació i estructuració de les vistes. Tractament d’adreces Definició declarativa d’adreces globals i locals. Tractament d’excepcions Permet definir excepcions i manegadors d’excepcions tan a nivell local com global.
FRAMEWORKPFC – CREACIÓ D’UN NOU MARC DE PRESENTACIÓ – ABAST
FRAMEWORKPFC – CREACIÓ D’UN NOU MARC DE PRESENTACIÓ – ARQUITECTURA
DISSEN
Y D’U
N M
ARC DE TREBALL D
E PRESENTACIÓ
PER A APLICACIO
NS J2EE
FRAMEWORKPFC – CREACIÓ D’UN NOU MARC DE PRESENTACIÓ – CONFIGURACIÓ (1)
DISSEN
Y D’U
N M
ARC DE TREBALL D
E PRESENTACIÓ
PER A APLICACIO
NS J2EE
1 fitxer de configuració Carregat pel mètode init del ServletController
Conté elements de configuració (Accions, adrecesGlobals, etc)
1 fitxer de configuració Carregat pel mètode init del ServletController
Conté elements de configuració (Accions, adrecesGlobals, etc)
Element Descripció Classe Javaconfiguracio Configuració global. Conté la resta d’elements. com.fwk.config.Configuration
adrecesGlobals Conté totes les adreces globals que es poden configurar.
HashMap que conté les adreces globals configurades.
desti Representa una adreça d’una vista. Local o Global.
com.fwk.actions.ActionForward
excepcionsGlobals Conté totes les excepcions globals. Seran comunes a totes les accions.
HashMap que conté les excepcions globals.
excepcio Excepció llençada per una acció. Pot ser local o Global.
com.fwk.config.exceptions.ExceptionConfig
formularis Conté tots els formularis configurats. HashMap que guarda tots els formularis definits.
formulari Representa un formulari associat a una accio. com.fwk.config.forms.FormConfig
accions Conté totes les accions configurades. HahsMap que conté totes les accions definides al fitxer de configuració.
accio Acció d’usuari com.fwk.config.actions.ActionConfig
missatges Configuració de la missatgeria
FRAMEWORKPFC – CREACIÓ D’UN NOU MARC DE PRESENTACIÓ – CONFIGURACIÓ (2)
DISSEN
Y D’U
N M
ARC DE TREBALL D
E PRESENTACIÓ
PER A APLICACIO
NS J2EE
<?xml version="1.0" encoding="UTF-8"?><configuracio>
<!-- ADRECES GLOBALS --><adrecesGlobals>
<desti nom="error" adreca="/WEB-INF/jsp/student/studentForm.jsp" />
</adrecesGlobals>
<!-- EXCEPCIONS GLOBALS --><excepcionsGlobals>
<excepcio key="global. exception"
type="java.lang.Exception"/></excepcionsGlobals>
<!-- FORMULARIS --><formularis>
<formulari nom="alumno" tipus="test.forms.StudentsForm" />
</formularis>
<!-- ACCIONS --><accions>
<accio path="/student" name="nom" type="test.accions.StudentAction"
formulari="alumno" parametre="reqCode" validate="true"><desti nom="ok" adreca="/WEB-INF/jsp/student/studentForm.jsp" /><desti nom="list" adreca="/WEB-INF/jsp/student/studentList.jsp"/><excepcio key="numberFormat.exception" type="java.lang.NumberFormatException" path="/WEB-INF/jsp/student/studentForm.jsp"/>
</accio>
<accio path="/professor" type="com.fwk.actions.DirectAction" parametre="/WEB-INF/jsp/student/studentForm.jsp"/>
</accions><!-- MISSATGES --><missatges urlBase="test.i18.ApplicationResources"/>
</configuracio>
FRAMEWORKPFC – CREACIÓ D’UN NOU MARC DE PRESENTACIÓ – CONTROL DE FLUX (1)
DISSEN
Y D’U
N M
ARC DE TREBALL D
E PRESENTACIÓ
PER A APLICACIO
NS J2EE
Controlador
1 Controlador ServletControllerExtensible i ampliable S’ha de declarar en el fitxer de configuració de l’aplicació Web (web.xml)Carrega el fitxer de configuració en el mètode init.Delega el tractament de les peticions a Processor.
Controlador
1 Controlador ServletControllerExtensible i ampliable S’ha de declarar en el fitxer de configuració de l’aplicació Web (web.xml)Carrega el fitxer de configuració en el mètode init.Delega el tractament de les peticions a Processor.
FRAMEWORKPFC – CREACIÓ D’UN NOU MARC DE PRESENTACIÓ – CONTROL DE FLUX (2)
DISSEN
Y D’U
N M
ARC DE TREBALL D
E PRESENTACIÓ
PER A APLICACIO
NS J2EE
Processor
Allibera el controlador de responsabilitats de processament de la petició.
Segueix el patró Dispatcher.
Responsabilitats
Configurar el Locale de la petició
Cercar i crear l’acció que sol·licita l’usuari.
Crear el formulari associat a cada acció
Omplir el formulari amb les dades de la petició
Validacions simples associades als formularis.
Executar l’acció associada a la petició.
Controlar les excepcions que es produeixen a les accions.
Escollir quina vista és la següent a mostrar.
Processor
Allibera el controlador de responsabilitats de processament de la petició.
Segueix el patró Dispatcher.
Responsabilitats
Configurar el Locale de la petició
Cercar i crear l’acció que sol·licita l’usuari.
Crear el formulari associat a cada acció
Omplir el formulari amb les dades de la petició
Validacions simples associades als formularis.
Executar l’acció associada a la petició.
Controlar les excepcions que es produeixen a les accions.
Escollir quina vista és la següent a mostrar.
FRAMEWORKPFC – CREACIÓ D’UN NOU MARC DE PRESENTACIÓ – CONTROL DE FLUX (3)
DISSEN
Y D’U
N M
ARC DE TREBALL D
E PRESENTACIÓ
PER A APLICACIO
NS J2EE
Accions Implementades per l’usuari de FrameworkPFC.Han d’heretar de Action i implementar el mètode execute.
Tipus d’accions Action Accions normals. S’ha d’implementar el mètode execute. DirectAction No cal cap classe. Es configura una vista declarativament. MethodAction Diversos mètodes. El mètode és identificat per l’element de configuració
paràmetre.
Accions Implementades per l’usuari de FrameworkPFC.Han d’heretar de Action i implementar el mètode execute.
Tipus d’accions Action Accions normals. S’ha d’implementar el mètode execute. DirectAction No cal cap classe. Es configura una vista declarativament. MethodAction Diversos mètodes. El mètode és identificat per l’element de configuració
paràmetre.
FRAMEWORKPFC – CREACIÓ D’UN NOU MARC DE PRESENTACIÓ – CONTROL DE FLUX (4)
DISSEN
Y D’U
N M
ARC DE TREBALL D
E PRESENTACIÓ
PER A APLICACIO
NS J2EE
FormBeans
Encapsulen les dades de l’usuari enviades al servidor. Són objectes JavaBean que guarden la informació enviada al servidor.Es configuren de forma declarativa com a elements de configuració.
(1) Es defineix un formulari alumne(2) Implementat per la classe StudentsForm.
Estan associats a una o diverses accions
(1) Associem el formulari “alumne” a la acció.
Realitzen validacions simples Mètode “validate”.
Envien missatges a les vistes a través d’objectes ActionMessage i ActionError.
FormBeans
Encapsulen les dades de l’usuari enviades al servidor. Són objectes JavaBean que guarden la informació enviada al servidor.Es configuren de forma declarativa com a elements de configuració.
(1) Es defineix un formulari alumne(2) Implementat per la classe StudentsForm.
Estan associats a una o diverses accions
(1) Associem el formulari “alumne” a la acció.
Realitzen validacions simples Mètode “validate”.
Envien missatges a les vistes a través d’objectes ActionMessage i ActionError.
FRAMEWORKPFC – CREACIÓ D’UN NOU MARC DE PRESENTACIÓ – ESQUEMA D’INTERACCIÓ
DISSEN
Y D’U
N M
ARC DE TREBALL D
E PRESENTACIÓ
PER A APLICACIO
NS J2EEWEBAPPWEBAPP
ServletControllerServletController
PROCESSORPROCESSOR
delega
FormBeanFormBeanCrea i omple
AccióAcció
Crea i executa
Petició Web
ActionForward
Codi Vista
Adreça
FRAMEWORKPFC – CREACIÓ D’UN NOU MARC DE PRESENTACIÓ – INTERNACIONALITZACIÓ
DISSEN
Y D’U
N M
ARC DE TREBALL D
E PRESENTACIÓ
PER A APLICACIO
NS J2EE
Servei Multi-idioma
Permet mostrar textos en les vistes de diferents idiomes
Externalització del text en fitxers de configuració.
S’evita escriure el text directament a les vistes.
La classe MessageResourcesReader s’encarrega de consultar el Locale i agafar el text del fitxer de configuració adequat.
Servei Multi-idioma
Permet mostrar textos en les vistes de diferents idiomes
Externalització del text en fitxers de configuració.
S’evita escriure el text directament a les vistes.
La classe MessageResourcesReader s’encarrega de consultar el Locale i agafar el text del fitxer de configuració adequat.
FRAMEWORKPFC – CREACIÓ D’UN NOU MARC DE PRESENTACIÓ – ADRECES I EXCEPCIONS GLOBALS
DISSEN
Y D’U
N M
ARC DE TREBALL D
E PRESENTACIÓ
PER A APLICACIO
NS J2EE
Adreces Globals Es defineixen rutes accessibles per:
Totes les accions Totes les excepcions
En primer lloc es cerquen les adreces locals.Si no es troben es cerquen les adreces globals. En cas de no trobar cap adreça Es retorna la mateixa vista.
Adreces Globals Es defineixen rutes accessibles per:
Totes les accions Totes les excepcions
En primer lloc es cerquen les adreces locals.Si no es troben es cerquen les adreces globals. En cas de no trobar cap adreça Es retorna la mateixa vista.
Excepcions Globals
Durant el codi d’una acció es poden produir excepcions
Si decidim capturar-les, ho podem fer de forma declarativa A través de configuració.
Dues formes:• Definició de rutes Ruta a on dirigir el flux si s’intercepta una excepció.•Definició de manegadors d’excepcions Classe que ha de fer el tractament.
FrameworkPFC proporciona un manegador per defecte DefaultExceptionHandler
Excepcions Globals
Durant el codi d’una acció es poden produir excepcions
Si decidim capturar-les, ho podem fer de forma declarativa A través de configuració.
Dues formes:• Definició de rutes Ruta a on dirigir el flux si s’intercepta una excepció.•Definició de manegadors d’excepcions Classe que ha de fer el tractament.
FrameworkPFC proporciona un manegador per defecte DefaultExceptionHandler
FRAMEWORKPFC – CREACIÓ D’UN NOU MARC DE PRESENTACIÓ – ETIQUETES PERSONALITZADES
DISSEN
Y D’U
N M
ARC DE TREBALL D
E PRESENTACIÓ
PER A APLICACIO
NS J2EE
ETIQUETES
Utilitzades en les vistes Facilitar la vida al programador Web.
Cada etiqueta te associat un codi Java que s’executa al servidor
Realitzen tasques complexes.
<showErrors> Etiqueta que permet mostrar els missatges d’error en forma de llistat.
<valueList> Etiqueta per a mostrar llistats d’entitats contingudes en un objecte List<Object>.El llistat had’estar en la petició.
<column> Etiqueta que representa una columna en un llistat.
<showMessage> Etiqueta per a mostrar missatges obtinguts dels fitxers de recursos.
<inputText> Etiqueta per a mostrar camps de text en una vista de forma senzilla.
ETIQUETES
Utilitzades en les vistes Facilitar la vida al programador Web.
Cada etiqueta te associat un codi Java que s’executa al servidor
Realitzen tasques complexes.
<showErrors> Etiqueta que permet mostrar els missatges d’error en forma de llistat.
<valueList> Etiqueta per a mostrar llistats d’entitats contingudes en un objecte List<Object>.El llistat had’estar en la petició.
<column> Etiqueta que representa una columna en un llistat.
<showMessage> Etiqueta per a mostrar missatges obtinguts dels fitxers de recursos.
<inputText> Etiqueta per a mostrar camps de text en una vista de forma senzilla.
FRAMEWORKPFC – CREACIÓ D’UN NOU MARC DE PRESENTACIÓ – VIES DE MILLORA
DISSEN
Y D’U
N M
ARC DE TREBALL D
E PRESENTACIÓ
PER A APLICACIO
NS J2EE
Vies de MilloraDescàrrega de dades del servidor Permetre descàrrega de dades del servidor(Fitxers) fent servir eines com Jasper Reports.
Gestió d’adreces Eines com Tiles permeten identificar les adreces amb una clau facilitant la llegibilitat.
Configuracions multi-mòdul Possibilitat de tenir més d’un mòdul (+ fitxers de configuració) Formularis dinàmics Afegir la possibilitat de crear formularis dinàmics de forma declarativa.
Plug-ins Ús de plug-ins que es configuren declarativament en el fitxer de configuració Validator.
Filtres Possibilitat d’incorporar una processadors addicionals (que heretin de Processor) i que formin una FilterChain (Cadena de filtres) per a fer processaments d’una petició més complexos.
JavascriptProporcionar una llibreria d’objectes que implementin funcionalitats recurrents com la validació de formularis o el recorregut d’arbres DOM.
Mòdul AJAX Incorporar etiquetes que utilitzin AJAX per a fer peticions asíncrones al servidor d’aplicacions.
Vies de MilloraDescàrrega de dades del servidor Permetre descàrrega de dades del servidor(Fitxers) fent servir eines com Jasper Reports.
Gestió d’adreces Eines com Tiles permeten identificar les adreces amb una clau facilitant la llegibilitat.
Configuracions multi-mòdul Possibilitat de tenir més d’un mòdul (+ fitxers de configuració) Formularis dinàmics Afegir la possibilitat de crear formularis dinàmics de forma declarativa.
Plug-ins Ús de plug-ins que es configuren declarativament en el fitxer de configuració Validator.
Filtres Possibilitat d’incorporar una processadors addicionals (que heretin de Processor) i que formin una FilterChain (Cadena de filtres) per a fer processaments d’una petició més complexos.
JavascriptProporcionar una llibreria d’objectes que implementin funcionalitats recurrents com la validació de formularis o el recorregut d’arbres DOM.
Mòdul AJAX Incorporar etiquetes que utilitzin AJAX per a fer peticions asíncrones al servidor d’aplicacions.
FWKTEST –APLICACIÓ DE TEST– DESCRIPCIÓ I REQUERIMENTS
DISSEN
Y D’U
N M
ARC DE TREBALL D
E PRESENTACIÓ
PER A APLICACIO
NS J2EE
Descripció
“FwkTest és una aplicació Web que es desplega en un contenidor J2EE i que utilitza FrameworkPFC com a motor de la capa de presentació”.
És una aplicació fictícia de gestió d’estudiants (Alta, baixa, modificació i llistat d’estudiants).
Dissenyada per a fer un testing del nou marc de treball No pretén tenir utilitat concreta
Les dades no es persisteixen S’utilitza un HashMap d’alumnes que s’inicia cada cop que s’entra a l’aplicació.
Descripció
“FwkTest és una aplicació Web que es desplega en un contenidor J2EE i que utilitza FrameworkPFC com a motor de la capa de presentació”.
És una aplicació fictícia de gestió d’estudiants (Alta, baixa, modificació i llistat d’estudiants).
Dissenyada per a fer un testing del nou marc de treball No pretén tenir utilitat concreta
Les dades no es persisteixen S’utilitza un HashMap d’alumnes que s’inicia cada cop que s’entra a l’aplicació.
Requeriments
Màquina virtual Java (JRE) a partir de la versió 1.6. Servidor Web amb contenidor de Servlets o servidor d’aplicacions que implementi l’especificació J2EE.
Exemple: Tomcat 6.0 com a contenidor J2EE.Navegador Web amb Javascript habilitat.
Per a fer les proves s’ha utilitzat Mozilla Firefox v.3.6.16.
Requeriments
Màquina virtual Java (JRE) a partir de la versió 1.6. Servidor Web amb contenidor de Servlets o servidor d’aplicacions que implementi l’especificació J2EE.
Exemple: Tomcat 6.0 com a contenidor J2EE.Navegador Web amb Javascript habilitat.
Per a fer les proves s’ha utilitzat Mozilla Firefox v.3.6.16.
FWKTEST –APLICACIÓ DE TEST– JERARQUIA DE FITXERS (1)
DISSEN
Y D’U
N M
ARC DE TREBALL D
E PRESENTACIÓ
PER A APLICACIO
NS J2EE
Nom de la carpeta Descripció
test.accions Classes de les accions desenvolupades
test.forms Classes dels formularis associats a les accions.
test.i18n Fitxers de properties d’internacionalització. Es fan servir per a convertir l’aplicació en multi-idioma.
test.model Classes de model que utilitza l’aplicació.
/css Fitxers d’estils de l’aplicació.
/images Fitxers .gif d’imatges que es mostren en les vistes de l’aplicació.
/jsp Pàgines JSP. Vistes de l’aplicació.
/lib Llibreries necessàries. S’inclou la llibreria FrameworkPFC.jar.
/tld Fitxers d’etiquetes utilitzades.
/WEB-INF Carpeta on es guarda el fitxer de configuració del framework i fitxers que no han d’estar disponibles des del servidor Web.
FWKTEST –APLICACIÓ DE TEST– JERARQUIA DE FITXERS (2)
DISSEN
Y D’U
N M
ARC DE TREBALL D
E PRESENTACIÓ
PER A APLICACIO
NS J2EE
FWKTEST –APLICACIÓ DE TEST– FLUX DE PANTALLES
DISSEN
Y D’U
N M
ARC DE TREBALL D
E PRESENTACIÓ
PER A APLICACIO
NS J2EE
Pantalla Ajuda
Pantalla Modificació/esborrat Pantalla Alta estudiant
Pantalla Autenticació
Pantalla Principal de llistat d’estudiants
Construcció d’un nou framework de presentació– CONCLUSIONS
Conclusions
La realització d’un marc de treball de presentació és una tasca molt atractiva des del punt de vista de disseny i programació, però molt complexa, ja que són moltes les funcionalitats a oferir.
La realització del present projecte de final de carrera ha estat centrada en dos grans blocs: Estudi i comparativa dels frameworks més importants que hi ha en ús a l’actualitat. Disseny, implementació i testeig d’un nou marc de treball.
Els coneixements i l’experiència adquirida han permès: Tenir una visió crítica més documentada per a escollir entre les diferents solucions disponibles al mercat. Adquirir pràctica en els desenvolupaments Java sota la plataforma J2EE. Repercussió que té en el món empresarial reduint costos econòmics i temporals.
Conclusions
La realització d’un marc de treball de presentació és una tasca molt atractiva des del punt de vista de disseny i programació, però molt complexa, ja que són moltes les funcionalitats a oferir.
La realització del present projecte de final de carrera ha estat centrada en dos grans blocs: Estudi i comparativa dels frameworks més importants que hi ha en ús a l’actualitat. Disseny, implementació i testeig d’un nou marc de treball.
Els coneixements i l’experiència adquirida han permès: Tenir una visió crítica més documentada per a escollir entre les diferents solucions disponibles al mercat. Adquirir pràctica en els desenvolupaments Java sota la plataforma J2EE. Repercussió que té en el món empresarial reduint costos econòmics i temporals.