Universidad de Palermo Facu Fa cult ltad ad de In Inge geni nier ería ía > IT IT Lab Lab > AI AI Grou Group p
Introducci ón a Spring Framework versión 1.1 Martí n Agüero
[email protected]
Buenos Aires, Argentina Octubre de 2007
Agenda Contenidos parte I:
¿Qué Qué es Sp Spri ring ng? ?
Introducción
Arquitectura
Características clave
Ejemplos: IOC, AOP, Hibernate, Web services, Seguridad
Agenda Contenidos parte II:
Integra Int egració ción n con con OpenSy OpenSympho mphony ny Quartz Quartz
Integra Int egració ción n con JavaSer JavaServer ver Faces Faces
Agenda Un archivo spring-training.rar acompaña al presente y contiene paquetes con el código fuente de los ejemplos presentados a continuación. Para más información consultar el archivo README.txt ubicado dentro del rar.
Spri Sp ring ng Fr Fram amew ewor ork: k:
Parte I
¿Qué es Spring?
Un framework contenedor liviano basado en la técnica Inversión de Control (IoC) y una implementación de desarrollo según el paradigma de Orientación a Aspectos (AOP)
Spri Sp ring ng Fr Fram amew ewor ork: k: introducción • Framework: porque define la forma de desarrollar aplicaciones J2EE, dando soporte y simplificando complejidad propia del software corporativo. • Inversión de Control (IoC): promueve el bajo acoplamiento a partir de la inyección de dependencias (DI) entre los objetos (relaciones). • Orientación a Aspectos (AOP): presenta una estructura simplificada para el desarrollo y utilización de aspect aspectos os (módulo (módulos s multip multiple le object object crosscu crosscutti tting). ng).
Spri Sp ring ng Fr Fram amew ewor ork: k: arquitectura
Spri Sp ring ng Fr Fram amew ewor ork: k: arquitectura (cont.) DAO
accesos JDBC con manejo de transacciones (desde el módulo AOP).
ORM
integración con Hibernate, JDO, etc.
JEE
acceso e interacción con servicios enterprise.
Web
provee un contexto apropiado para el desarrollo de aplicacion aplicaciones es web web e integr integración ación con otros otros frame framewor works ks (Struts, JSF, Tapestry, etc).
Spri Sp ring ng Fr Fram amew ewor ork: k: características clave POJO: (Plain (Plain Old Java Object) Object) reval revalora ora la simplic simplicidad idad de las las clases clases
Java aportando manejo de transacciones de forma no intrusiva. XML: configuración basada en archivos XML. Seguridad: como un requerimiento no funcional implementado como
un aspecto aspecto (AOP) (AOP) a través través del framework framework Acegi. Acegi. simplificado, acceso y publicación publicación de de web services. Remoting: RMI simplificado, testing específic específico o para compo component nentes es Testing: provee un package de testing del framew framework ork e integrad integrado o con JUnit. JUnit.
Spri Sp ring ng Fr Fram amew ewor ork: k: ejemplos 1. IoC: desacoplando clases cableando (wiring) beans. 2. AOP: interceptando métodos con aspectos (aspects). 3. Hibernate: gestión integrada de transacciones y recursos. configuración ción y consumo consumo de un web web service. service. 4. Web services: configura
5. Seguridad: control y gestión de seguridad con Acegi.
Spri Sp ring ng Fr Fram amew ewor ork: k: IoC - DI 1. IoC: desacoplando clases cableando (wiring) beans. 2. AOP: interceptando métodos con aspectos (aspects). 3. Hibernate: gestión integrada de transacciones y recursos. configura guración ción y consu consumo mo de un web web servi service. ce. 4. Web services: confi
5. Seguridad: control y gestión de seguridad con Acegi.
Spri Sp ring ng Fr Fram amew ewor ork: k: IoC - DI •
Dependencia típica entre objetos KnighOfTheRoundtable
HolyGrailQuest
RescueDamselQuest
new() new HolyGr HolyGrail ailQu Quest est() () new RescueDa RescueDamselQ mselQuest() uest()
x alto acoplamiento acoplamiento x difícil testeo unitario
Spri Sp ring ng Fr Fram amew ewor ork: k: IoC - DI •
Usan Usando do Depen Depende denc ncy y Inje Inject ctio ion n (DI) (DI)// Invers Inversio ion n of Cont Contro roll (IoC) (IoC) HolyGrailQuest
RescueDamselQuest
KnighOfTheRoundtable new()
new() new()
set set Que uest st() () set set Ques Quest() t()
colaboración entre objetos centralizada relación entre objetos delegada
Spri Sp ring ng Fr Fram amew ewor ork: k: IoC - DI •
Cableado (wiring) de objetos
define el bean quest define el bean knight set set de dell nomb nombre re de de knight desde el constructor set set de dell bea bean n quest al bean knight
(inyección de dependencia)
Spri Sp ring ng Fr Fram amew ewor ork: k: AOP 1. IoC: desacoplando clases cableando (wiring) beans. 2. AOP: interceptando métodos con aspectos (aspects). 3. Hibernate: gestión integrada de transacciones y recursos. configura guración ción y consu consumo mo de un web web Servi Service. ce. 4. Web services: confi
5. Seguridad: control y gestión de seguridad con Acegi.
Spri Sp ring ng Fr Fram amew ewor ork: k: AOP •
Típicas invocaciones a funcionalidades system-wide system-wide
Stude Student nt Servi Service ce
Logging Module
Cours Course e Servi Service ce Instructor Service
Security Module
Billin Billing g Serv Service ice Conten Contentt Service Service
Transaction Manager
Spri Sp ring ng Fr Fram amew ewor ork: k: AOP •
Usando AOP Securi Security ty Module Module T r a n s a c t i o n M a n a g e r
Student Student Service Service
Cours Course e Servi Service ce
Billin Billing g Serv Service ice
Instructor Service
Content Content Service Service
Logg Loggin ing g Modu Module le
Spri Sp ring ng Fr Fram amew ewor ork: k: AOP •
Dependencia típica entre objetos Knight
Minstrel
new() comp compos ose e ()
x baja reusabilidad x duplicación de código
Minstel: trovador/poeta (un logger)
Spri Sp ring ng Fr Fram amew ewor ork: k: AOP •
Objeto Objeto Minstre Minstrell AspectAspect-Orient Oriented ed
Minstrel Knight
separación de funcionalidad por módulos servicios aplicados de forma no intrusiva
Spri Sp ring ng Fr Fram amew ewor ork: k: AOP •
Minstrel Minstrel AspectAspect-Orien Oriented ted
método a ejecutar antes de la invocación logger logger de la clase clase a interceptar
Spri Sp ring ng Fr Fram amew ewor ork: k: AOP •
Weaving Weaving (aplicar (aplicar un advice) advice) MinistrelA MinistrelAdvice dvice a K Knight night
define def ine el el bean bean minstr minstrel el
intercepta invocaciones al objeto knight mins minstr trel el prim primer ero o ejecuta su método luego knightTarget ejecuta su método
Spri Sp ring ng Fr Fram amew ewor ork: k: Hibernate 1. IoC: desacoplando clases cableando (wiring) beans. 2. AOP: interceptando métodos con aspectos (aspects). 3. Hibernate: gestión integrada de transacciones y recursos. configura guración ción y consu consumo mo de un web web servi service. ce. 4. Web services: confi
5. Seguridad: control y gestión de seguridad con Acegi.
Spri Sp ring ng Fr Fram amew ewor ork: k: Hibernate gestión y definición de recursos centralizada desde Spring. conversión de excepciones excepciones propietarias. propietarias. acceso a métodos DAO desde HibernateTemplate.
demarcado programático de transacciones. transacciones.
demarcado declarativo de transacciones.
Spri Sp ring ng Fr Fram amew ewor ork: k: Hibernate definición de recursos centralizada desde Spring Spring (wiring): gestión y definición
Spri Sp ring ng Fr Fram amew ewor ork: k: Hibernate conversión de excepciones propietarias a: DataAccessException
DataAccessResourceFailureException
UncategorizedDataAccessException
CleanupFailureDataAccessException
DataIntegrityViolationException
InvalidDataAccessApiUsageException DataRetrievalFailureException
DeadLockLoserDataAccessException
OptimisticLockingFailureException
InvalidDataAccessResourceUsageException
IncorrectUpdateSemanticsDataException
ObjectRetrievalFailureException
TypemismatchDataAccessException
ObjectOptimisticLockingFailureException
Spri Sp ring ng Fr Fram amew ewor ork: k: Hibernate acceso a métodos DAO desde HibernateTemplate:
Es la versió versión n en Sprin Spring g de la interf interface ace Session de Hibernate.
Garantiza Garantiza que las intantan intantancias cias de Session sean abiertas, cerradas correctamente correctamente y participen automáticamente automáticamente en transacciones. transacciones.
Instancias de HibernateTemplate son threadthread-safe safe y reusa reusables. bles.
Convierte las checked HibernateExceptions a unchecked DataAccessExceptions (excepciones traducidas por Spring).
Spri Sp ring ng Fr Fram amew ewor ork: k: Hibernate acceso a métodos DAO desde HibernateTemplate:
set Sessio SessionFa nFacto ctory ry
uso de método find()
Spri Sp ring ng Fr Fram amew ewor ork: k: Hibernate demarcado programático de transacciones
Requiere una instancia de PlatformTransactionManager .
set de myTxM myTxMana anager ger y pro produ duct ctDa Dao o al servicio
Spri Sp ring ng Fr Fram amew ewor ork: k: Hibernate demarcado programático de transacciones
set set de myTxM myTxMana anager ger y productDao
en contexto transaccional
Spri Sp ring ng Fr Fram amew ewor ork: k: Hibernate transacciones demarcado declarativo de transacciones
Permite reemplazar demarcaciones explícitas en el código Java interceptando métodos con AOP.
Evita repeticiones de código transaccional en servicios de negocio.
Niveles de transaccionab transaccionabilidad ilidad (ej: comportamiento comportamiento de la propagación, propagación, niveles de aislamiento) pueden ser configurados desde un archivo externo sin afectar la implementación. implementación.
Spri Sp ring ng Fr Fram amew ewor ork: k: Hibernate transacciones demarcado declarativo de transacciones
método a interceptar
configura niveles de transaccionabilidad
Spri Sp ring ng Fr Fram amew ewor ork: k: Hibernate transacciones demarcado declarativo de transacciones
interceptor de transacciones
Spri Sp ring ng Fr Fram amew ewor ork: k: Hibernate transacciones demarcado declarativo de transacciones
no hay código transaccional
iceImpl.java>
Spri Sp ring ng Fr Fram amew ewor ork: k: web services 1. IoC: desacoplando clases cableando (wiring) beans. 2. AOP: interceptando métodos con aspectos (aspects). 3. Hibernate: gestión integrada de transacciones y recursos. configuración ción y consumo consumo de un web web service. service. 4. Web services: configura
5. Seguridad: control y gestión de seguridad con Acegi.
Spri Sp ring ng Fr Fram amew ewor ork: k: web services
Spring Spri ng expo expone ne web web serv servic ices es con con JAXJAX-RP RPC C (Jav (Java a APIs APIs for for XMLXML-ba base sed d remot remote e proce procedur dure e call). call).
Accede Accede a web web services services sin acoplar acoplar código código fuente, fuente, es es decir decir configur configurados ados porr wirin po wiring g (xml (xml). ).
En combinación combinación con Apache Apache Axis, Axis, es posible posible generar automáticamente automáticamente código java (WSDL2Java (WSDL2Java)) a partir de un archivo WSDL (Web Service Descri Descripti ption on La Langu nguag age). e).
Configurando Configurando una tarea tarea Apache Apache Ant con parámetros parámetros específicos, específicos, Axis puede generar automáticamente el código Java para consumir un web servic service e de desd sde e Spring Spring..
Spri Sp ring ng Fr Fram amew ewor ork: k: web services configuración ción y consum consumo o de un web web service service configura dirección al documento wsdl define define la la interfac interface e que el cliente usa para acceder al servicio
valores utilizados por nameSe nameServi rvice ce para para construir una QName Spring permite permite utilizar utilizar una ServiceFactory externa, para este caso de Apache Axis
Spri Sp ring ng Fr Fram amew ewor ork: k: web services configuración ción y consum consumo o de un web web service service configura
Interfac Interface e que el client cliente e define define para utilizar utilizar el web service service
a>
Uso del Web Web Service Service desde desde un contexto contexto Spring
Spri Sp ring ng Fr Fram amew ewor ork: k: seguridad 1. IoC: desacoplando clases cableando (wiring) beans. 2. AOP: interceptando métodos con aspectos (aspects). 3. Hibernate: gestión integrada de transacciones y recursos. 4. Web Services: configuración y consumo de un Web Service. 5. Seguridad: control y gestión de seguridad con Acegi.
Spri Sp ring ng Fr Fram amew ewor ork: k: seguridad Aceg Acegii Secu Securi rity ty Syst System em:: aplicaciones basadas basadas en Spring Spring Framework. Framework. seguridad declarativa para aplicaciones proyecto cto de Sp Sprin ring g Frame Framewor work. k. sub proye provee una una colección de beans beans configurables configurables en el contexto Spring. Spring. basado basado en en DI-IoC DI-IoC (depen (dependen dency cy inject injection ion)) y AOP. AOP.
autoriza accesos accesos a aplicaciones web con filtros. filtros. autentifica y autoriza
Spri Sp ring ng Fr Fram amew ewor ork: k: seguridad Aceg Acegii Secu Securit rity y Syst System em:: Elementos Elementos fundament fundamentales ales de Acegi Framework Framework Security Security Intercepto Interceptorr
Authentication Manager Determina identidad del usuario por principal (username) y credentials (password).
autenticación
Access Decision Manager Administra accesos a recursos restringidos. Permite acceder según la información de autenticación y los atributos asociados al recurso.
autorización
Run-As Manager Autoriza acceso a subrec subrecurs ursos os según según niveles determinados por autenticación y credenciales.
re-autenticación
Spri Sp ring ng Fr Fram amew ewor ork: k: seguridad Aceg Acegii Secu Securit rity y Syst System em:: Elementos Elementos fundament fundamentales ales de Acegi Framework Framework Security Security Intercepto Interceptorr
Authentication Manager Determina identidad del usuario por principal (username) y credentials (password).
autenticación
Access Decision Manager Administra accesos a recursos restringidos. Permite acceder según la información de autenticación y los atributos asociados al recurso.
autorización
Run-As Manager Autoriza acceso a subrec subrecurs ursos os según según niveles determinados por autenticación y credenciales.
re-autenticación
Spri Sp ring ng Fr Fram amew ewor ork: k: seguridad Authentication Manager
ProviderManager es la implementación de AutenticationManager
que delega la responsabilidad de autenticar en uno o más proveedores de autenticación. Provid Provider er Manage Managerr
PasswordDao Authentication Provider LDAP
Dao Authen Authentica tication tion Provider Obtiene información del usuario de la base de datos, incluyendo incluyendo username username y passwo password. rd.
Remote Authentication Provider Jaas Jaas Authenti Authenticat cation ion Provider
Cas Authen Authentica tication tion Provider Single-Sig Single-Sign-On n-On con Yale Yale CAS (Central Authentica Authentication tion Service) Service)
Spri Sp ring ng Fr Fram amew ewor ork: k: seguridad Authentication Manager
PasswordDaoAuthenticationProvider es la implementación
específica para autenticar contra contra un servidor LDAP. Delega en LdapPasswordAuthenticationDao la verificación de credenciales.
Spri Sp ring ng Fr Fram amew ewor ork: k: seguridad Authentication Manager
El bean bean de LdapPasswordAuthenticationDao es cableado a un bean PasswordDaoAuthenticationProvider.
Wiring de PasswordDaoAuthenticationPro PasswordDaoAuthenticationProvider vider
Interface Interface que debe debe implemen implementar tar
Spri Sp ring ng Fr Fram amew ewor ork: k: seguridad Aceg Acegii Secu Securit rity y Syst System em:: Elementos Elementos fundament fundamentales ales de Acegi Framework Framework Security Security Intercepto Interceptorr
Authentication Manager Determina identidad del usuario por principal (username) y credentials (password).
autenticación
Access Decision Manager Administra accesos a recursos restringidos. Permite acceder según la información de autenticación y los atributos asociados al recurso.
autorización
Run-As Manager Autoriza acceso a subrec subrecurs ursos os según según niveles determinados por autenticación y credenciales.
re-autenticación
Spri Sp ring ng Fr Fram amew ewor ork: k: seguridad Access Decision Manager
Es el responsable de decidir si el usuario autenticado autenticado por Authentication Manager tiene los privilegios para acceder a un recurso restringido.
votan y deciden si si un usuario está autorizado a acceder acceder a Un conjunto de objetos votan un recurso, las decisiones pueden pueden ser: ACCESS_GRANTED
El votante desea otorgar acceso al recurso restringido.
ACCESS_DENIED
El votante desea denegar el acceso al recurso restringido.
ACCESS_ABSTAIN
El votante es indiferente.
El objeto manager evalúa los votos y determina si las credenciales son suficientes para acceder, según el siguiente criterio: Access Access Decision Decision Manager: Manager:
Cómo decide:
AffirmativeBased
Permite acceso si al menos un votante otorga acceso.
ConsensusBased
Permite acceso si todos los votantes otorgan acceso.
UnanimousBased
Permite acceso sólo si no hubo votantes que denieguen acceso.
Spri Sp ring ng Fr Fram amew ewor ork: k: seguridad Aceg Acegii Secu Securit rity y Syst System em:: Elementos Elementos fundament fundamentales ales de Acegi Framework Framework Security Security Intercepto Interceptorr
Authentication Manager Determina identidad del usuario por principal (username) y credentials (password).
autenticación
Access Decision Manager Administra accesos a recursos restringidos. Permite acceder según la información de autenticación y los atributos asociados al recurso.
autorización
Run-As Manager Autoriza acceso a subrec subrecurs ursos os según según niveles determinados por autenticación y credenciales.
re-autenticación
Spri Sp ring ng Fr Fram amew ewor ork: k: seguridad Run-As Manager
Autoriza acceso acceso a subrecursos subrecursos según niveles niveles determinados determinados por autenticación y credenciales.
AbstractSecurityInterceptor puede reemplazar de forma temporal
el objeto de autenticación siempre que haya sido procesado exitosamente por el AuthenticationManager y por AccessDecisionManager.
Permite a un usuario hacer llamadas a objetos que requieran diferentes credenciales de autenticación y autorización.
Esta característica es particularmente útil para llamar Web Services remotos (según documentación de referencia del framework).
objeto Authentication reemplazante
objeto Authentication existente
Spri Sp ring ng Fr Fram amew ewor ork: k: seguridad Aceg Acegii Secu Securi rity ty Syst System em:: seguridad declarativa para aplicaciones aplicaciones basadas basadas en Spring Spring Framewor Framework. k. sub pro proye yecto cto de Sp Sprin ring g Fr Frame amewor work. k.
una colección de beans beans configurabl configurables es en el contexto Spring. Spring. provee una basado ado en en DI-IoC DI-IoC (de (depen penden dency cy inj inject ection ion)) y AOP. AOP. bas autoriza accesos accesos a aplicaciones web con filtros. filtros. autentifica y autoriza
Spri Sp ring ng Fr Fram amew ewor ork: k: seguridad
autentifica y autoriza accesos a aplicaciones web con filtros: filtros:
Filtros interceptan interceptan request request entrantes y aplican procesos procesos de seguridad antes de ser evaluados por la aplicación.
Acegi provee un conjunto de de filtros específicos específicos a diferentes diferentes etapas del proceso request.
Interceptan las solicitudes y reencaminan reencaminan el flujo de la aplicación a los correspondientes Authentication y Access Decision Managers .
Spri Sp ring ng Fr Fram amew ewor ork: k: seguridad
autentifica y autoriza accesos a aplicaciones web con filtros: filtros: Request
Channel-Pro Channel-Process cessing ing Filter Filter Authentication-Processing Filter Integr Integrati ation on Filter Filter
Securi Security ty Enforce Enforcemen mentt Filter Filter
Recurso Web Seguro
Garantiza que un request sea transmitido por un canal canal seguro (ej: https) Acepta request de autenticación y reencamina las solicitudes solicitudes al Authentica Authentication tion Man Manager ager.. Almacena y gestiona la información de autenticación del usuario.
Garantiza que el usuario ha sido autenticado y cumple con la autorización para para acceder a un recurso web restringido.
Spri Sp ring ng Fr Fram amew ewor ork: k:
Fin de Parte I
Agenda Contenidos parte II:
Integra Int egració ción n con con OpenSy OpenSympho mphony ny Quartz Quartz
Integra Int egració ción n con JavaSer JavaServer ver Faces Faces
Spri Sp ring ng Fr Fram amew ewor ork: k:
Parte II
Spri Sp ring ng Fr Fram amew ewor ork: k: Parte II 6.
schedu duliling ng jobs jobs con con Qua Quart rtz z de desd sde e Spr Sprin ing. g. Quartz: sche
7.
integraci ación ón con JavaServ JavaServer er Faces. Faces. JSF: integr
Spri Sp ring ng Fr Fram amew ewor ork: k: scheduling 6.
schedu duliling ng jobs jobs con con Qua Quart rtz z de desd sde e Spr Sprin ing. g. Quartz: sche
7.
integr egraci ación ón con JavaServ JavaServer er Fac Faces. es. JSF: int
Spri Sp ring ng Fr Fram amew ewor ork: k: scheduling •
Programar trabajos (jobs) de ejecución automática ante eventos o por calendario:
org.quartz.Job org.quartz.Job
MyJob
configuración de trabajos con la API de Open OpenSymp Symphony hony Quartz
id org.quartz.JobDetail
grupo id
addJob()
grupo id_jobDetail
scheduleJob() org.quartz.Scheduler org.quartz.Scheduler
org.quartz.Trigger
id_grupo_jobDetail cron cron expre expressi ssion ons s
0 0 12 * * ? Fire at 12pm (noon) every day
Spri Sp ring ng Fr Fram amew ewor ork: k: scheduling •
Programar jobs cableando (wiring) (wiring) de clases clases que son son parte de Spring:
configuración de trabajos Quartz con Spring
Spri Sp ring ng Fr Fram amew ewor ork: k: scheduling •
Ejemplos Ejemplos de expres expresiones iones cron utilizadas utilizadas por Quartz Quartz para programa programarr jobs: Expression
Meaning
0 0 12 * * ?
Fire at 12pm (noon) every day
0 15 10 ? * *
Fire at 10:15am every day
0 15 10 * * ?
Fire at 10:15am every day
0 15 10 * * ? *
Fire at 10:15am every day
0 15 10 * * ? 2005
Fire at 10:15am every day during the year 2005
0 * 14 * * ?
Fire every minute starting at 2pm and ending at 2:59pm, every day
0 0/5 14 * * ?
Fire every 5 minutes minutes starting at 2pm and and ending at 2:55pm, every every day
0 0/5 14,18 * * ?
Fire every 5 minutes starting at 2pm and ending at 2:55pm, AND fire every 5 minutes starting at 6pm and ending at 6:55pm, every day
0 0-5 14 * * ?
Fire every minute starting at 2pm and ending at 2:05pm, every day
0 10,44 14 ? 3 WED
Fire at 2:10pm and at 2:44pm every Wednesday in the month of March.
0 15 10 ? * MON-FRI
Fire at 10:15am every Monday, Tuesday, Wednesday, Thursday and Friday
0 15 10 15 * ?
Fire at 10:15am on the 15th day of every month
0 15 10 L * ?
Fire at 10:15am on the last day of every month
0 15 10 ? * 6L
Fire at 10:15am on the last Friday of every month
0 15 10 ? * 6L
Fire at 10:15am on the last Friday of every month
0 15 10 ? * 6L 2002-2005
Fire at 10:15am on every last friday of every month during during the years 2002, 2003, 2004 and 2005
0 15 10 ? * 6#3
Fire at 10:15am on the third Friday of every month
0 0 12 1/5 * ?
Fire at 12pm (noon) every 5 days every month, starting on the first day of the month.
0 11 11 11 11 11 11 ?
Fire every November 11th at 11:11am.
Spri Sp ring ng Fr Fram amew ewor ork: k: JSF 6.
sche hedu duliling ng jo jobs bs co con n Qua Quart rtz z de desd sde e Spr Sprin ing. g. Quartz: sc
7.
integraci ación ón con JavaServ JavaServer er Faces. Faces. JSF: integr
Spri Sp ring ng Fr Fram amew ewor ork: k: JSF •
Java JavaSe Serv rver er Face Faces s (JS (JSF): F): compon onen ents ts ba base sed d fram framew ewor ork. k. comp event-dr event-driven iven componen components. ts.
multiplataforma, multidispositivo. multidispositivo. multiplataforma, parte de J2EE 1.5
•
Inye In yec cción ción de be bean ans s Sp Spri ring ng en Ma Mana nage ged d be bean ans s de JSF: JSF: separación lógica entre capa de servicios - UI.
soporte integra integrado do con Sprin Spring g desde desde DelegatingVariableResolver . soporte
Spri Sp ring ng Fr Fram amew ewor ork: k: JSF • configuración de archivo faces-config.xml de JSF:
Spri Sp ring ng Fr Fram amew ewor ork: k: JSF •
WebApplicationContext: WebApplicationContextVariableResolver. eResolver. utiliza el WebApplicationContextVariabl expone expone WebApplicat WebApplicationC ionContex ontextt bajo variable variable
webApplicationContext.
permite permite acced acceder er a la BeanF BeanFacto actory ry de S Sprin pring g y otros otros servicios servicios
directam directamente ente desde desde los Managed Managed Beans. Beans.
Spri Sp ring ng Fr Fram amew ewor ork: k:
Fin de Parte II
Spri Sp ring ng Fr Fram amew ewor ork: k: autores Spring Spring Framew Framework ork
Rod Johnso Johnson, n, Juerg Juergen en Hoelle Hoeller, r, Alef Alef Arends Arendsen, en, Colin Colin Sa Sampa mpalea leanu nu,, et al. Aceg Ac egi i Se Secu curi rit ty fo for r Sp Spri ring ng
Ben Alex Hibernate
Gavin King et al. OpenSy OpenSymph mphony ony Quartz Quartz
James James House, House, Jaspe Jasperr Rosenb Rosenberg erg,, Aaron Aaron Craven Craven..
Spri Sp ring ng Fr Fram amew ewor ork: k: referencias Spring Spring in Action ction, Walls-Breidenbach Walls-Breidenbach Spri Spring ng Fram Framewo ework rk refe refere renc nce e Aceg Acegii refe refere renc nce e Quartz Quartz docum document entati ation on Data Data Acces ccess s with with the the Spri Spring ng Fram Framew ewor ork k, Juerg Juergen en Hoell Hoeller er Apach pache eA Axi xis s user user guid guide e POJO POJOs s in Act Action ion, Richardson Spri Spring ng and and Java JavaSe Serv rver er™F ™Fac aces es Tech Techno nolo logy gy:: Syne Synerg rgy y or Supe Superf rflu luou ous? s?
Spri Sp ring ng Fr Fram amew ewor ork: k: más información Actualiza Actualización ción Spring Spring 2.0 http://www.infoq.com/articles/spring-2-intro Simp Simplilify fyin ing g En Ente terp rpri rise se Ap Appl plic icat atio ions ns with ith Sp Spri ring ng 2.0 2.0 and and Aspe Aspect ctJ J http://www.infoq.com/articles/Simplifying-Enterprise-Apps Buildi Buil ding ng Java JavaSe Serv rver er Face Faces s Ap Appl plic icat atio ions ns with ith Sp Spri ring ng an and d Hibe Hibern rnat ate e http://developers.sun.com/learning/javaoneonline/2007/p http://developers.sun .com/learning/javaoneonline/2007/pdf/TS-7082.pdf df/TS-7082.pdf
Spri Sp ring ng Fr Fram amew ewor ork: k: propiedad intelectual
Todas las marcas mencionadas son propiedad exclusiva de sus dueños.
Spri Sp ring ng Fr Fram amew ewor ork: k: fin de presentación
www.palermo.edu