La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Disseny d’un marc de treball de presentació per a aplicacions J2EE

Presentaciones similares


Presentación del tema: "Disseny d’un marc de treball de presentació per a aplicacions J2EE"— Transcripción de la presentación:

1 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

2 Disseny d’un marc de treball de presentació per a aplicacions J2EE
OBJECTIUS Disseny d’un marc de treball de presentació per a aplicacions J2EE Introducció a J2EE i els patrons de presentació. Patró Model-Vista-Controlador. Estudi comparatiu de tres Frameworks actuals: Struts, Spring i Java Server Faces Creació d’un nou marc de treball de presentació: FrameworkPFC. Desenvolupament d’una aplicació Web que utilitzi FrameworkPFC JUSTIFICACIÓ PLANIFICACIÓ Aconseguir un major coneixement de J2EE. Aprofundiment en el llenguatge Java. Coneixement dels Frameworks actuals i la seva funció en el món empresarial.

3 Disseny d’un marc de treball de presentació per a aplicacions J2EE
ARQUITECTURA J2EE. Disseny d’un marc de treball de presentació per a aplicacions 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.” 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.

4 Disseny d’un marc de treball de presentació per a aplicacions J2EE
Patró Model – Vista – Controlador - MVC Disseny d’un marc de treball de presentació per a aplicacions J2EE 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.

5 Disseny d’un marc de treball de presentació per a aplicacions J2EE
FRAMEWORKS DE PRESENTACIÓ ACTUALS - STRUTS Disseny d’un marc de treball de presentació per a aplicacions 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.

6 Disseny d’un marc de treball de presentació per a aplicacions J2EE
FRAMEWORKS DE PRESENTACIÓ ACTUALS – SPRING MVC Disseny d’un marc de treball de presentació per a aplicacions 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. 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 ).

7 Disseny d’un marc de treball de presentació per a aplicacions J2EE
FRAMEWORKS DE PRESENTACIÓ ACTUALS – JAVA SERVER FACES Disseny d’un marc de treball de presentació per a aplicacions 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. 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.

8 Disseny d’un marc de treball de presentació per a aplicacions J2EE
FRAMEWORKS DE PRESENTACIÓ ACTUALS – COMPARATIVA Disseny d’un marc de treball de presentació per a aplicacions J2EE 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. 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 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.

9 Disseny d’un marc de treball de presentació per a aplicacions J2EE
FRAMEWORKPFC – CREACIÓ D’UN NOU MARC DE PRESENTACIÓ – DESCRIPCIÓ Disseny d’un marc de treball de presentació per a aplicacions 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. 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)

10 Disseny d’un marc de treball de presentació per a aplicacions J2EE
FRAMEWORKPFC – CREACIÓ D’UN NOU MARC DE PRESENTACIÓ – ABAST Disseny d’un marc de treball de presentació per a aplicacions 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.

11 Disseny d’un marc de treball de presentació per a aplicacions J2EE
FRAMEWORKPFC – CREACIÓ D’UN NOU MARC DE PRESENTACIÓ – ARQUITECTURA Disseny d’un marc de treball de presentació per a aplicacions J2EE

12 Disseny d’un marc de treball de presentació per a aplicacions J2EE
FRAMEWORKPFC – CREACIÓ D’UN NOU MARC DE PRESENTACIÓ – CONFIGURACIÓ (1) Disseny d’un marc de treball de presentació per a aplicacions J2EE 1 fitxer de configuració  Carregat pel mètode init del ServletController Conté elements de configuració (Accions, adrecesGlobals, etc) Element Descripció Classe Java configuracio 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

13 Disseny d’un marc de treball de presentació per a aplicacions J2EE
FRAMEWORKPFC – CREACIÓ D’UN NOU MARC DE PRESENTACIÓ – CONFIGURACIÓ (2) Disseny d’un marc de treball de presentació per a aplicacions 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>

