Disseny d - PowerPoint PPT Presentation

1 / 27
About This Presentation
Title:

Disseny d

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 – PowerPoint PPT presentation

Number of Views:52
Avg rating:3.0/5.0
Slides: 28
Provided by: uoc87
Category:

less

Transcript and Presenter's Notes

Title: Disseny d


1
Disseny dun 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 dun marc de treball de presentació per a
aplicacions J2EE
  • OBJECTIUS
  • 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ó dun nou marc de treball de presentació
    FrameworkPFC.
  • Desenvolupament duna 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 dun marc de treball de presentació per a
aplicacions 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.
  • 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 dintegració ? ORM, EJB entitat
  • Capa EIS ? Bases de dades relacionals
  • Aplicacions distribuides. Els components poden
    estar ubicats en diferents nodes.

4
Disseny dun marc de treball de presentació per a
aplicacions J2EE
  • Patró Model Vista Controlador - MVC

Patró darquitectura que separa les dades, la
interfície dusuari i la lògica daplicació 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 dinformació. Vista
Representa la interfície amb lusuari de
laplicació i tots els components de
presentació. Controlador Respon a les accions
de lusuari invocant peticions i actualitzacions
del model i modificacions de les vistes.
  • Avantatges
  • Major reutilització de codi. La modificació
    dun component no afecti als altres.
  • Major especialització dels perfils de
    desenvolupadors.
  • Inconvenients
  • Augment de la dificultat daprenentatge
  • No saconsegueix un desacoblament total entre
    les parts.

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

6
Disseny dun marc de treball de presentació per a
aplicacions J2EE
  • FRAMEWORKS DE PRESENTACIÓ ACTUALS SPRING MVC
  • Flexible, ben documentat i fàcil dutilitzar.
  • 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 dexecució.
  • Cada DispatcherServlet disposa dun
    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 detiquetes per a les vistes.
  • Ofereix implementació de gran varietat de
    Controllers ( SimpleFormController,
    AbstractWizardFormController,
    AbstractCommandController, AbstractFormController
    ).

7
Disseny dun marc de treball de presentació per a
aplicacions J2EE
  • FRAMEWORKS DE PRESENTACIÓ ACTUALS JAVA SERVER
    FACES
  • Framework dinterfícies dusuari 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 detiquetes
  • Personalitzar componentes dintre duna vista.
  • CARACTERÍSTIQUES
  • Clara separació entre COMPORTAMENT i PRESENTACIÓ
  • Mapeig de peticions HTTP a un gestor devents
    específic.
  • Permet definit components UI amb estat.
  • Permet separació de rols en el procés de
    desenvolupament.
  • No limita a la utilització duna tecnologia
    dscript o etiquetes particular.
  • Permet la conversió de dades i validació
    individual sobre els components UI.

8
Disseny dun marc de treball de presentació per a
aplicacions J2EE
  • FRAMEWORKS DE PRESENTACIÓ ACTUALS COMPARATIVA
  • 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 dStruts.
  • Sistema de test molt senzill i madur.
  • Bon sistema de validacions.
  • Constant evolució i suport duna àmplia comunitat
    de desenvolupament.
  • Té una conba daprenentatge elevada.
  • STRUTS
  • Suport per a peticions multi-part
  • - Excellent 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 dun marc de treball de presentació per a
aplicacions J2EE
  • FRAMEWORKPFC CREACIÓ DUN NOU MARC DE
    PRESENTACIÓ DESCRIPCIÓ

DESCRIPCIÓ FrameworkPFC és un nou marc de
treball que facilita la creació daplicacions web
resolent part de la problemàtica associada a la
capa de presentació. Facilita la construcció
daplicacions Web Thin Client. Segueix
lestà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 daplicacions o contenidor de Servlets
compatible amb la plataforma J2EE.
REQUERIMENTS DUTILITZACIÓ Entorn de
desenvolupament Java (JDK). V.1.6 o superior.
Entorn dexecució Java (Màquina Virtual JRE),
versió igual o superior a 1.6. Servidor Web
amb contenidor de Servlets o Servidor
daplicacions J2EE . (Recomanable Tomcat 6.0 o
superior)
10
Disseny dun marc de treball de presentació per a
aplicacions J2EE
  • FRAMEWORKPFC CREACIÓ DUN NOU MARC DE
    PRESENTACIÓ ABAST

Funcionalitats de FrameworkPFC Sistema de
configuració Configuració de forma declarativa ?
Fitxer de configuració.   Control de flux
Sistema de navegació entre les vistes.   Servei
dinternacionalització Servei que facilita la
traducció duna aplicació en diversos
idiomes.   Validació simple de formularis
Captura la petició i valida els camps dun
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.   Tractamen
t dadreces Definició declarativa dadreces
globals i locals.   Tractament dexcepcions
Permet definir excepcions i manegadors
dexcepcions tan a nivell local com global.
11
Disseny dun marc de treball de presentació per a
aplicacions J2EE
  • FRAMEWORKPFC CREACIÓ DUN NOU MARC DE
    PRESENTACIÓ ARQUITECTURA

