Diapositiva 1 - PowerPoint PPT Presentation

1 / 20
About This Presentation
Title:

Diapositiva 1

Description:

Disseny i implementaci d un marc de treball de presentaci per aplicacions J2EE Alberto Bastos Vargas Enginyeria en Inform tica Josep Maria Camps Riba – PowerPoint PPT presentation

Number of Views:68
Avg rating:3.0/5.0
Slides: 21
Provided by: Al80
Category:

less

Transcript and Presenter's Notes

Title: Diapositiva 1


1
Disseny i implementació dun marc de treball de
presentació per aplicacions J2EE Alberto Bastos
Vargas Enginyeria en Informàtica Josep Maria
Camps Riba Universitat Oberta de Catalunya 2012
2
introducció estudi deines desenvolupament
conclusions
gt Justificació i context
2 de 20
  • Època daurada del desenvolupament de software.
  • Quantitat cada cop més gran de potencials
    desenvolupadors.
  • Més volum de negoci, sistemes més exigents,
    necessitat de reutilització.
  • Els frameworks faciliten la feina, permeten la
    reutilització i optimitzen processos.
  • Java es basa en la comunitat compartir
    coneixement, facilitar laterratge.
  • El projecte pretén retribuir part de laportació
    de Java.
  • paraules clau reutilització, optimització,
    retribució

Disseny i implementació dun marc de treball de
presentació per aplicacions J2EE Alberto Bastos
Vargas UOC 2012
3
introducció estudi deines desenvolupament
conclusions
gt Objectius
3 de 20
  • Estudiar el parc actual de frameworks de
    presentació J2EE.
  • Identificar fets comuns i diferenciador de cada
    eina. Aprendre dels errors.
  • Emprar el coneixement adquirit en el
    desenvolupament dun framework propi.
  • Entendre en primera persona les complicacions
    implícites del seu desenvolupament.
  • Conèixer en primera persona les sensacions dús
    del nostre framework.
  • Identificar fortaleses i debilitats i treballar
    en la millora i evolució.
  • paraules clau formar, divulgar, aportar

Disseny i implementació dun marc de treball de
presentació per aplicacions J2EE Alberto Bastos
Vargas UOC 2012
4
introducció estudi deines desenvolupament
conclusions
gt Metodologia
4 de 20
  • Divisió en petites tasques assolibles a curt
    termini.
  • Definició de tasques amb seqüència lineal,
    treball en parallel només per documentar.
  • Evitar lerror comú de documentar a
    posteriori. Bloquejar lavenç a una etapa fins
    assolir la documentació de lanterior.
  • Donar prioritat a la vessant pràctica. Recolzar
    tota teoria observada amb exemples i casos
    pràctics.
  • Enfocat en la usabilitat. Prioritat al com
    respecte al què.
  • Desenvolupament amb una metodologia estàndard de
    projectes anàlisi, disseny, construcció, proves,
    seguiment.
  • paraules clau grànul, documentació, usabilitat

Disseny i implementació dun marc de treball de
presentació per aplicacions J2EE Alberto Bastos
Vargas UOC 2012
5
introducció estudi deines desenvolupament
conclusions
gt Planificació
5 de 20
  • Tres grans fases coincidents amb tres
    lliuraments.
  • Fase I Estudi deines, teoria, pràctica i
    conclusions.
  • Fase II Desenvolupament propi. Anàlisi,
    disseny, construcció i proves.
  • Regla del 50-50 (temps dimplementació resta
    detapes).
  • Fase III Demostració, modificacions.
  • Documentació 20 del temps total de projecte.
  • 5 doctubre. Posada en marxa.
  • 10 de novembre Estudi previ.
  • 19 de desembre Desenvolupament propi.
  • 16 de gener Demostració i documentació final.

Disseny i implementació dun marc de treball de
presentació per aplicacions J2EE Alberto Bastos
Vargas UOC 2012
6
introducció estudi deines desenvolupament
conclusions
gt Planificació tasques i dependències
6 de 20
Disseny i implementació dun marc de treball de
presentació per aplicacions J2EE Alberto Bastos
Vargas UOC 2012
7
introducció estudi deines desenvolupament
conclusions
gt Components J2EE
7 de 20
  • Servlets punts daccés al sistema, reben dades
    i retornen resultats. Cas més habitual navegador
    web, peticions HTTP i respostes HTML.
  • Filter interceptors anteriors i posteriors al
    tractament de la petició. Útils per a tasques
    transversal que afecten tot el sistema.
  • Session i Context àmbits dexecució,
    contenidors dinformació útil i magatzems de
    dades.
  • Listeners observadors desdeveniments,
    habitualment creació i destrucció dàmbits.
  • Java Server Pages plantilles per a vista, estil
    híbrid entre HTML i Java.
  • TagLibs ampliació de JSP que reforça la
    separació entre lògica i presentació.

