Esta es la presentación que mostré en la 15a. Reunión de la comunidad de sh.org y grails.org.mx
Mostrando brevemente Spring Web Flow 2 y Spring Security 3
Guia Basica para bachillerato de Circuitos Basicos
15a. Reunion de SpringHispano.org y grails.org.mx
1. Spring WebFlow 2
& Spring Security 3
15a. Reunión de SpringHispano.org y grails.org.mx
(sábado 8 de mayo del 2010)
2. Agenda
¿Qué es Spring Web Flow?
Características
¿Cómo implementarlo?
¿Qué es Spring Security?
Características
¿Cómo implementarlo?
Conjuntarlos
3. ¿Qué es Spring Web Flow?
Sub-proyecto de Spring
Es un motor para flujos
Web que se pueden
conectar con
SpringMVC
Es un manera de
reutilizar una secuencia
de vistas relacionadas
Es una manera elegante
de resolver los
problemas de la vista
4. Características
NO es un workflow
Crea aplicaciones web conversacionales
Todos los flujos de captura de datos son candidatos a ser
introducidos a un flujo
Se integra con SpringMVC y JSF
Los flujos son reusables
Binding automático del modelo
Soporta ‘expression language’(OGNL & Unified EL)
Scope Flash
Administración de la persistencia en el flujo
Redirects externos
5. Características(cont.)
Provee un DSL para flujos
Nos permite administrar los ‘scopes’
Manejo de eventos
Definimos reglas de navegación
URL simples y limpias
’s
Validación del modelo(cliente y servidor)
Uso de Ajax para actualizaciones parciales de
página
6. ¿Cómo implementarlo?
Necesitamos:
Java 1.4 +>
Spring 2.5.6 +>
Descargar la distribución correspondiente:
http://www.springsource.org/download
Maven
SVN
Hay que usar Ant para construirlo
9. ¿Qué es un flujo en SWF?
Una instancia que encapsula una secuencia de
pasos que pueden ser ejecutados en diferentes
contextos
Dichos pasos son llamados estados
Típicamente se podría pensar que un estado
es una vista
En los estados ocurren eventos
10. Elementos de un flujo
Section head
Section data(opcional)
Section body
Section footer(opcional)
13. ¿Qué es Spring Security?
Otro subproyecto de
Spring que provee
servicios de seguridad
para las aplicaciones
JEE
Enfatiza su uso en los
proyectos que están
basados en Spring
Permite asegurar
aplicaciones Web y
Servicios de negocio de
manera simple
14. • HTTP BASIC
• HTTP Digest • Java Open Source Single Sign On
(JOSSO) *
• HTTP X.509
• LDAP • OpenNMS Network Management
Platform *
• Basada en formas
• AppFuse *
• OpenID
• AndroMDA *
• JA-SIG Central Authentication
Service • Mule ESB *
• Remote Method Invocation (RMI) • Direct Web Request (DWR) *
and HttpInvoker • Grails *
• "remember-me" Automatico • Tapestry *
• Anonymous • JTrac *
• Run-as • Jasypt *
• Java Authentication and • Roller *
Authorization Service (JAAS)
• Elastic Path *
• JEE container • Atlassian Crowd *
autentication(Container Managed
Authentication) • Sistemas propios
• Kerberos
15. ¿Cómo implementarlo?
Nuestro archivo de configuración xml con el
namespace de SpringSecurity
Un filtro HTTP en web.xml
Si personalizamos nuestra seguridad, debemos
implementar un conjunto de interfaces para
que las reconozca la configuración
16. ¿Cómo implementarlo?
Permite acceder a los objetos usados por
Spring Security de forma más entendible
Podemos usar el namespace de ‘security’ en
lugar de usar ‘beans’
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:security="http://www.springframework.org/schema/security"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-3.0.xsd">
</beans>
<beans:beans xmlns="http://www.springframework.org/schema/security"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-3.0.xsd">
...
</beans:beans>