14 Disseny d’un marc de treball de presentació per a aplicacions J2EE
FRAMEWORKPFC – CREACIÓ D’UN NOU MARC DE PRESENTACIÓ – CONTROL DE FLUX (1) Disseny d’un marc de treball de presentació per a aplicacions J2EE Controlador 1 Controlador  ServletController Extensible 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.

15 Disseny d’un marc de treball de presentació per a aplicacions J2EE
FRAMEWORKPFC – CREACIÓ D’UN NOU MARC DE PRESENTACIÓ – CONTROL DE FLUX (2) Disseny d’un marc de treball de presentació per a aplicacions 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.

16 Disseny d’un marc de treball de presentació per a aplicacions J2EE
FRAMEWORKPFC – CREACIÓ D’UN NOU MARC DE PRESENTACIÓ – CONTROL DE FLUX (3) Disseny d’un marc de treball de presentació per a aplicacions 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.

17 Disseny d’un marc de treball de presentació per a aplicacions J2EE
FRAMEWORKPFC – CREACIÓ D’UN NOU MARC DE PRESENTACIÓ – CONTROL DE FLUX (4) Disseny d’un marc de treball de presentació per a aplicacions 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.

18 Disseny d’un marc de treball de presentació per a aplicacions J2EE
FRAMEWORKPFC – CREACIÓ D’UN NOU MARC DE PRESENTACIÓ – ESQUEMA D’INTERACCIÓ Disseny d’un marc de treball de presentació per a aplicacions J2EE Petició Web WEBAPP ServletController Codi Vista delega Adreça PROCESSOR Crea i omple FormBean ActionForward Crea i executa Acció

19 Disseny d’un marc de treball de presentació per a aplicacions J2EE
FRAMEWORKPFC – CREACIÓ D’UN NOU MARC DE PRESENTACIÓ – INTERNACIONALITZACIÓ Disseny d’un marc de treball de presentació per a aplicacions 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.

20 Disseny d’un marc de treball de presentació per a aplicacions J2EE
FRAMEWORKPFC – CREACIÓ D’UN NOU MARC DE PRESENTACIÓ – ADRECES I EXCEPCIONS GLOBALS Disseny d’un marc de treball de presentació per a aplicacions 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. 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

21 Disseny d’un marc de treball de presentació per a aplicacions J2EE
FRAMEWORKPFC – CREACIÓ D’UN NOU MARC DE PRESENTACIÓ – ETIQUETES PERSONALITZADES Disseny d’un marc de treball de presentació per a aplicacions 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.

22 Disseny d’un marc de treball de presentació per a aplicacions J2EE
FRAMEWORKPFC – CREACIÓ D’UN NOU MARC DE PRESENTACIÓ – VIES DE MILLORA Disseny d’un marc de treball de presentació per a aplicacions J2EE Vies de Millora Descà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. Javascript Proporcionar 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.

23 Disseny d’un marc de treball de presentació per a aplicacions J2EE
FWKTEST –APLICACIÓ DE TEST– DESCRIPCIÓ I REQUERIMENTS Disseny d’un marc de treball de presentació per a aplicacions 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ó. 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

24 Disseny d’un marc de treball de presentació per a aplicacions J2EE
FWKTEST –APLICACIÓ DE TEST– JERARQUIA DE FITXERS (1) Disseny d’un marc de treball de presentació per a aplicacions J2EE

25 Disseny d’un marc de treball de presentació per a aplicacions J2EE
FWKTEST –APLICACIÓ DE TEST– JERARQUIA DE FITXERS (2) Disseny d’un marc de treball de presentació per a aplicacions 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.

26 Disseny d’un marc de treball de presentació per a aplicacions J2EE
FWKTEST –APLICACIÓ DE TEST– FLUX DE PANTALLES Disseny d’un marc de treball de presentació per a aplicacions J2EE Pantalla Principal de llistat d’estudiants Pantalla Autenticació Pantalla Ajuda Pantalla Modificació/esborrat Pantalla Alta estudiant

27 Construcció d’un nou framework de presentació– 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.


Descargar ppt "Disseny d’un marc de treball de presentació per a aplicacions J2EE"

Presentaciones similares


Anuncios Google