Trabajo Para Revision Programacion IV

download Trabajo Para Revision Programacion IV

of 24

Transcript of Trabajo Para Revision Programacion IV

  • 7/24/2019 Trabajo Para Revision Programacion IV

    1/24

    FACULTAD: INFORMATICA Y CIENCIAS

    APLICADAS

    MATERIA.

    Programacion IV

    TEMA:

    API de persistencia desarrollada para la plataforma Java EE

    CATEDRTICO:

    Ing. Numa Pompilio Suncin Ayala

    SECCIN: 03

    Nombres :Carnet:

    MANUEL DE JESUS HERNANDEZ CRUZ!"#$3!"0#0

    %USTA&O ADOL'O SERRANO A%UILAR

    #("0$00"0#JOR%E LUIS %ONZALEZ ALAS!")*00"0#

    OSCAR ELISEO +ONCE ACOSTA!")$**"0#

  • 7/24/2019 Trabajo Para Revision Programacion IV

    2/24

    JOSHUA RODRI%UEZ HERNANDEZ!"3#))"0##

    SAN SAL&ADOR #0 DE OCTU,RE DEL 0#!

    Contenido

    Introduccion..1

    Objetivos Generales y Especificos...............2

    Java Persistence API........................................................................................................3

    aracter!sticas.................................................................................................................."

    #o ca$pos o propiedades pueden tener asociados los si%uientes tipos Java& 'iposAsociados&.........................................................................................................................(

    )u*les son sus funcionalidades+ y sus principales caracter!sticas,.........................-

    us aracter!sticas&........................................................................................................../

    ............................................................................................................................................/

    )u*les son sus versiones,............................................................................................ /)0$o estos ayudan a los pro%ra$adores, eneficios...............................................

    )En el pa!s son utiliados estos len%uajes y por 4uienes,........................................15

    666.cipsae$presas.net.................................................................................................15

    )e estudia o investi%a sobre este fra$e6or7 en la 8'E,.....................................15

    Java& Grap9ical 8ser Interfaces..............................................................................11

    Introduction to :eb ervices 6it9 Java.................................................................11

    E;8E'A.................................................................................................................12

    onclusiones Generales y

  • 7/24/2019 Trabajo Para Revision Programacion IV

    3/24

    I;';

    Este documento le proporcionara al lector los conceptos bsicos e intermedios del

    framework JPA, definimos primero que es un framework en trminos generales lopodemos definir como un conjunto estandarizado de conceptos, practicas criterios! "ramework en lenguaje de programaci#n lo definimos como unaestructura conceptual tecnol#gica, este se pueden incluir como soporte deprogramas bibliotecas!

    El "ramework JPA es un framework de persistencia! $e define como persistenciaporque puede almacenar datos de una aplicaci#n en un medio f%sico como unabase de datos, un arc&i'o de te(to, etc!

    Este framework lo orientamos al lenguaje de programaci#n JA)A, e(isten 'ariosframeworks para este lenguaje, sin embargo 'amos a &ablar de Ja'a Persistence

    Api por sus siglas JPA, este framework fue desarrollado por ja'a EE! Esteframework maneja datos relacionales en aplicaciones usando la plataforma Ja'aen sus ediciones $tandard Enterprise!

    C#mo funciona el framework JPA, este abstrae de la base de datos brinda unestndar para persistir el dato en ja'a, este framework soluciona el 'ac%o que &aentre utilizar objetos persistirlos en una base de datos relacional!

    1

  • 7/24/2019 Trabajo Para Revision Programacion IV

    4/24

    OJE'I?O

    GE;E

  • 7/24/2019 Trabajo Para Revision Programacion IV

    5/24

    Barco 'e0rico

    Ja'a Persistence AP*

    +s conocida por sus siglas JPA, es la AP* de persistencia desarrollada para laplataforma Ja'a EE un framework del lenguaje de programaci#n que manejadatos relacionales en aplicaciones usando la Plataforma Ja'a en sus ediciones$tandard -Ja'a $E. Enterprise -Ja'a EE.!

    Ja'a Persistence AP* -JPA. proporciona un modelo de persistencia basado enP/J/0s para mapear bases de datos relacionales en Ja'a! El Ja'a Persistence

    AP* fue desarrollado por el grupo de e(pertos de EJ1 2!3 como parte de J$4 553,

    aunque su uso no se limita a los componentes software EJ1! 6ambin puedeutilizarse directamente en aplicaciones web aplicaciones clientes7 incluso fuerade la plataforma Ja'a EE, por ejemplo, en aplicaciones Ja'a $E!

    Proporciona un estndar para gestionar datos relacionales en aplicaciones Ja'a$E o Ja'a EE, de forma que adems se simplifique el desarrollo de la persistenciade datos!

    En su definici#n, &a combinado ideas conceptos de los principales frameworksde persistencia, como 8ibernate, 6oplink J9/, de las 'ersiones anteriores de

    EJ1! 6odos estos cuentan actualmente con una implementaci#n JPA!

    JPA se encarga de mapear una clase -1ean. a una tabla de la base de datos deesta manera solo tenemos que escribir el c#digo de nuestra clase con susatributos mtodos JPA se encarga de realizar la persistencia de los objetos dedic&a clase en la base de datos!

    3

  • 7/24/2019 Trabajo Para Revision Programacion IV

    6/24

    JPA permite la persistencia no solo en bases de datos, sino tambin en otrasformas como arc&i'os de te(to planos (ml!

    Ja'a Platform, Enterprise Edition o Ja'a EE -anteriormente conocido como Ja'a 5Platform, Enterprise Edition o J5EE &asta la 'ersi#n :!;7 traducido informalmente

    como Ja'a Empresarial., es una plataforma de programaci#n parte de laPlataforma Ja'a para desarrollar ejecutar software de aplicaciones en ellenguaje de programaci#n Ja'a! Permite utilizar arquitecturas de < capasdistribuidas se apoa ampliamente en componentes de software modularesejecutndose sobre un ser'idor de aplicaciones!

    =a plataforma Ja'a EE est definida por una especificaci#n! $imilar a otrasespecificaciones del Ja'a Communit Process, Ja'a EE es tambin consideradainformalmente como un estndar debido a que los pro'eedores deben cumplirciertos requisitos de conformidad para declarar que sus productos son conformes

    a Ja'a EE7 estandarizado por 6&e Ja'a Communit Process > JCP!

    Ja'a EE tiene 'arias especificaciones de AP*, tales como J91C, 4+*, e?mail, J+$,$er'icios @eb, +=, etc define c#mo coordinarlos! Ja'a EE tambin configuraalgunas especificaciones Bnicas para Ja'a EE para componentes! Estas incluenEnterprise Ja'a1eans, ser'lets, portlets -siguiendo la especificaci#n de PortletsJa'a., Ja'a$er'er Pages 'arias tecnolog%as de ser'icios web! Ello permite aldesarrollador crear una Aplicaci#n de Empresa portable entre plataformas escalable, a la 'ez que integrable con tecnolog%as anteriores!

    /tros beneficios aadidos son, por ejemplo, que el ser'idor de aplicaciones puedemanejar transacciones, la seguridad, escalabilidad, concurrencia gesti#n de loscomponentes desplegados, significando que los desarrolladores puedenconcentrarse ms en la l#gica de negocio de los componentes en lugar de entareas de mantenimiento de bajo ni'el!

    aracter!sticas

  • 7/24/2019 Trabajo Para Revision Programacion IV

    7/24

    :! Dna entidad es un objeto de dominio de persistencia!

  • 7/24/2019 Trabajo Para Revision Programacion IV

    8/24

    6ipos primiti'os de Ja'a ja'a!lang!$tring /tro tipo de objeto serializable, incluendo @rappers de tipos primiti'os en Ja'a ja'a!mat&!1ig*nteger

    ja'a!mat&!1ig9ecimal ja'a!util!9ate ja'a!util!Calendar ja'a!sql!9ate ja'a!sql!6ime ja'a!sql!6ime$tamp Dser?defined serializable tpes bte 1te c&ar

    C&aracter 6ipos enumerados

    /tras entidades >o colecciones de entidades =as entidades podrn utilizarcampos persistentes o propiedades! $i las anotaciones de mapeo se aplican a lasinstancias de las entidades, la entidad utiliza campos persistentes!En cambio, si seaplican a los mtodos getters de la entidad, se utilizarn propiedades persistentes!

    Aplicaciones Empresariales Ja'a Campos persistentes $i la entidad utiliza campos

    persistentes, los accesos se realizan en tiempo de ejecuci#n!

    Aquellos campos que no tienen anotaciones del tipo ja'a(!persistence!6ransient ono &an sido marcados como Ja'a transitorio sern persistentes para elalmacenamiento de datos! =as anotaciones de mapeo objeto>relaci#n debenaplicarse a los atributos de la instancia! Propiedades persistentes $i la entidadutiliza propiedades persistentes, la entidad debe seguir el mtodo de los con'eniosde componentes Ja'a1eans!

    )u*les son sus funcionalidades+ y sus principalescaracter!sticas,

    8 8;IO;A#I=A=E&

    #

  • 7/24/2019 Trabajo Para Revision Programacion IV

    9/24

    =as AP*s de Ja'a EE incluen 'arias tecnolog%as que e(tienden la funcionalidad delas AP*s base de Ja'a $E!

    ja'a(!ejb

    =a AP* Enterprise Ja'a1eans define un conjunto de AP*s que un contenedor deobjetos distribuidos soportar para suministrar persistencia, 4PCs -usando 4+* o4+*?**/P., control de concurrencia, transacciones control de acceso paraobjetos distribuidos!

    ja'a(!naming

    =os paquetes ja'a(!naming, ja'a(!naming!director, ja'a(!naming!e'ent,ja'a(!naming!ldap ja'a(!naming!spi definen la AP* de Ja'a

  • 7/24/2019 Trabajo Para Revision Programacion IV

    10/24

    Es un framework del lenguaje de programaci#n Ja'a que maneja datos

    relacionales en aplicaciones usando la Plataforma Ja'a en sus ediciones$tandard -Ja'a $E. Enterprise -Ja'a EE.!

    Como nos podemos dar cuenta, el objeti'o principal de esta AP* de

    persistencia es no perder las 'entajas de la orientaci#n a objetos alinteractuar con una base de datos, como s% pasaba con EJ1 5!3, permitirusar objetos regulares -conocidos como P/J/s ? Plain /ld Ja'a /bjects?.!

    )u*les son sus versiones,

    =a especificaci#n Ja'a EE fue desarrollada bajo el J$4 5;; el

    lanzamiento final se &izo el :: de mao de 533F! =a 'ersi#n actual tiene el

    nombre de Ja'a EE F fue lanzada en 533G! -Ja'a EE H, 'ersi#n 53:;.

    )ersi#n :!;7 traducido informalmente como Ja'a Empresarial.

    =a fec&a del lanzamiento final de las especificaciones del JPA :!3 fue el ::

    de mao del 533F! Esta fue parte del Proceso de comunidad Ja'a -Ja'aCommunit Process.!

    =as especificaciones de la 'ersi#n JPA 5!3 fueron lanzadas el :3 de

    diciembre del 533G! +ientras las de la JPA 5!: se lanz# el 55 de Abril del53:2

    )0$o estos ayudan a los pro%ra$adores, eneficios

    %

  • 7/24/2019 Trabajo Para Revision Programacion IV

    11/24

    Es fundamental conocer bien c#mo funcionan las tecnolog%as que se utilizan aque dependiendo de c#mo se realicen las cosas podr afectar directamente alrendimiento de la aplicaci#n! Esto no quiere decir que el uso de JPA seadesaconsejable, sino todo lo contrario, proporciona grandes beneficios como es laindependencia de la base de datos, bajo acoplamiento entre negocio

    persistencia, un desarrollo rpido! Esto permite centrar los esfuerzos enoptimizar las consultas que realmente lo merecen!

    Para obtener el mejor rendimiento de JPA, es importante entender los parmetrosde tunning inclu%dos en la implementaci#n de la JPA! =a configuraci#n de la cac&es un parmetro importante de tunning! Ajustar el pool de cone(iones tambin esimportante para obtener el mejor rendimiento de cualquier implementaci#n de JPA!

    $i se utiliza JPA fuera del contenedor EJ1, la cac& el pool de cone(ionestambin juega un papel importante en el rendimiento, aunque en este caso seconfigura el pool en el fic&ero persistence!(ml!

    8a otros parmetros que pueden impactar en el rendimiento de JPA! Dno es elstatement cac&e! Iste se debe especificar e(pl%citamente para algunas bases dedatos como /racle! Adems, la configuraci#n de la Ja'a )irtual +ac&ine -J)+.

    puede jugar un rol importante en el ajuste de la persistencia! Para tenerinformaci#n detallada del ajuste de la J)+, 'ase el Ja'a 6uning @&ite Paper

    ! !!.sc!s.ca

    )En el pa!s son utiliados estos len%uajes y por 4uienes,

    &

    https://www.google.com.sv/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&cad=rja&uact=8&ved=0CAYQjB1qFQoTCPy-uNrnucgCFcikHgodG78Ijw&url=http%3A%2F%2Fwww.scws.ca%2Fjava-and-j2ee-programming&psig=AFQjCNFZUCfEYzNfsdOmXRsBWZlUUiKz3Q&ust=1444631927453270https://www.google.com.sv/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&cad=rja&uact=8&ved=0CAYQjB1qFQoTCPy-uNrnucgCFcikHgodG78Ijw&url=http%3A%2F%2Fwww.scws.ca%2Fjava-and-j2ee-programming&psig=AFQjCNFZUCfEYzNfsdOmXRsBWZlUUiKz3Q&ust=1444631927453270https://www.google.com.sv/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&cad=rja&uact=8&ved=0CAYQjB1qFQoTCPy-uNrnucgCFcikHgodG78Ijw&url=http%3A%2F%2Fwww.scws.ca%2Fjava-and-j2ee-programming&psig=AFQjCNFZUCfEYzNfsdOmXRsBWZlUUiKz3Q&ust=1444631927453270
  • 7/24/2019 Trabajo Para Revision Programacion IV

    12/24

    En el sal'ador muc&as empresas desarrollan sus tecnolog%as de plataforma webcon otro tipo de lenguaje, entre ellas p&p, C a pesar de que nuestra teolog%a en elpa%s no logrado su maor auge tenemos una &erramienta mu funcional dinmicaque puede llagar &acer un lenguaje muc&o maor que &o en d%a! En nuestro pa%s

    ja'a EE es usada por pocas empresas, organizaciones e instituciones entre una

    de las empresas que busca este tipo de profesionales es K4DP/ C/

  • 7/24/2019 Trabajo Para Revision Programacion IV

    13/24

    JA)A AP* 4E"E4E>www!aprenderaprogramar!com>

    www!ja'a&ispano!org

    &ttps>>es!wikipedia!org>wiki>AP*LJa'a

    &ttps>>unpocodeja'a!wordpress!com>

    www!ja'ame(ico!org

    11

    http://bookboon.com/es/an-introduction-to-java-programming-3-ebookhttp://bookboon.com/es/introduction-to-web-services-with-java-ebookhttp://www.aprenderaprogramar.com/http://www.javahispano.org/https://es.wikipedia.org/wiki/API_Javahttps://unpocodejava.wordpress.com/http://bookboon.com/es/an-introduction-to-java-programming-3-ebookhttp://bookboon.com/es/introduction-to-web-services-with-java-ebookhttp://www.aprenderaprogramar.com/http://www.javahispano.org/https://es.wikipedia.org/wiki/API_Javahttps://unpocodejava.wordpress.com/
  • 7/24/2019 Trabajo Para Revision Programacion IV

    14/24

    12

    E

  • 7/24/2019 Trabajo Para Revision Programacion IV

    15/24

    $#(

    2(

    -.ono.e /ste0 1/e es A+I 0e 2ers3sten.3a 0esarro44a0a 2ara 4a 24ata5orma Ja6a EE7

    SI N)

    13

  • 7/24/2019 Trabajo Para Revision Programacion IV

    16/24

    A

  • 7/24/2019 Trabajo Para Revision Programacion IV

    17/24

    A

  • 7/24/2019 Trabajo Para Revision Programacion IV

    18/24

    Conocer las 'entajas que nos puede traer esta &erramienta es mu importante unsitio ms seguro, dinmico que nos lle'e a mejor desempeo que es lo que sebusca, podemos medir que un cierto porcentaje de las personas encuestadas

    saben sobre las 'entajas que trae esta &erramienta, como sus mtodos,cone(iones a base de datos etc! Aun as% el ni'el de personas que no lo conocenes mu alta!

    #(

    3#(

    -CONOCE USTED SO,RE LOS ,ENE'ICIOS :UE TRAERA LA IM+LEMENTACION JA&A EE7

    SI N)

    A

  • 7/24/2019 Trabajo Para Revision Programacion IV

    19/24

    El conocimiento de la implementaci#n de esta &erramienta ja'a, es saber todos losgrandes beneficios que nos trae, tanto en desarrollo, funcionalidad seguridad, unpoco ms de la mitad de las personas encuestadas saben sobre los grandesbeneficios que nos da!

    #(

    3#(

    USTED COMO IN'ORMATICO -IM+LEMENTARIA ESTE 'RAME;OR< +ARA USO DE UNA EM+RESA7 SI -+OR:UE7

    SI N)

    A

  • 7/24/2019 Trabajo Para Revision Programacion IV

    20/24

    Dna gran parte de las personas encuestadas nos indican que implementar%an esta&erramienta, nos da como idea que la funcionalidad que las personas &anencontrado en esta &erramienta es mu buena adems recomendar%an oimplementar%an el eso de Ja'a EE en las empresas que lo soliciten o aquellas quedesean inno'ar sus sistemas con ms funcionalidad! Aun as% las personas que no

    lo implementar%an nos dan una raz#n por la cual no lo &ar%an!

    1%

  • 7/24/2019 Trabajo Para Revision Programacion IV

    21/24

    C/+E

  • 7/24/2019 Trabajo Para Revision Programacion IV

    22/24

    %1(

    1&(

    -AL%UNA &EZ HA IM+LEMENTADO O UTILIZADO ESTA HERRAMIENTA DE +RO%RAMACION

    SI N)

    A

  • 7/24/2019 Trabajo Para Revision Programacion IV

    23/24

    #%(

    32(

    2ROMEDIO DE %ENERO

    +AS,-IN) /E+ENIN)

    A

  • 7/24/2019 Trabajo Para Revision Programacion IV

    24/24

    onclusiones Generales

    =a AP* de JA)A ofrece 'entajas significantes no solo en lo que se refiere a unlenguaje comercial si no que tambin tcnico! Nue permite a las personas quequieran aprender a usarlo puedan e(plotar al :33M sin necesidad de tenerconocimientos a'anzados de programaci#n es una buena &erramienta ademsde ser una de las mas conocidas usadas en la actualidad!

    Kracias a la fama del lenguaje podemos encontrar auda en 'arias fuentes quenos auden a introducirnos poder dominar dic&o lenguaje!

    Aunque para 'arias personas se nos facilite tenga un buen ni'el de seguridad a

    la &ora de implementarlo por ejemplo en 'arias empresas deciden usar otros perosigue siendo una buena opci#n!