cursoj2ee_2014

Upload: giannina-costa-lizama

Post on 06-Mar-2016

221 views

Category:

Documents


0 download

DESCRIPTION

CursoJ2EE_2014

TRANSCRIPT

  • 7/21/2019 CursoJ2EE_2014

    1/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    Introduccin a la programacin J2EE

    2014/15

  • 7/21/2019 CursoJ2EE_2014

    2/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    ndice de contenidos

    Introduccin

    odelos de programacin!

    "atrones de dise#o

    Componentes de $unde%e&!

    'clipse

    a(en

    )a(a

    )"A *+i&ernate , 'clipse-in/

    )$

    ')

    Test de carga con )eter eneracin de Informes!

    $rame%or irt

    er(icio irtum

  • 7/21/2019 CursoJ2EE_2014

    3/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    34u5 es $unde%e&6

    $rame%or de desarrollo de aplicaciones )2''dise#ado por 7C y con inicio en el a#o 2008.

    $acilita el proceso de desarrollo de soft%are.

    A&strae a los programadores de las dependenciasde las tecnologas 9ue se usan.

    "ro(ee de un con:unto de facilidades 9ue adaptanel desarrollo a las caractersticas del $rame%or.

    A&strae de la &ase de datos so&re la 9ue setra&a:a.

    Automati;a las tareas de despliegue de proyectos.

  • 7/21/2019 CursoJ2EE_2014

    4/108 2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    34u5 es $unde%e&6

    Automati;a el despliegue en ser(idores dedesarrollo y,o produccin.

    "ro(ee ayudas para el control de calidad ysuper(isin de cdigo.

    'n resumen!

    Fundewebes un frame%or de desarrollo deaplicaciones 9ue facilita a los programadores la

    gestin y despliegue de proyectos. Incorpora un con:unto de tecnologas su

  • 7/21/2019 CursoJ2EE_2014

    5/108 2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    ndice de contenidos

    Introduccin

    odelos de programacin!

    "atrones de dise#o

    Componentes de $unde%e&!

    'clipse

    a(en

    )a(a

    )"A * +i&ernate , 'clipse-in /

    )$

    ')

    Test de carga con )eter eneracin de Informes!

    $rame%or irt

    er(icio irtum

  • 7/21/2019 CursoJ2EE_2014

    6/108 2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    odelos de programacin

    Aplicaciones )2''.

    =so del patrn >C.

    Aplicaciones de er(icios?e& , @'T.

    Capa de ser(icios. in interfa; gr

  • 7/21/2019 CursoJ2EE_2014

    7/108 2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    "atrones de dise#o )2''

    3"or 9u5 utili;ar patrones de dise#o6

    +acen 9ue las aplicaciones sean fcilmenteetensi&les.

    e:oran la escala&ilidad de la aplicacin *rendimento/. e:oran la

  • 7/21/2019 CursoJ2EE_2014

    8/108 2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    "atrones de dise#o )2''

    "atrones en $unde%e&

    >C! odelo >ista Controlador

    ingleton

    $actora A&stracta Adapter

    F&ser(er

  • 7/21/2019 CursoJ2EE_2014

    9/108 2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    'l patrn >C *odelo >ista Controlador/

    "atrn de programacin de aplicaciones.

    Ei(isin de la aplicacin en &lo9ues!

    odelo! lo9ue encargado de la persistencia de

    datos. Control! lo9ue encargado de la gestin del Gu:o de

    la aplicacin.

    >ista! lo9ue encargado de la capa de presentacin

    de la aplicacin.

  • 7/21/2019 CursoJ2EE_2014

    10/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    'l patrn >C *odelo >ista Controlador/

    POJs

    (Plain Old Java Object) Html, xhtml

    Clases Java

  • 7/21/2019 CursoJ2EE_2014

    11/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    'l patrn >C *odelo >ista Controlador/

  • 7/21/2019 CursoJ2EE_2014

    12/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    "atrn >C! 'l modelo

    $ormado por clases sin lgica de negocio llamadas"F)F.

    apea la estructura de las ta&las de EE en clases)a(a.

    ir(e de intermediario entre el programador y laEEH facilitando el acceso y mane:o de los datos.

    "ermite leerH persistir y actuali;ar los datos de

    manera sencilla para el programador. Ee

  • 7/21/2019 CursoJ2EE_2014

    13/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    "atrn >C! 'l modelo

    Adapta al Kestilo )a(aL la gestin de los datos 9uemane:a.

    @e9uiere un motor de persistencia 9ue sea capa;

    de traducir esta capa a sentencias 4-.

  • 7/21/2019 CursoJ2EE_2014

    14/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    "atrn >C! -a (ista

    estiona la capa (isual de la aplicacinH tam&i5ndenominada M$ront'ndM.

    's el enlace entre el usuario y la aplicacin.

    'specialmente sensi&les a ata9ues de seguridad. Ee&e estar modelada de una manera 9ue fomente

    la usa&ilidad y accesi&ilidad.

  • 7/21/2019 CursoJ2EE_2014

    15/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    "atrn >C! 'l controlador

    estiona toda la lgica de la aplicacin.

    ':erce de enlace entre la (ista y el modelo.

    'ncargado de las tareas de!

    >alidacin de datos.

    $lu:o de na(egacin.

    estin de errores.

    estin de autenticacin y autori;acin. estin de la persistencia.

    Conein con ser(icios eternos.

  • 7/21/2019 CursoJ2EE_2014

    16/108

  • 7/21/2019 CursoJ2EE_2014

    17/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    "atrn >C! 'l controlador

    $lu:o de na(egacin! $i:a las condiciones para na(egar a una determinada

    (ista u otra.

    "ermite

  • 7/21/2019 CursoJ2EE_2014

    18/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    "atrn >C! 'l controlador

    estin de errores! Eetecta situaciones de error y detiene el Gu:o de la

    aplicacin.

    @eacciona ante errores producidos en la aplicacinde:ndola lo ms esta&le posi&le.

    Ee&e proporcionar mensa:es su

  • 7/21/2019 CursoJ2EE_2014

    19/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    "atrn >C! 'l controlador

    Autenticacin y autori;acin! Autenticacines el proceso por el cual se

    comprue&a 9ue el usuario es 9uien dice ser.

    Autorizacines el proceso por el cual se restringeel acceso del usuario a las reas 9ue tengapermitidas.

    's crtico 9ue am&os pasos no presenten pro&lemasde seguridad.

  • 7/21/2019 CursoJ2EE_2014

    20/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    "atrn >C! 'l controlador

    Autenticacin y autori;acin! Asegura 9ue las credenciales introducidas por el

    usuario son (lidas para nuestro sistema.

    Carga el per

  • 7/21/2019 CursoJ2EE_2014

    21/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    "atrn >C! 'l controlador

    estin de la persistenciaestiona 9ue los datos se persistan de manera

    correcta.

    Asegura 9ue en caso de errorH los datos persistidos soncoNerentes.

    EesNace cam&ios en caso 9ue sea necesario.

  • 7/21/2019 CursoJ2EE_2014

    22/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    "atrn >C! 'l controlador

    Conein con ser(icios eternos "ermite la conein con!

    er(icios ?e& eternos.

    ') remotos. estiona la autenticacin y autori;acin con los

    ser(icios eternos.

    'pone ser(icios propios para 9ue otras aplicaciones

    puedan acceder a ellos.

  • 7/21/2019 CursoJ2EE_2014

    23/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    'l patrn ingleton

    'ste patron asegura 9ue slo Na&r una Dnicainstancia del o&:eto re9uerido.

    '(ita tener instancias duplicadas en memoria.

    Fptimi;a el uso de los recursos del sistema.

  • 7/21/2019 CursoJ2EE_2014

    24/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    'l patrn $actora A&stracta

    Conteto! Tenemos o&:etos de la misma familia pero condiferencias estructurales.

    'ste patrn nos permite crear una estructura general paracrear cual9uier o&:eto de la misma familia.

    'structura! Clase cliente! 4uien in(oca a la factora.

    $actora a&stracta! Interfa; 9ue de

  • 7/21/2019 CursoJ2EE_2014

    25/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    'l patrn $actora A&stracta

    'ste patrn es utili;ado por $unde%e& parasoportar el mecanismo de autenticacin mDltiple.

  • 7/21/2019 CursoJ2EE_2014

    26/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    'l patrn Adapter

    Consiste en transformar la interfa; de uncomponente en otra 9ue soporte una determinadaclase cliente.

    'n ocasiones no podemos modi

  • 7/21/2019 CursoJ2EE_2014

    27/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    'l patrn Adapter

    >isto con un e:emplo! upongamos 9ue tenemos un cliente 9ue re9uiere los

    m5todos!

    uma*op1Hop2/

    @esta*op1Hop2/

    -a clase 9ue sir(e estas operacionesH en cam&io slotiene este m5todo!

    @eali;aFperacion*op1Hop2Hoperacin/

    Como podemos (er en este e:emplo cliente yser(idor no podran comunicarse pese a 9ue elser(idor puede reali;ar las operaciones 9ue re9uiereel cliente.

    l d

  • 7/21/2019 CursoJ2EE_2014

    28/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    'l patrn Adapter

    -a solucin 9ue propone el patrn Adapter es crearuna clase intermedia 9ue eponga la interfa; 9uere9uiere el cliente.

    'sta clase en su implementacin llamar alser(idor como 5l espera.

    As pues!

    'l F&

  • 7/21/2019 CursoJ2EE_2014

    29/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    'l patrn F&ser(er

    7ecesario cuando los cam&ios de estado de unelemento de&en ser contemplado por un con:untode los mismos.

    uy etendidos de&ido a las mDltiplesinterdependencias de estados entre componentes.

    =n o&:ecto se registra como MlistenerM de un o&:etoconcreto.

    Cuando el o&:eto padre modi

  • 7/21/2019 CursoJ2EE_2014

    30/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    'l patrn F&ser(er

    's9uemticamente

    di d t id

  • 7/21/2019 CursoJ2EE_2014

    31/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    Introduccin

    odelos de programacin!

    "atrones de dise#o

    Componentes de $unde%e&!

    'clipse

    a(en

    )a(a

    )"A * +i&ernate , 'clipse-in /

    )$

    ')

    Test de carga con )eter eneracin de Informes!

    $rame%or irt

    er(icio irtum

    ndice de contenidos

    ' li

  • 7/21/2019 CursoJ2EE_2014

    32/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    'clipse

    IE' de desarrollo de aplicaciones. asado en un core y un pa9uete de etensin o

    plugins.

    'clipse se puede adaptar mediante la instalacinde plugins a diferentes lengua:es de programacin.

    Concentra toda la funcionalidad necesaria para 9uelos programadores desarrollen sus proyectos.

    Contiene un gestor de plugins 9ue permite instalarnue(os o actuali;ar los eistentes.

    'clipse! "lugins

  • 7/21/2019 CursoJ2EE_2014

    33/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    'clipse! "lugins

    a(en! "ermite la gestin de las li&reras 9ue re9uiere el

    proyecto.

    'speci

  • 7/21/2019 CursoJ2EE_2014

    34/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    'clipse! "lugins

    u&clipse! Cliente de u&(ersion para eclipse.

    "ermite comparaciones entre 7.

    Ayuda a la resolucin de conGictos entre isuali;a de manera rpida las diferencias entre

    nuestro contenido local y el del repositorio.

    'clipse! "lugins

  • 7/21/2019 CursoJ2EE_2014

    35/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    'clipse! "lugins

    Ant! 7os permite e:ecutar tareas concretas para mane:ar

    nuestros proyectos.

    "uede interactuar con todos los componentes denuestro entorno!

    Cdigo fuente

    er(idores

    Test Creadas tareas Ant en $unde%e& para automati;ar

    tareas de despliegue y empa9uetados de proyectos.

    'clipse! "lugins

  • 7/21/2019 CursoJ2EE_2014

    36/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    'clipse! "lugins

    Test7! $rame%or de testing para )a(a.

    asado en )unit *reali;acin de prue&as unitarias/.

    "ermite paso de parmetros.

    7os permite compro&ar 9ue nuestro cdigo Nace lo 9uede&e.

    "ermite Cu&rir todo tipo de prue&as!

    =nitarias.

    $uncionales.

    'ndtoend.

    Integracin.

    'tcJ

    'clipse! "lugins

  • 7/21/2019 CursoJ2EE_2014

    37/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    'clipse! "lugins

    CNectyle! "ermite cNe9uear si el cdigo programado tiene

    defectos de forma.

    Comprue&a!

    4ue se programa de acuerdo a estndares.

    4ue el cdigo producido sea e

  • 7/21/2019 CursoJ2EE_2014

    38/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    'clipse! "lugins

    $indugs! CNe9uea el cdigo generado para pre(enir errores en

    tiempo de e:ecucin.

    "ara ello Nace uso de patrones de error &uscando en el

    cdigo las ocurrencias de los mismos. Algunos e:emplos de compro&aciones!

    7ull pointers. Clases no seriali;a&les cuando el conteto re9uiere 9ue

    se serialicen. "osi&les di(isiones por cero. Comparaciones entre clases 9ue no so&rescri&en e9uals. 'tcJ

    ndice de contenidos

  • 7/21/2019 CursoJ2EE_2014

    39/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    ndice de contenidos

    Introduccin odelos de programacin!

    "atrones de dise#o

    Componentes de $unde%e&!

    'clipse

    a(en )a(a

    )"A * +i&ernate , 'clipse-in /

    )$

    ')

    Test de carga con )eter

    eneracin de Informes!

    $rame%or irt

    er(icio irtum

    a(en

  • 7/21/2019 CursoJ2EE_2014

    40/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    a(en

    a(en es una Nerramienta 9ue automati;a laconstruccin de y prue&as de proyectos.

    "ro(ee un con:unto de estndares de construccinHun modelo de repositorio de artefactos y un motorde soft%are 9ue administra y descri&e losproyectos.

    "ermite el empa9uetado y despliegue de proyectosa&strayendo a los programadores del proceso.

    Com&inado con tareas AntH cu&re todas lasnecesidades para la gestin de proyectos en$unde%e&.

    a(en

  • 7/21/2019 CursoJ2EE_2014

    41/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    a(en

    -as partes del ciclo de (ida principal del proyectoa(en son!

    Compile! enera los

  • 7/21/2019 CursoJ2EE_2014

    42/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    a(en

    "F *"ro:ect F&:ect odel/ 's el

  • 7/21/2019 CursoJ2EE_2014

    43/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    a(en

    's9uema de la estructura de un

  • 7/21/2019 CursoJ2EE_2014

    44/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    a e

    Ar9uetipo! 's una plantilla personali;ada para agrupar un

    con:unto de tecnologas.

    "ermite crear una estructura de proyecto acorde auna tecnologa concreta.

    ir(e para

  • 7/21/2019 CursoJ2EE_2014

    45/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    Introduccin odelos de programacin!

    "atrones de dise#o

    Componentes de $unde%e&!

    'clipse

    a(en )a(a

    )"A * +i&ernate , 'clipse-in /

    )$

    ')

    Test de carga con )eter

    eneracin de Informes!

    $rame%or irt

    er(icio irtum

    )a(a

  • 7/21/2019 CursoJ2EE_2014

    46/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    )

    -engua:e de programacin orientado a o&:etos. Eise#ado para tener las mnimas dependencias con

    una implementacin concreta.

    'l o&:eti(o es programar para cual9uier dispositi(oindependientemente de su ar9uitectura.

    -as aplicaciones :a(a se e:ecutan so&re unam9uina (irtual *)>/ instalada en cada dispositi(o.

    Actualmente )a(a es uno de los lengua:es deprogramacin ms etendidos cu&riendo el m&ito!?e&H m(il y de aplicaciones de escritorio.

    )a(a

  • 7/21/2019 CursoJ2EE_2014

    47/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    )

    Clases! Ee

  • 7/21/2019 CursoJ2EE_2014

    48/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    )

    =n e:emplo!package action.vehiculos;

    public class Coche {private int puertas;private String modelo;

    private String matricula;private boolean tieneSeguro;

    public Coche! {"public int get#uertas! {

    return puertas;"public void set#uertasint puertas! {

    this.puertas $ puertas;"

    Nos indica a qu conjunto de clases pertenece

    Inicio de la defnicin de la clase "Coche"

    Propiedades de la clase coche

    Constructor de la clase coche (vaco)

    Mtodo para obtener el par!etro "puertas"

    Mtodo para asinar valor alpar!etro "puertas"

    I!portante#%ava es &case sensitive& por lo 'ue no ser( lo mismo coche

    'ue Coche.

    )a(a

  • 7/21/2019 CursoJ2EE_2014

    49/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    F&:etos! =n o&:eto es la instancia de una clase en un

    momento determinado. 's decir una fotografa deuna clase en un instante dado.

    'n ese momentoH la clase tendr unos datos y unestado concreto.

    'n el e:emplo anteriorH una instancia de la clasecocNe podra ser!

    puertas O P modelo O eat matrcula O 0000 QQQ tieneeguro O True

    )a(a

  • 7/21/2019 CursoJ2EE_2014

    50/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    Implementacin! 'iste un tipo especial de clases llamadas Minterfa;M

    9ue descri&en una funcionalidad determinada.

    -as clases pueden decidir a&ordar dicNa funcionalidad.

    A este proceso se le llama MimplementacinM -a clase est o&ligada a cumplir con toda la

    funcionalidad 9ue epone la interfa;.

    =na clase puede implementar ms de una interfa; a la

    (e;. "ara indicar 9ue una clase implementa una interfa; se

    especi

  • 7/21/2019 CursoJ2EE_2014

    51/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    Interfa;! =na interfa; es una clase 9ue slo contiene la

    de

  • 7/21/2019 CursoJ2EE_2014

    52/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    ':emplo!package action.inter)aces;

    public inter$ace*ehiculo {

    public boolean tieneSeguro!;

    public void recorre+istanciaint num,ilometros!;

    public double getCombustible-estante!;

    "

    Nos indica a qu conjunto de clases pertenece

    Inicio de la defnicin de la inter$a% "&ehiculo"

    'efnicin de un !todo

    'efnicin de un !todo

    'efnicin de un !todo

    )a(a

  • 7/21/2019 CursoJ2EE_2014

    53/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    +erencia! Cuando una clase Nereda de otraH o&tiene todas sus

    propiedades y m5todos.

    -a clase MNi:aM puede!

    Ee

  • 7/21/2019 CursoJ2EE_2014

    54/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    +erencia! Cuando una clase 9uiere so&rescri&ir un m5todo del

    padreH se marca el nue(o m5todo con la anotacinRF(erride.

    'l m5todo de la clase Ni:a Na de tener la mismade

  • 7/21/2019 CursoJ2EE_2014

    55/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    ':emplo!//Clase padre

    pu&lic abstractclass >eNiculootor S

    pu&lic abstract(oid ecNarasolina*dou&le litros/

    U

    //Clase hia

    pu&lic class CocNe e!tends>eNiculootorS

    pu&lic CocNe*/ S

    U

    "#$erride

    pu&lic (oid ecNarasolina*dou&le litros/S

    U

    )a(a

  • 7/21/2019 CursoJ2EE_2014

    56/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    @eferencias! Cuando creamos un o&:eto :a(a internamente se

    est creando una referencia a ese o&:eto.

    i asignamos ese o&:eto creado a otra (aria&leH lo

    9ue realmente se est copiando es la referencia. i modi

  • 7/21/2019 CursoJ2EE_2014

    57/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    @ecolector de &asura! 's un mecanismo de )a(a para gestionar de manera

    automtica la memoria.

    A&strae a los programadores del proceso de reser(a y

    li&eracin de memoria. Cuando crea un o&:eto reser(a memoria en funcin de

    sus caractersticas y la amplia cuando sea necesario.

    Cuando detecta 9ue un o&:eto no tiene ningunareferencia *nadie apunta a 5l/ lo elimina li&erando lamemoria ocupada.

    ran parte de los pro&lemas de memoria se producenpor acumulacin de o&:etos 9ue ya no se usanH peroeiste aDn alguna referencia en el cdigo Nacia ellos.

    ndice de contenidos

  • 7/21/2019 CursoJ2EE_2014

    58/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    Introduccin odelos de programacin!

    "atrones de dise#o

    Componentes de $unde%e&!

    'clipse

    a(en )a(a

    )"A * +i&ernate , 'clipse-in /

    )$

    ')

    Test de carga con )eter

    eneracin de Informes!

    $rame%or irt

    er(icio irtum

    )"A *)a(a "ersistence Api/

  • 7/21/2019 CursoJ2EE_2014

    59/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    'speci

  • 7/21/2019 CursoJ2EE_2014

    60/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    -os "F)FVs *"lain Fld )a(a F&:ect/ F&:etos :a(a 9ue representan M

  • 7/21/2019 CursoJ2EE_2014

    61/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    -os "F)FVs! Contienen la de

  • 7/21/2019 CursoJ2EE_2014

    62/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    'ntityanager! estiona el conteto de persistencia.

    's el encargado de!

    @ecuperar y persistir datos.

    uscar instancias determinadas.

    estionar las transacciones.

    >alidar los datos a ser persistidos.

    @e(ertir cam&ios. @efrescar o&:etos con contenido de la EE.

    Ee&e Na&er slo uno en toda la aplicacin.

    ndice de contenidos

  • 7/21/2019 CursoJ2EE_2014

    63/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    Introduccin

    odelos de programacin!

    "atrones de dise#o

    Componentes de $unde%e&!

    'clipse

    a(en

    )a(a

    )"A * +i&ernate , 'clipse-in /

    )$

    ')

    Test de carga con )eter

    eneracin de Informes! $rame%or irt

    er(icio irtum

    )$ *)a(a er(er $aces/

  • 7/21/2019 CursoJ2EE_2014

    64/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    $rame%or de desarrollo de aplicaciones %e& en )a(a. $ormado por!

    Api e implementacin de referencia para componentes=I.

    ane:a el estado. @eali;a (alidacin.

    Controla e(entos.

    "ro(ee na(egacin.

    Tratamiento de datos.

    -i&rera de eti9uetas )$ para di&u:ar los componentesdentro de nuestra pgina %e&.

    )$ *)a(a er(er $aces/

  • 7/21/2019 CursoJ2EE_2014

    65/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    Aplicacin )$! e e:ecuta dentro de un contenedor er(let )a(a.

    Contiene )a(aeans *o&:etos del modelo 9uegestionan la aplicacin/.

    Fyentes de e(entos.

    "ginas *Ntml/

    Clases de utilidad para acceder a funcionalidad

    a(an;ada *acceso a EE/. -i&reras de eti9uetas.

    )$ *)a(a er(er $aces/

  • 7/21/2019 CursoJ2EE_2014

    66/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    'structura &sica! F&:etos del modeloH 9ue mapean las ta&las EE.

    Controlador,es de la aplicacinH 9ue gestionan elGu:o de la aplicacin y las acciones a reali;ar segDn

    los datos de entrada. "arte (isual de la aplicacinH 9ue se encarga de

    mostrar al usuario los componentes e interactuarcon la parte del ser(idor en(iando los datos

    introducidos. $icNeros de con

  • 7/21/2019 CursoJ2EE_2014

    67/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    Ciclo de (ida )$!1. @econstruccin del r&ol de procesamiento con los

    datos introducidos por el usuario.

    2. Aplicacin de los (alores reconstruidos en el ser(idor.

    W. "rocesamiento de e(entos.

    P. >alidacin de (alores introducidos.

    X. Actuali;acin del modelo.

    Y. In(ocar aplicacin *calcular respuestaH redireccinHetcJ/.

    Z. @enderi;ado de la respuesta al cliente.

    )$ *)a(a er(er $aces/

  • 7/21/2019 CursoJ2EE_2014

    68/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    -econstruccin del (rbol de procesamiento con los datos introducidos por eplicacin de los valores reconstruidos en el servidor.

    #rocesamiento de eventos*alidacin de valores introduci

    ctualiacin del modelo.nvocar aplicacin-enderiado de la respuesta

    )$ *)a(a er(er $aces/

  • 7/21/2019 CursoJ2EE_2014

    69/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    @econstruccin del r&ol de procesamiento Tras un su&mit se restaura el r&ol de contenido.

    'l controlador eamina el contenido y crea loscomponentes 9ue se re9uieran por el contenido

    reci&ido. 'l controlador eamina el contenido reci&ido para

    sa&er si es una nue(a (ista o est en una ya creadade antemano.

    'l controlador almacena los IE de las (istas 9ue Nareci&ido parasa&er 9u5 o&:etos de&e iniciali;ar ycuales recargar.

    )$ *)a(a er(er $aces/

  • 7/21/2019 CursoJ2EE_2014

    70/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    Aplicacin de los (alores reconstruidos en elser(idor

    Cada componente creado en el paso anterior o&tienesu (alor en &ase a lo reci&ido en el paso anterior.

    -os (alores reci&idos se con(ierten a los esperadospor sus respecti(os componentes.

    i un componente es marcado como inmediatoH seasigna el (alor y se pasa a la etapa de (alidacin

    antes de tratar el resto de componentes.

    )$ *)a(a er(er $aces/

  • 7/21/2019 CursoJ2EE_2014

    71/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    "rocesamiento de e(entos. 'n este punto Nan podido lan;arse errores de

    con(ersin de tipos o de (alidacin en caso de(alores inmediatos.

    'stos e(entos se capturan y se le indican alcontrolador.

    'l controlador redirigir el Gu:o Nacia un estadoseguro de(ol(iendo un e(ento de error en caso de

    proceder.

    )$ *)a(a er(er $aces/

  • 7/21/2019 CursoJ2EE_2014

    72/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    >alidacin de (alores introducidos. e procede a compro&ar si los (alores introducidos

    cumplen las restricciones de

  • 7/21/2019 CursoJ2EE_2014

    73/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    Actuali;acin del modelo. =na (e; (alidados los datos se procede a actuali;ar

    el modelo.

    e copian los datos procesados en las clases )a(a

    9ue los representa pasando la informacin a la partede control de la aplicacin.

    'n este punto los (alores copiados son (lidos desdeel punto de (ista de la correccinH aun9ue pueden

    ser in(lidos para la lgica de negocio.

    )$ *)a(a er(er $aces/

  • 7/21/2019 CursoJ2EE_2014

    74/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    In(ocar aplicacin. Con los (alores introducidos procedemos a in(ocar a

    la lgica de negocio de la aplicacin.

    Tras procesar los datos pasaremos a generar una

    respuesta o &ien a un estado de error. 'n este punto se persistirn los datosH calcular la

    redireccinH se Narn las llamadas a ser(icioseternosH etcJ

    )$ *)a(a er(er $aces/

  • 7/21/2019 CursoJ2EE_2014

    75/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    @enderi;ado de la respuesta al cliente. e genera la pgina de respuesta al cliente en &ase

    al resultado o&tenido en la fase anterior.

    e tratar el r&ol de respuesta para mostrar los

    elementos 9ue as sean necesarios como sus(alores.

    'n caso de Na&erse producido un error de&ernoti

  • 7/21/2019 CursoJ2EE_2014

    76/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    Introduccin

    odelos de programacin!

    "atrones de dise#o

    Componentes de $unde%e&!

    'clipse

    a(en

    )a(a

    )"A * +i&ernate , 'clipse-in /

    )$

    ')

    Test de carga con )eter

    eneracin de Informes! $rame%or irt

    er(icio irtum

    ')

  • 7/21/2019 CursoJ2EE_2014

    77/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    'nterprise )a(a eans *')/ es una plataforma 9uenos permite modulari;ar lgica de nuestrasaplicaciones.

    's una porcin de cdigo alo:ada en un contenedor

    ') y accesi&le por las aplicaciones 9ue as lore9uieran.

    u misin es la de deslocali;ar operaciones comunesa (arias aplicacionesH fa(oreciendo la reutili;acin.

    -as aplicaciones slo de&en locali;arlo en elcontenedor ') para poder tener acceso a lafuncionalidad 9ue pro(ee.

    ')! $uncionamiento

  • 7/21/2019 CursoJ2EE_2014

    78/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    asado fundamentalmente en el contenedor '). 'ste contenedor almacena todas las clases y

    o&:etos necesarios para el funcionamiento de los') 9ue contiene.

    ')! $uncionamiento

  • 7/21/2019 CursoJ2EE_2014

    79/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    'l proceso 9ue descri&e la

  • 7/21/2019 CursoJ2EE_2014

    80/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    -os ')Vs estn formados por al menos doscomponentes!

    Interface! "uede ser -ocal o remota y es laencargada de eponer los m5todos 9ue implementa

    el '). "F)F! 's la implementacin real del ').

    -a interfa; es el punto de enlace entre la aplicacincliente y el ').

    in interfa; no se podr acceder de manera remotaa la funcionalidad del ').

    ')!Tipos

  • 7/21/2019 CursoJ2EE_2014

    81/108

    2012 rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas

    'isten tres tipos de ')! ession eans

    essageEri(en eans

    'ntites eans

    'l primer tipo englo&ar los ') 9ue pro(eernser(icios independientes a nuestra aplicacin.

    'l segundo tipo son similares al anterior pero se

    usan para procesos 9ue re9uieran ser sncronos. 'l tercer tipo representa a los "F)FVs de la capa de

    persistencia (istos en )"A.

    ')!Tipos

  • 7/21/2019 CursoJ2EE_2014

    82/108

    2012 rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas

    Ee los tres tipos anteriores los ms importantesson los ession eans 9ue pueden ser!

    tateless! in estadoH no almacenan ningDn (alor yen cada e:ecucin se de&ern iniciali;ar los (alores

    9ue se 9uieran usar. tatefull! uarda estado entre e:ecuciones por lo 9ue

    podremos recuperar datos pasados y operar conellos.

    ')! =sos frecuentes

  • 7/21/2019 CursoJ2EE_2014

    83/108

    2012 rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas

    'isten principalmente dos usos en aplicaciones$unde%e&!

    ') internos a la aplicacin.

    "roporciona una funcionalidad deenta:as

  • 7/21/2019 CursoJ2EE_2014

    84/108

    2012 rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas

    @educe la cantidad de memoria necesaria parae:ecutar determinada lgica de negocio.

    $a(orece la reutili;acin de cdigo.

    e:ora la legi&ilidad del proyecto.

    A&strae de la creacin y eliminacin de los o&:etosde control.

    iempre podemos eternali;ar una determinada

    implementacin si as lo 9uisieramos.

    ndice de contenidos

  • 7/21/2019 CursoJ2EE_2014

    85/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    Introduccin

    odelos de programacin!

    "atrones de dise#o

    Componentes de $unde%e&!

    'clipse

    a(en

    )a(a )"A * +i&ernate , 'clipse-in /

    )$

    ')

    Test de carga con )eter

    eneracin de Informes! $rame%or irt

    er(icio irtum

    )eter

  • 7/21/2019 CursoJ2EE_2014

    86/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    )eter es una Nerramienta de soft%are li&reproporcionada por ApacNe para la generacin de test decarga.

    'sta desarrollado en )a(a al 100[ lo 9ue permite unafcil modi

  • 7/21/2019 CursoJ2EE_2014

    87/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    )eter

  • 7/21/2019 CursoJ2EE_2014

    88/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    Controlador simple 3estiona el test

    )eter

  • 7/21/2019 CursoJ2EE_2014

    89/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    Sevidor pro #repara el test

    )eter

  • 7/21/2019 CursoJ2EE_2014

    90/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    6uestreadores 7btiene los datos del test

    ndice de contenidos

  • 7/21/2019 CursoJ2EE_2014

    91/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    Introduccin

    odelos de programacin!

    "atrones de dise#o

    Componentes de $unde%e&!

    'clipse

    a(en

    )a(a )"A * +i&ernate , 'clipse-in /

    )$

    ')

    Test de carga con )eter

    eneracin de Informes! $rame%or irt

    er(icio irtum

    irt

  • 7/21/2019 CursoJ2EE_2014

    92/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    enerador de informes &asado en eclipse. Compuesto por dos componentes principales!

    'ditor de Informes.

    enerador de Informes *irt=/

    "retende a&arcar el mayor rango de componentesdisponi&les a la Nora de reali;ar un informe.

    Centrado en permitir dise#ar fcilmente informesde manera gr

  • 7/21/2019 CursoJ2EE_2014

    93/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    +erramienta integrada dentro del IE' 'clipse 'structura enfocada al dise#o de informes de

    manera (isual.

    "ro(ee diferentes maneras de acceder a los datos!

    Eirectamente so&re EE.

    A tra(5s de cs( o Q-.

    >a ?e&er(ices.

    J Ee

  • 7/21/2019 CursoJ2EE_2014

    94/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    Eataources

    =n Eataource es la propia fuente de datos.

    Ee

  • 7/21/2019 CursoJ2EE_2014

    95/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    Eataet

    "ermite crear datos adicionales.

    "ermite calcular (alores en &ase a los datos incluidosen el.

    irt! 'ditor de informes

  • 7/21/2019 CursoJ2EE_2014

    96/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    "armetros!

    irt permite 9ue se de

  • 7/21/2019 CursoJ2EE_2014

    97/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    g:ditor de in)ormes

    #ropiedades de los elementos8rbol de elementos

    irt! 'ditor de informes

    & l d d d

  • 7/21/2019 CursoJ2EE_2014

    98/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    r&ol de orgenes de datos!

    Contiene todos los componentes 9ue aportan datos paragenerar el informe!

    Eataource! Frigen real de los datos.

    Eataet! Agrupacin de datos. EataCu&es! Agrupacin cru;ada de datos.

    "armetros del informe! "armetros de entrada delinforme.

    >aria&les! >aria&les 9ue se usarn durante la generacin

    del informe. A partir de los componentes dados de alta en esta (istaH

    se podrn rellenar las estructuras de datos del informe.

    irt! 'ditor de informes

    'di d i f

  • 7/21/2019 CursoJ2EE_2014

    99/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    'ditor de informes

    >ista encargada de permitirnos dise#ar el informe.

    "ermite el dise#o (isual o directamente so&recdigo.

    "ose una (ista Master "ageM para de

  • 7/21/2019 CursoJ2EE_2014

    100/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    r&ol de elementos

    A#ade a la informacin del r&ol de orgenes dedatos la estructura del informe.

    uestra de una manera clara y ordenada cmo se

    MpintanM los componentes del informe. 'sta&lece las dependencias entre elementos.

    7os permite (isuali;ar los scripts o li&reras a#adidasal informe.

    irt! 'ditor de informes

    " i d d d l l t

  • 7/21/2019 CursoJ2EE_2014

    101/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    "ropiedades de los elementos

    'sta (ista permite a:ustar parmetros de cada uno delos elementos del informe.

    7os permite asignar componentes gr

  • 7/21/2019 CursoJ2EE_2014

    102/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    Componente de ATICA para la generacin de informes irt.

    'pone dos interfaces!

    Informes EE

    Informes Q-

    Am&as soportan paso de parmetros al ser(idor. -os informes EE de(uel(en el informe de dos maneras!

    =@-

    Array &ytes.

    -os informes Q- slo de(uel(en el informe como Array de&ytes.

    irt=

    -a generacin de informes Q- puede de(ol(er dos

  • 7/21/2019 CursoJ2EE_2014

    103/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    -a generacin de informes Q- puede de(ol(er dosposi&les resultados!

    "E$

    Q- *multi No:a/

    "ermite depurar fcilmente con oap=I lageneracin de informes desde un cliente.

    Importante con

  • 7/21/2019 CursoJ2EE_2014

    104/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    +aciendo uso del editor de informet irt reali;ar eldise#o de un informe acorde la plantillaproporcionada.

    =sar el

  • 7/21/2019 CursoJ2EE_2014

    105/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    "asos a seguir!

    Crear un proyecto irt y un

  • 7/21/2019 CursoJ2EE_2014

    106/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    "asos a seguir!

    Crear rid para contener el teto necesario.

    Insertar gr

  • 7/21/2019 CursoJ2EE_2014

    107/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    $unde%e& es un frame%or compuesto por uncon:unto de tecnologas 9ue persigue facilitar eldesarrollo de aplicaciones %e&.

    "ro(ee de los mecanismos necesarios para a&arcar

    cual9uier proyecto %e& *')H ?e&er(icesH )$J/ "ermite crear componentes gen5ricos para uso

    entre grupos de tra&a:o.

    Coordina todas las li&reras mediante a(en

    Naciendo uso de los repositorios disponi&les.

  • 7/21/2019 CursoJ2EE_2014

    108/108

    2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

    racias por (uestra atencin

    3Alguna pregunta6