Disseny i implementació dun marc de treball de
presentació per aplicacions J2EE Alberto Bastos
Vargas UOC 2012
8
introducció estudi deines desenvolupament
conclusions
gt Front Controller
8 de 20
  • Patró de disseny preferent en el disseny de
    frameworks de presentació.
  • Habilita un únic punt dentrada al sistema que
    assumeix el rol deix central i redirigeix les
    dades dentrada i sortida.
  • Possibilitat de suportar responsabilitats
    addicionals, com mantenir lestat de laplicació.
  • Aporten simplicitat al disseny i facilitat en el
    manteniment i configuració del sistema.

Disseny i implementació dun marc de treball de
presentació per aplicacions J2EE Alberto Bastos
Vargas UOC 2012
9
introducció estudi deines desenvolupament
conclusions
gt Spring Web MVC Framework
9 de 20
  • Rod Johnson (SpringSource). Mòdul integrat a
    Spring Framework (2002).
  • Orientat a petició, patró Front Controller
    implementat amb DispatcherServlet.
  • Controllers per entrada i sortida de dades,
    Handler Mappings per interceptar les peticions,
    View Resolver per gestionar i generar vistes.
  • Configuració amb anotacions Java, mínima
    configuració XML.
  • Poc suport per installar recursos dinàmics i
    estàtics en el mateix context.
  • Validació de formularis poc intuïtiva.
  • Disseny impecable, però eina sobredimensionada.
  • Suport per a múltiples tecnologies de vista
    simultàniament.
  • Opció preferent amb combinació amb altres mòduls
    de Spring Framework.

Disseny i implementació dun marc de treball de
presentació per aplicacions J2EE Alberto Bastos
Vargas UOC 2012
10
introducció estudi deines desenvolupament
conclusions
gt Struts 2 Framework
10 de 20
  • Craig McClanahan (Apache Foundation), 2005.
  • El més popular durant uns anys, ha perdut
    notorietat en favor daltres alternatives.
  • Orientat a petició, Front Controller implementat
    amb FilterDispatcher (novetat respecte
    lActionServlet de la versió inicial).
  • Actions amb convivència de mètodes i dades
    emmagatzemades.
  • Results amb plantilles associades (múltiples
    tecnologies de vista).
  • Ús intensiu internament de FreeMarker.
  • Interceptors anteriors i posteriors.
  • Configuració XML completa però opció
    danotacions Java poc satisfactòria.
  • Problemàtic amb lenregistrament i conversió de
    tipus de dades complexos.
  • Gran ventall de components implementats de
    sèrie.
  • Potent TagLib per a recepció i enviament de
    dades.

Disseny i implementació dun marc de treball de
presentació per aplicacions J2EE Alberto Bastos
Vargas UOC 2012
11
introducció estudi deines desenvolupament
conclusions
gt Java Server Faces
11 de 20
  • Java Community Process, 2004.
  • Especificació del framework, múltiples
    implementacions referència, MyFaces, RichFaces,
    ICEFaces, etc.
  • Orientat a components, esdeveniments sobre
    aquestos.
  • Patró Front Controller implementat amb
    FacesServlet (intermediari entre els
    esdeveniments i els components afectats).
  • Components UI altament reutilitzables i Manager
    Beans acoplats a ells per implementar lògica de
    negoci.
  • Potent TagLib altament integrat en les tasques
    de presentació.
  • Llibreria detiquetes com a gran virtut i
    defecte, molt intrusiva.
  • Configuració amb anotacions a partir de JSF2.0,
    conserva compatibilitat amb JSF1.2. Molt
    intuïtiva donant com a resultat un codi
    notablement comprensible.
  • Promogut com a complement a utilitzar
    conjuntament amb altres frameworks.

Disseny i implementació dun marc de treball de
presentació per aplicacions J2EE Alberto Bastos
Vargas UOC 2012
12
introducció estudi deines desenvolupament
conclusions
gt Grails
12 de 20
  • G2ONE (actualment SpringSource), 2003. El seu
    creador renega del seu treball en favor duna
    proposta posterior, Scala.
  • Framework per Groovy, llenguatge dinàmic que
    genera Java bytecode en temps dexecució (no hi
    ha fase de pre-compilació).
  • Conserva el paradigma Model Vista Controlador,
    però amb especial èmfasi per aconseguir entorns
    dalta productivitat.
  • Automatització de tasques de generació de codi.
    Basat en estendre els comportaments per
    defecte.
  • Patró Front Controller, encara que poc visible
    degut al seu enfocament.
  • Menys flexibilitat donat lexcés dautomatismes.
  • Bon exemple duna nova tendència que allibera al
    desenvolupador de tasques mecàniques i
    repetitives.
  • Adequat per a entorns i metodologies àgils
    dalta productivitat.

Disseny i implementació dun marc de treball de
presentació per aplicacions J2EE Alberto Bastos
Vargas UOC 2012
13
introducció estudi deines desenvolupament
conclusions
gt FFramework Principis bàsics
13 de 20
  • Configuració mínima i senzilla.
  • Innovació i factors diferenciadors més
    anotacions i FreeMarker, menys XML, herències i
    TagLibs. (estil Spring MVC Web Framework)
  • Combinar dades i accions evitant els errors
    habituals. (estil Struts Framework)
  • Alta flexibilitat en la visibilitat de dades.
    Permetre la consulta transversal de la
    informació. (estil Java Server Faces)
  • Evitar el fort lligam una vista un
    controlador. (estil Java Server Faces)
  • Potenciar la generació de vistes amb
    automatismes que alliberin de tasques repetitives.