12
Disseny dun marc de treball de presentació per a
aplicacions J2EE
  • FRAMEWORKPFC CREACIÓ DUN NOU MARC DE
    PRESENTACIÓ CONFIGURACIÓ (1)

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 delements. 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 duna 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ó dusuari com.fwk.config.actions.ActionConfig
missatges Configuració de la missatgeria
13
Disseny dun marc de treball de presentació per a
aplicacions J2EE
  • FRAMEWORKPFC CREACIÓ DUN NOU MARC DE
    PRESENTACIÓ CONFIGURACIÓ (2)

lt?xml version"1.0" encoding"UTF-8"?gt ltconfigurac
iogt lt!-- ADRECES GLOBALS --gt ltadrecesGlobalsgt lt
desti nom"error" adreca"/WEB-INF/jsp/student/stu
dentForm.jsp" /gt lt/adrecesGlobalsgt lt!--
EXCEPCIONS GLOBALS --gt ltexcepcionsGlobalsgt ltex
cepcio key"global. exception" type"java.lang.
Exception"/gt lt/excepcionsGlobalsgt lt!--
FORMULARIS --gt ltformularisgt ltformulari
nom"alumno" tipus"test.forms.StudentsForm"
/gt lt/formularisgt lt!-- ACCIONS
--gt ltaccionsgt ltaccio path"/student" name"nom"
type"test.accions.StudentAction" formulari"alum
no" parametre"reqCode" validate"true"gt ltdesti
nom"ok" adreca"/WEB- INF/jsp/student/studentForm
.jsp" /gt ltdesti nom"list" adreca"/WEB- INF/jsp/s
tudent/studentList.jsp"/gt ltexcepcio
key"numberFormat.exception" type"java.lang.Numb
erFormatException" path"/WEB-INF/jsp/student/stu
dentForm.jsp"/gt lt/acciogt ltaccio
path"/professor" type"com.fwk.actions.DirectActi
on" parametre"/WEB-INF/jsp/student/studentForm.js
p"/gt lt/accionsgt lt!-- MISSATGES --gt ltmissatges
urlBase"test.i18.ApplicationResources"/gt lt/conf
iguraciogt
14
Disseny dun marc de treball de presentació per a
aplicacions J2EE
  • FRAMEWORKPFC CREACIÓ DUN NOU MARC DE
    PRESENTACIÓ CONTROL DE FLUX (1)
  • Controlador
  • 1 Controlador ? ServletController
  • Extensible i ampliable
  • Sha de declarar en el fitxer de configuració de
    laplicació Web (web.xml)
  • Carrega el fitxer de configuració en el mètode
    init.
  • Delega el tractament de les peticions a Processor.

15
Disseny dun marc de treball de presentació per a
aplicacions J2EE
  • FRAMEWORKPFC CREACIÓ DUN NOU MARC DE
    PRESENTACIÓ CONTROL DE FLUX (2)
  • 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 lacció que sollicita lusuari.
  • Crear el formulari associat a cada acció
  • Omplir el formulari amb les dades de la petició
  • Validacions simples associades als formularis.
  • Executar lacció associada a la petició.

16
Disseny dun marc de treball de presentació per a
aplicacions J2EE
  • FRAMEWORKPFC CREACIÓ DUN NOU MARC DE
    PRESENTACIÓ CONTROL DE FLUX (3)
  • Accions
  • Implementades per lusuari de FrameworkPFC.
  • Han dheretar de Action i implementar el mètode
    execute.
  • Tipus daccions
  • Action ? Accions normals. Sha dimplementar el
    mètode execute.
  • DirectAction ? No cal cap classe. Es configura
    una vista declarativament.
  • MethodAction ? Diversos mètodes. El mètode és
    identificat per lelement de configuració
    paràmetre.

17
Disseny dun marc de treball de presentació per a
aplicacions J2EE
  • FRAMEWORKPFC CREACIÓ DUN NOU MARC DE
    PRESENTACIÓ CONTROL DE FLUX (4)
  • FormBeans
  • Encapsulen les dades de lusuari 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.

18
Disseny dun marc de treball de presentació per a
aplicacions J2EE
  • FRAMEWORKPFC CREACIÓ DUN NOU MARC DE
    PRESENTACIÓ ESQUEMA DINTERACCIÓ

Petició Web
WEBAPP
ServletController
Codi Vista
delega
Adreça
PROCESSOR
Crea i omple
FormBean
ActionForward
Crea i executa
Acció
19
Disseny dun marc de treball de presentació per a
aplicacions J2EE
  • FRAMEWORKPFC CREACIÓ DUN NOU MARC DE
    PRESENTACIÓ INTERNACIONALITZACIÓ
  • Servei Multi-idioma
  • Permet mostrar textos en les vistes de diferents
    idiomes
  • Externalització del text en fitxers de
    configuració.
  • Sevita escriure el text directament a les
    vistes.
  • La classe MessageResourcesReader sencarrega de
    consultar el Locale i agafar el text del fitxer
    de configuració adequat.

