13 Charla Juguy Moove it 1
Ing. Ariel Ludueña – ariel.luduena@moove-it.com
Ing. Martín Cabrera - martin.cabrera@moove-it.com
JUGUY – OpenUY ‘08
Segundo evento del grupo junto con el
UYLUG y el apoyo de la IMM
www.openuy.org
Están todos invitados a participar y colaborar
en la organización y armado del evento !!!
Sobre nosotros …
Ing. Martín Cabrera
Fundador Juguy
Director y Consultor de moove-iTwww.linkedin.com/in/martincabrera
Lic. Ariel Ludueña
Miembro del Juguy
Director y Gerente de Investigación & Desarrollo de moove-iT
www.linkedin.com/in/luduenaariel
Experiencia docente en Java y Java EE
Desarrollamos en JBoss Seam !!
Objetivos de la charla
Introducir en las herramientas de JBoss
Introducir en el desarrollo de aplicaciones
utilizando JBoss Seam
Objetivo secundario …
“Demostrarque con JEE se pueden hacer
aplicaciones con alto nivel de productividad.
(en serio :)”
De que vamos a hablar
Introducción a Java EE
Introducción a frameworks de uso general en
Java EE
Introducción a JBoss Seam
Caso práctico con Seam
Requerimientos
Arquitectura general
Conclusiones
Arquitectura Java EE
http://java.sun.com/javaee/5/docs/tutorial/doc/bnacj.html
APIs más relevantes
EnterpriseJava Bean (EJB)
Java Persistence API (JPA)
Java Server Faces (JSF)
Java Authentication and Authorization Services
(JAAS)
Java Naming And Directoriy Interface (JNDI)
Java Database Connectivity API (JDBC)
Otros:
JCA, SAAJ, JAXB, JMS, JMX, JSP, Servlet, JSTL, Java
Mail, JAF, JAXP, JAX-WS, JAXB, JAXR, StAX, SAX, etc.
Etc.
Cadena de producción
(esta imagen cumplió varios años …)
Aplicación Java EEde ejemplo
Facelets + JSF + EJB + JPA
Problemas típicos …
Complejidad en la arquitectura
Tengo 2,3,4 o “n” formas de hacer las cosas
Soluciones “puristas”
Soluciones terroristas
Soluciones que cumplen con el objetivo
Asociar a Java con desarrollos complicados
Complicar el diseño por parte de los arquitectos
Elegir entre los 1000 frameworks existentes
Development … IDEs, Maven, Ant, SVN, CVSDeployment
Elegir entre los 100 Application Servers
El que no tuvo problemas que levante la mano !
Proyectos de Jboss
http://jboss.org/projects
Respuesta a nuestras plegarias … JBoss Seam
Application Framework para aplicaciones
Java EE
Integra:
Asynchronous JavaScript and XML (AJAX)
Java Server Faces (JSF)
EJB 3
JBPM
Principios de JBoss Seam
“Single Tier” … ¿porqué no?
No hay distinciones decapas (negocio, presentación,
componentes). Nosotros definimos la arquitectura !
Integración de EJB 3 con JSF
Java EE no provee una forma standard de integrarlos
Con Seam
Todo puede ser un EJB
Todo NO puede ser un EJB.
Integración con AJAX
Icefaces o Richfaces (default)
Provee manejo de remoting desde código Java Script
Principios de JBoss Seam
Integración con procesos de negocio (JBPM)Personalmente creo que gran parte de los sistemas que
desarrollamos son procesos (simples o complejos)
Manejo de estados (contextos)
Ariel … toda tuya !
Bijection
Asignar una variable a un contexto (en las dos
direcciones)
Menos XML
Seam extiende las anotaciones de EJB 3 con manejo de
estado y contextos declarativos
Integración con testing
¿Porque Seam?
Si quedan dudas …
porque en breve setransformará en especificación
Web Beans
Seam-gem … generador de código
A partir de entidades anotadas
A partir de la Base de datos
Genera páginas, clases Home y List por entidad
Jboss Tools - Plugins para eclipse
Visor de JSF
Crear proyectos Seam (EAR o WAR)
Propone una arquitectura y un conjunto de tecnologías: Richfaces y
Facelets
Seam – “Contextual Components”
Seam – “Contextual Components”Temas importantes. (no se duerman)
Contextos
Cuales son y para que sirven?
Business Context!
Rápida explicación de JBPM
Componentes Seam
Quienes pueden ser y como se identifican.
Colocar y obtener componentes de los contextos
Por medio de annotations con Bijection (Injection +
Outjection)
Programáticamente
Contextos JEE
Application
Session
Request
Page (JSP)
Pregunta:
Estos contextos son...
Regístrate para leer el documento completo.