Disseny i implementació dun marc de treball de
presentació per aplicacions J2EE Alberto Bastos
Vargas UOC 2012
14
introducció estudi deines desenvolupament
conclusions
gt FFramework Tecnologies clau
14 de 20
  • Anotacions Java 5 combinació entre definició i
    codificació del software sense perjudicar la
    claredat del codi.
  • Java Reflection API accés a meta-informació del
    sistema en temps dexecució.
  • Java Genèrics amb ús de reflexió avançada
    definicions de dades més específiques recuperant
    les regles imposades en temps dexecució.
  • FreeMarker potent motor per a vistes amb una
    sintàxi que cerca un bon equilibri entre HTML i
    Java.

Disseny i implementació dun marc de treball de
presentació per aplicacions J2EE Alberto Bastos
Vargas UOC 2012
15
introducció estudi deines desenvolupament
conclusions
gt FFramework Classes
15 de 20
  • Patrò Front Controller amb FServlet.
  • Conversió de dades amb FConverters.
  • Controladors dades amb FBeans.
  • Comportaments amb FActions.
  • Directives per automatitzar vistes.
  • Validacions, tractament dexcepcions i
    contenidors de resultats.

Disseny i implementació dun marc de treball de
presentació per aplicacions J2EE Alberto Bastos
Vargas UOC 2012
16
introducció estudi deines desenvolupament
conclusions
gt FFramework Processat de petició
16 de 20
Disseny i implementació dun marc de treball de
presentació per aplicacions J2EE Alberto Bastos
Vargas UOC 2012
17
introducció estudi deines desenvolupament
conclusions
gt FFramework Reptes tècnics
17 de 20
  • Necessitat descanejar anotacions Java 5 en
    temps dexecució. Opcions disponibles
  • Suport nadiu complex que involucra configuració
    XML externa.
  • Ús de llibreries de Spring Framework amb
    excessives dependències que sobrecarreguen
    leina.
  • Ús de Google Reflections.
  • Detecció de tipus genèrics de colleccions Java
    en temps dexecució. Problema del type erasure,
    ja que les definicions genèriques no
    necessàriament sobreviuen a la compilació. Es
    requereix un ús avançat de la Java Reflection API
    per poder concloure a partir de la seva definició
    el tipus al que es troba destinat una collecció.

Disseny i implementació dun marc de treball de
presentació per aplicacions J2EE Alberto Bastos
Vargas UOC 2012
18
introducció estudi deines desenvolupament
conclusions
gt FFramework Aplicació de prova
18 de 20
  • Base de dades cinematogràfica (manteniment de
    pellícules, persones i relacions entre elles).
    Observacions i problemes
  • Incompatibilitat entre directiva de bucle i
    directives per mostrar dades.
  • Impossibilitat de llistes desplegables sense
    vincle directe amb dades emmagatzemades (fixed).
  • Reutilització de validadors (fixed).
  • Problemàtica amb dades complexes similar a la
    que pateix Struts Framework.
  • Control daccés mitjançant validadors (done).

Disseny i implementació dun marc de treball de
presentació per aplicacions J2EE Alberto Bastos
Vargas UOC 2012
19
introducció estudi deines desenvolupament
conclusions
gt Millores i ampliacions
19 de 20
  • Suport per a colleccions Java de tipus no
    bàsics.
  • Suport per a multiidioma.
  • Suport per a múltiples motors de vista (JSP,
    XSD, Velocity...).
  • Estudi de variants del patró Front Controller
    (filtres...).
  • Ampliar la potència dels validadors de dades.
  • Millorar la convivència entre recursos dinàmics
    i estàtics.
  • Eina CASE.

Disseny i implementació dun marc de treball de
presentació per aplicacions J2EE Alberto Bastos
Vargas UOC 2012
20
introducció estudi deines desenvolupament
conclusions
gt Conclusions
20 de 20
  • El desenvolupament de meta-eines presenta una
    sèrie de característiques molt més complexes que
    la construcció de productes amb una definició més
    tancada.
  • Predomina lús del patró Front Controller.
  • Les darreres evolucions apunten clarament a
    optimitzar la configuració, cercant alternatives
    a l'ús de fitxers XML.
  • Existeix una corrent encara en creixement
    dopcions enfocades a lalta productivitat.
  • La major dificultat trobada durant el
    desenvolupament dun framework de presentació és
    la conversió de dades.
  • Experiència positiva. Entendre millor aspectes
    que anteriorment tenien difícil explicació des
    del punt de vista de lusuari final.

Disseny i implementació dun marc de treball de
presentació per aplicacions J2EE Alberto Bastos
Vargas UOC 2012
Write a Comment
User Comments (0)
About PowerShow.com