20
Disseny dun marc de treball de presentació per a
aplicacions J2EE
  • FRAMEWORKPFC CREACIÓ DUN NOU MARC DE
    PRESENTACIÓ ADRECES I EXCEPCIONS GLOBALS
  • 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 duna 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 sintercepta una excepció.
  • Definició de manegadors dexcepcions ? Classe que
    ha de fer el tractament.
  • FrameworkPFC proporciona un manegador per defecte
    ? DefaultExceptionHandler

21
Disseny dun marc de treball de presentació per a
aplicacions J2EE
  • FRAMEWORKPFC CREACIÓ DUN NOU MARC DE
    PRESENTACIÓ ETIQUETES PERSONALITZADES
  • ETIQUETES
  • Utilitzades en les vistes ? Facilitar la vida al
    programador Web.
  • Cada etiqueta te associat un codi Java que
    sexecuta al servidor
  • Realitzen tasques complexes.
  • ltshowErrorsgt
  • Etiqueta que permet mostrar els missatges
    derror en forma de llistat.
  • ltvalueListgt
  • Etiqueta per a mostrar llistats dentitats
    contingudes en un objecte ListltObjectgt.
  • El llistat hadestar en la petició.
  • ltcolumngt
  • Etiqueta que representa una columna en un
    llistat.
  • ltshowMessagegt

22
Disseny dun marc de treball de presentació per a
aplicacions J2EE
  • FRAMEWORKPFC CREACIÓ DUN NOU MARC DE
    PRESENTACIÓ VIES DE MILLORA

Vies de Millora Descàrrega de dades del servidor
Permetre descàrrega de dades del
servidor(Fitxers) fent servir eines com Jasper
Reports. Gestió dadreces Eines com Tiles
permeten identificar les adreces amb una clau
facilitant la llegibilitat.   Configuracions
multi-mòdul Possibilitat de tenir més dun
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 dincorporar
una processadors addicionals (que heretin de
Processor) i que formin una FilterChain (Cadena
de filtres) per a fer processaments duna petició
més complexos.   Javascript Proporcionar una
llibreria dobjectes que implementin
funcionalitats recurrents com la validació de
formularis o el recorregut darbres DOM.   Mòdul
AJAX Incorporar etiquetes que utilitzin AJAX per
a fer peticions asíncrones al servidor
daplicacions.
23
Disseny dun marc de treball de presentació per a
aplicacions J2EE
  • FWKTEST APLICACIÓ DE TEST DESCRIPCIÓ I
    REQUERIMENTS

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ó destudiants (Alta, baixa, modificació i
llistat destudiants). Dissenyada per a fer un
testing del nou marc de treball ? No pretén tenir
utilitat concreta Les dades no es persisteixen ?
Sutilitza un HashMap dalumnes que sinicia cada
cop que sentra a laplicació.
  • Requeriments
  • Màquina virtual Java (JRE) a partir de la versió
    1.6.
  • Servidor Web amb contenidor de Servlets o
    servidor daplicacions que implementi
    lespecificació J2EE.
  • Exemple Tomcat 6.0 com a contenidor J2EE.
  • Navegador Web amb Javascript habilitat.
  • Per a fer les proves sha utilitzat Mozilla
    Firefox v.3.6.16.

24
Disseny dun marc de treball de presentació per a
aplicacions J2EE
  • FWKTEST APLICACIÓ DE TEST JERARQUIA DE FITXERS
    (1)

25
Disseny dun marc de treball de presentació per a
aplicacions J2EE
  • FWKTEST APLICACIÓ DE TEST JERARQUIA DE FITXERS
    (2)

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 dinternacionalització. Es fan servir per a convertir laplicació en multi-idioma.
test.model Classes de model que utilitza laplicació.
/css Fitxers destils de laplicació.
/images Fitxers .gif dimatges que es mostren en les vistes de laplicació.
/jsp Pàgines JSP. Vistes de laplicació.
/lib Llibreries necessàries. Sinclou la llibreria FrameworkPFC.jar.
/tld Fitxers detiquetes utilitzades.
/WEB-INF Carpeta on es guarda el fitxer de configuració del framework i fitxers que no han destar disponibles des del servidor Web.
26
Disseny dun marc de treball de presentació per a
aplicacions J2EE
  • FWKTEST APLICACIÓ DE TEST FLUX DE PANTALLES

Pantalla Principal de llistat destudiants
Pantalla Autenticació
Pantalla Ajuda
Pantalla Modificació/esborrat
Pantalla Alta estudiant
27
  • Construcció dun nou framework de presentació
    CONCLUSIONS
  • Conclusions
  • La realització dun 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 lactualitat.
  • Disseny, implementació i testeig dun nou marc
    de treball.
  • Els coneixements i lexperiè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.
Write a Comment
User Comments (0)
About PowerShow.com