seminario de programación java, con apache maven, j2ee, jpa, primefaces
DESCRIPTION
En este seminario, se expondrán herramientas de desarrollo utilizadas a nivel empresarial, utilizando herramientas de alta calidad permitiendo el trabajo multicapa. Esta presentación fue socialzada en la universidad colegio mayor del cauca, para los estudiantes de ingeniería y desarrollo de softwareTRANSCRIPT
![Page 1: Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces](https://reader031.vdocuments.co/reader031/viewer/2022020717/548c49b4b47959f2248b46f2/html5/thumbnails/1.jpg)
INSTITUCIÓN UNIVERSITARIA COLEGIO MAYOR DEL CAUCA
FACULTAD DE INGENIERÍA
ESTUDIANTES
EHYVARTH ALEJANDRO BOLAÑOS USSA
DANNY MAURICIO MEJÍA ERAZO
![Page 2: Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces](https://reader031.vdocuments.co/reader031/viewer/2022020717/548c49b4b47959f2248b46f2/html5/thumbnails/2.jpg)
Seminario de programación para la creación de aplicaciones web empresariales con la utilización de Apache Maven, JBOSS7, Primefaces, Ejb, JPA y J2EE,
aplicado a un caso de estudio y apoyados en la norma IEEE 830
![Page 3: Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces](https://reader031.vdocuments.co/reader031/viewer/2022020717/548c49b4b47959f2248b46f2/html5/thumbnails/3.jpg)
¿Por qué Java?
• Java es la base de casi todos los tipos de aplicaciones en red y el estándar global para el desarrollo y suministro de aplicaciones móviles, juegos, contenido basado en web y software de empresa.
• Existen más de 9 millones de desarrolladores en todo el mundo, Java permite desarrollar y desplegar de un modo eficiente interesantes aplicaciones y servicios.
• Contiene un conjunto integral de herramientas, un ecosistema maduro y un sólido rendimiento.
• Java ofrece portabilidad de aplicaciones incluso entre los entornos informáticos más dispares.
![Page 4: Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces](https://reader031.vdocuments.co/reader031/viewer/2022020717/548c49b4b47959f2248b46f2/html5/thumbnails/4.jpg)
¿Qué es J2EE o JEE?
• J2EE (Java Platform, Enterprise Edition) también conocido como Javaempresarial, es una plataforma de programación que hace parte dela plataforma java, en el cual se crean, se desarrollan, y se ejecutanaplicaciones del lenguaje de programación Java. Permitiendo ademásla creación de aplicaciones con arquitectura multicapas o N capas,ejecutándose además en un servidor de aplicaciones.
![Page 5: Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces](https://reader031.vdocuments.co/reader031/viewer/2022020717/548c49b4b47959f2248b46f2/html5/thumbnails/5.jpg)
Aplicaciones hecha en J2EE
![Page 6: Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces](https://reader031.vdocuments.co/reader031/viewer/2022020717/548c49b4b47959f2248b46f2/html5/thumbnails/6.jpg)
Arquitectura N Capas J2EE
Entorno del Cliente
Aplicación Cliente
Cliente Web
Capa Cliente
EJB
EJBJSP
Servlets
Capa Web Capa de Negocio
Base de Datos
Base de Datos
Capa de Datos
Servidor de Bases de datos
![Page 7: Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces](https://reader031.vdocuments.co/reader031/viewer/2022020717/548c49b4b47959f2248b46f2/html5/thumbnails/7.jpg)
Componentes en J2EE
• EJB: (Enterprise Java Beans) Es un Api que hace parte del estándar deconstrucción de las aplicaciones Java empresariales (J2EE). Estoscomponentes deben ejecutarse en contenedores EJBs. Estos facilitanél proceso de construcción de aplicaciones Empresariales.Permitiendo la Escalabilidad, la fiabilidad, y Seguridad.
• Permitien además la portabilidad de las aplicaciones, entre lasdiferentes plataformas. Estos coponentes se ejecutan al lado delservidor y se acceden a ellos a travez de una capa intermedia.
![Page 8: Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces](https://reader031.vdocuments.co/reader031/viewer/2022020717/548c49b4b47959f2248b46f2/html5/thumbnails/8.jpg)
EJB (Enterprise Java Bean)
• Estos nos proveen un modelo simple y altamente reutilizable. Estosse pueden clasificar en tres, Session beans, Message Drive Beans,Entity Beans.
• SessionBeans: Clases que gestionan el flujo de la informacion en elservidor. Existen 2 tipos: Stateful y Stateless.
• Message Drive Beans: Se encargan de la comunicación y transaccionentre los beans entre diferentes procesos.
• Entity Beans: Es una clase que representa a traves de un mapeo, unatabla de base de datos.
![Page 9: Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces](https://reader031.vdocuments.co/reader031/viewer/2022020717/548c49b4b47959f2248b46f2/html5/thumbnails/9.jpg)
• Maven es una herramienta para construcción de proyectos realizadosen Java, con un modelo de configuración sencillo, basados enplantillas XML. Maven utiliza los llamados POM (Project ObjectModel), para mantener la información del proyecto software que seva construir, así como la dependencias hacia otros módulos y demáscomponentes externos que se deseen integrar dentro del proyecto.
![Page 10: Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces](https://reader031.vdocuments.co/reader031/viewer/2022020717/548c49b4b47959f2248b46f2/html5/thumbnails/10.jpg)
Repositorios locales y centrales en Maven
• Una de los comportamientos que tiene Maven, es descargar todassus dependencias de un repositorio central. Por defecto traeconfigurado la siguiente ruta http://repo1.maven.org/maven2 sinembargo se puede tener conexión a otros repositorios. Estasdependencias también son descargadas en un repositorio local, paraasí no estar descargando a cada instante. El repositorio local sealmacena dentro del la carpeta .m2/repository
![Page 11: Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces](https://reader031.vdocuments.co/reader031/viewer/2022020717/548c49b4b47959f2248b46f2/html5/thumbnails/11.jpg)
Control de versionamiento
• Se le llama control de versiones a la gestion y administracion de losdiferentes cambios que se realizan a un recurso o producto.
• Una revision o edicion, es un estado de referencia en el que seencuentra dicho recurso en un momento dado.
• Los llamados sistemas de control de versiones, facilitan laadministracion y el trabajo en equipo ya sea en una arquitecturacentralizada o distribuida.
![Page 12: Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces](https://reader031.vdocuments.co/reader031/viewer/2022020717/548c49b4b47959f2248b46f2/html5/thumbnails/12.jpg)
Herramientas de versionamiento
• Centralizados:
Existe un repositorio central de todo el código, del cual es responsable un único usuario o conjunto de ellos.
• Distribuidos: Cada usuario tiene su propio repositorio. Los distintos repositorios pueden intercambiar y mezclar revisiones entre ellos.
![Page 13: Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces](https://reader031.vdocuments.co/reader031/viewer/2022020717/548c49b4b47959f2248b46f2/html5/thumbnails/13.jpg)
• Es el API desarrollada y utilizada porJ2EE para la persistencia y manejo delos datos. JPA hace parte del estándarEJB3. Este permite que se conserve elparadigma orientado a objetos, debidoa la interacción con bases de datosrelacionales.
Implementaciones:
JPA (Java Persistence API)
![Page 14: Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces](https://reader031.vdocuments.co/reader031/viewer/2022020717/548c49b4b47959f2248b46f2/html5/thumbnails/14.jpg)
JPA
• El mapeo de tablas, es decir la “representación” de tablas enentidades Java se realiza mediante las anotaciones, que se definenen la propia clase.
• Las anotaciones JPA son clasificadas en dos:
@Anotación
Mapeo Físico
Mapeo LógicoDescribe el modelo de objetos,
asociaciones entre clases.@OneToOne, @OneToMany, etc.
Describe los esquemas físicos de bases de datos, tales como: tablas
columnas, indices, secuenciales, etc.@Column, @JoinColumn, @Id
![Page 15: Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces](https://reader031.vdocuments.co/reader031/viewer/2022020717/548c49b4b47959f2248b46f2/html5/thumbnails/15.jpg)
![Page 16: Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces](https://reader031.vdocuments.co/reader031/viewer/2022020717/548c49b4b47959f2248b46f2/html5/thumbnails/16.jpg)
![Page 17: Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces](https://reader031.vdocuments.co/reader031/viewer/2022020717/548c49b4b47959f2248b46f2/html5/thumbnails/17.jpg)
JavaServer Faces (JSF)
• Es un framework para aplicaciones Java EE, que simplifican lacreación de interfaces de usuarios o “Páginas web”. Este se basa enel patrón MVC, permitiendo la comunicación entre la parte gráfica(paginas .xhtml) y el servidor. Se caracteriza por manejar una serie deeventos, validaciones y llamadas al servidor de manera más prácticapara el desarrollador.
![Page 18: Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces](https://reader031.vdocuments.co/reader031/viewer/2022020717/548c49b4b47959f2248b46f2/html5/thumbnails/18.jpg)
JavaServer Faces
• Utiliza paginas JSP (html + xml) con el proposito de crear páginas dinámicas, comportamiento similar a páginas PHP. En la utilización de JSF se trabaja con unas etiquetas únicas para trabajar con los formularios y demás componentes.
• Un conjunto de Apis para representar componentes de una interfaz de usuario y administrar su estado, manejar eventos, validar entrada, definir un esquema de navegación de las páginas y dar soporte para internacionalización y accesibilidad.
• Un conjunto por defecto de componentes para la interfaz de usuario.
• Un modelo de eventos en el lado del servidor.
• Administración de estados.
• Beans.
![Page 19: Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces](https://reader031.vdocuments.co/reader031/viewer/2022020717/548c49b4b47959f2248b46f2/html5/thumbnails/19.jpg)
• PrimeFaces es una librería de componentes utilizados en Java ServerFaces (JSF). Facilitando la creación de aplicaciones web debido a sucantidad de componentes enriquecidos en diferentes tipos defuncionalidades, permitiendo además la integración con otroscomponentes. Estos componentes presentan, funcionalidades, debúsqueda, autocompletar, paneles, debido al soporte integrado quetiene con Ajax. Su sitio oficial es http://primefaces.org/
![Page 20: Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces](https://reader031.vdocuments.co/reader031/viewer/2022020717/548c49b4b47959f2248b46f2/html5/thumbnails/20.jpg)
Ventajas
• Los componentes son amigables alos ojos de los usuarios.Presentando una excelenteresultado de HCI (HumanoComputador)
• Los componentes presentan unfuncionamiento con buenavelocidad.
• Presenta múltiples temas ypermitiendo también lapersonalización de loscomponentes.
Desventajas
• La compatibilidad, entre versiones suele presentar problemas.
![Page 21: Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces](https://reader031.vdocuments.co/reader031/viewer/2022020717/548c49b4b47959f2248b46f2/html5/thumbnails/21.jpg)
Servidores de aplicaciones
Algunos Servidores de aplicaciones
Un servidor de aplicaciones, es unaaplicación que ejecuta ciertasaplicaciones que prestan oproporcionan servicios a lascomputadoras clientes.
Generalmente los servidores deaplicaciones son los encargados degestionar las funcionalidades lógicasde negocio de igual manera elacceso a datos, a las diferentesaplicaciones. Los servidores deaplicaciones son parte de lo que seutiliza en las aplicaciones JavaEE.
![Page 22: Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces](https://reader031.vdocuments.co/reader031/viewer/2022020717/548c49b4b47959f2248b46f2/html5/thumbnails/22.jpg)
• Jboss es un servidor de aplicaciones, creado con Java y utilizado parala aplicaciones J2EE, su utilización es independiente del sistemaOperativo que soporte Maquina virtual de java. Soporta ademásaplicaciones complejas.
• Jboss ofrece una cantidad de servicios, como AOP (Orientado aAspectos), hibernate, Jboss Cache, etc. Además de que surendimiento como servidor de aplicaciones en conjunto con Java esla mejor combinación.
![Page 23: Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces](https://reader031.vdocuments.co/reader031/viewer/2022020717/548c49b4b47959f2248b46f2/html5/thumbnails/23.jpg)
NORMA IEEE 830
• Es un estándar, que permite la Especificación de Requisitos Software.El propósito de la norma es ayudarnos en la elaboración de undocumento, en el cual se evidencie cada uno de los requerimientos.Esta norma, nos ofrece una guía o plantilla para que se llene.
• Esta guía la puede utilizar el cliente, el desarrollador. Siendo de granutilidad ya que sirve para que el cliente describa lo que requiere,rediciendo el esfuerzo en el análisis, diseño y desarrollo.
![Page 24: Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces](https://reader031.vdocuments.co/reader031/viewer/2022020717/548c49b4b47959f2248b46f2/html5/thumbnails/24.jpg)
NORMA IEEE 830
• La norma presenta una serie de puntos que permiten identificar los puntos clave y así realizar un excelente levante de requisitos. Entre los cuales tenemos:
• Dentro de cada item, se debe especificar mediante una plantilla, que permite la descripción, importancia, validez (medible, alcanzable, relevante).
Pueden basarse en esta plantilla http://www.fdi.ucm.es/profesor/gmendez/docs/is0809/ieee830.pdf
1. Restricciones de diseño 2. Requisitos funcionales
3. Requisitos de interfaz 4. Requisitos de calidad
5. Requisitos de evolución 6. Requisitos del proyecto
7. Requisitos de soporte
![Page 25: Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces](https://reader031.vdocuments.co/reader031/viewer/2022020717/548c49b4b47959f2248b46f2/html5/thumbnails/25.jpg)
Caso de estudio
![Page 26: Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces](https://reader031.vdocuments.co/reader031/viewer/2022020717/548c49b4b47959f2248b46f2/html5/thumbnails/26.jpg)
Preguntas ?
![Page 27: Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces](https://reader031.vdocuments.co/reader031/viewer/2022020717/548c49b4b47959f2248b46f2/html5/thumbnails/27.jpg)
Referencias
• http://es.wikipedia.org/wiki/Java_EE
• http://yaqui.mxl.uabc.mx/~larredondo/distribuidas/IntroJ2EE.html
• http://es.wikipedia.org/wiki/Servidor_de_aplicaciones
• http://di002.edv.uniovi.es/~dflanvin/docencia/dasdi/teoria/Transparencias/13.%20Introducci%C3%B3n%20EJBs.pdf
![Page 28: Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces](https://reader031.vdocuments.co/reader031/viewer/2022020717/548c49b4b47959f2248b46f2/html5/thumbnails/28.jpg)
Referencias
• http://es.wikipedia.org/wiki/Maven
• http://www.javahispano.org/storage/contenidos/Tutorial_de_Maven_3_Erick_Camacho.pdf
• http://es.slideshare.net/maxmouse/java-persistence-api-jpa
• http://es.wikipedia.org/wiki/JavaServer_Faces
• http://asteriscus.com/presentacion/presentacion%20A71922.pdf
• http://es.slideshare.net/amerino2010/ieee-830
![Page 29: Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces](https://reader031.vdocuments.co/reader031/viewer/2022020717/548c49b4b47959f2248b46f2/html5/thumbnails/29.jpg)
Gracias!!!