Documentos de Académico
Documentos de Profesional
Documentos de Cultura
13 Charla Juguy Moove It
13 Charla Juguy Moove It
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
Asociar a Java con desarrollos complicados Complicar el diseo por parte de los arquitectos Elegir entre los 1000 frameworks existentes Development IDEs, Maven, Ant, SVN, CVS Deployment
Elegir entre los 100 Application Servers El que no tuvo problemas que levante la mano !
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.
A partir de la invocacin anterior se crea una instancia de proceso y el contexto asociado. Se ejecuta automticamente la transicin inicial. La primer tarea es creada. El pool de actores asociado la puede ver.
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