Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces

29
INSTITUCIÓN UNIVERSITARIA COLEGIO MAYOR DEL CAUCA FACULTAD DE INGENIERÍA ESTUDIANTES EHYVARTH ALEJANDRO BOLAÑOS USSA DANNY MAURICIO MEJÍA ERAZO

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 software

Transcript of Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces

Page 1: Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces

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

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

¿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

¿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

Aplicaciones hecha en J2EE

Page 6: Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces

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

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

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

• 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

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

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

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

• 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

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
Page 16: Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces
Page 17: Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces

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

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

• 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

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

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

• 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

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

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

Caso de estudio

Page 26: Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces

Preguntas ?

Page 27: Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces

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

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

Gracias!!!