Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Seam Framework
Seam Framework
JUGUY OpenUY 08
Segundo evento del grupo junto con el
UYLUG y el apoyo de la IMM
www.openuy.org
Estn todos invitados a participar y colaborar
en la organizacin y armado del evento !!!
Sobre nosotros
Ing. Martn Cabrera
Fundador Juguy
Director y Consultor de moove-iT
www.linkedin.com/in/martincabrera
Objetivos de la charla
Introducir en las herramientas de JBoss
Introducir en el desarrollo de aplicaciones
utilizando JBoss Seam
Objetivo secundario
Demostrar que con JEE se pueden hacer
aplicaciones con alto nivel de productividad.
(en serio :)
Conclusiones
Arquitectura Java EE
http://java.sun.com/javaee/5/docs/tutorial/doc/bnacj.html
APIs ms relevantes
Enterprise Java 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 produccin
(esta imagen cumpli varios aos )
Problemas tpicos
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
Proyectos de Jboss
http://jboss.org/projects
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
Porque Seam?
Si quedan dudas
porque en breve se transformar en especificacin
Web Beans
Componentes Seam
Quienes pueden ser y como se identifican.
Contextos JEE
Application
Session
Request
Page (JSP)
Pregunta:
Estos contextos son suficientes?
Contextos en Seam
Application
Business
Session
Conversation
Page
Event
Sirven para algo tantos contextos?
Contextos en Seam
Contextos a analizar
Application
Business
Session
Conversation
Page
Event
Conversation Context
Concepto de unit of work
Problema: Creacin de wizards.
Conversation Context
Problema: Creacin de wizards.
Conversation Context
Problema: Creacin de wizards.
Conversation Context
Problema: Creacin de wizards.
Conversation Context
Problema: Creacin de wizards.
Conversation Context
Cuando se termina el flujo se destruyen las
variables en el contexto
No me tengo que preocupar por nada!
Conversation Context
Como se crea un contexto?
Al llamar a un mtodo. (mtodo anotado con
@Begin)
Al ir a una pgina. (XML de la pgina con <beginconversation join="true"/>)
Conversation Context
Como se crea un contexto?
Al llamar a un mtodo. (mtodo anotado con
@Begin)
Al ir a una pgina. (XML de la pgina con <beginconversation join="true"/>)
Conversation Context
Como se crea un contexto?
Al llamar a un mtodo. (mtodo anotado con @Begin)
Al ir a una pgina. (XML de la pgina con <beginconversation join="true"/>)
Como se destruye?
Al llamar a un mtodo. (mtodo anotado con @End)
Regla de navegacin. (Regla en el XML de la pgina con
<end-conversation/>)
Pinchando un s:link con atributo (propagation=end)
Ejemplos:
Pagina: categoryEdit.xhtml
XML: categoryEdit.page.xml
Ejemplos:
No propagar la conversacin
Business Context
Se almacena el estado de los procesos de
negocio definidos.
Concepto de long running business process
Utiliza JBoss JBPM como motor de workflow.
Componentes Seam
Un componente seam es toda clase anotada
con @Name(nombre_componente)
Los componentes pueden ser:
EJB 3.0 Session Beans (Statefull y Stateless)
EJB 3.0 Entity Beans
MDBs 3.0
POJOs
Bijection
Concepto de Injeccin de dependencias
Variantes en Injection
Variantes en Injection
Alternativa a Injectar
Alternativa programtica.
Seguridad
Componente Identity
Almacena la identidad del usuario.
Esconde la complejidad de la autenticacin y
autorizacin.
3 pasos de autenticacin
Autorizacin
A nivel de componente.
A nivel de pgina.
A nivel de navegacin entre pginas.
JPDL / Pageflow
Stateful
Toma en cuenta el estado para el ruteo
Las reglas son ms complejas pero el cdigo en java es
ms simple
Basta de hablar!
A probar algn ejemplo
www.moove-it.com
www.juguy.org