2da. Reunión Java Querétaro Introducción a SpringFramework
Acerca de mi...(neodevelop – José Juan Reyes Z.) La referencia total: SpringHispano.org y grails.org.mx
Agenda <ul><li>Antecedentes </li></ul><ul><li>¿Qué es Spring?, ¿Por qué Spring? </li></ul><ul><li>Componentes básicos de S...
Antecedentes <ul><li>JEE es complicado </li></ul><ul><li>Métodos ágiles </li></ul><ul><li>Proceso de desarrollo integrado ...
¿Qué es SpringFramework? <ul><ul><li>“ Spring es una tecnología dedicada para permitir construir aplicaciones usando POJO’...
SpringFramework Spring es un poderoso framework de aplicaciones que resuelve muchos problemas comunes en el desarrollo de ...
Continuación… <ul><li>Spring a menudo es descrito como un framework “ligero” para construir aplicaciones Java. </li></ul><...
¿Por qué Spring? <ul><li>Porque reduce la complejidad de desarrollo JEE </li></ul><ul><ul><li>Simplificar sin sacrificar p...
¿Por qué Spring? <ul><li>Desarrollar aplicaciones usando POJO’s </li></ul><ul><ul><li>Spring ofrece capacidades avanzadas ...
 
Componentes de SpringFramework
Características ¿Por qué me cambio la vida al desarrollar software?
AOP Facilita la implementación de soluciones a problemas recurrentes, incluso en contextos diferentes
Acceso a datos Facilita el uso con JDBC, y se integra con: Hibernate, iBatis, JPA
Administracción de transacciones
Integración y simplificación con JEE <ul><li>EJB </li></ul><ul><li>Session Bean </li></ul><ul><ul><li>SLSB </li></ul></ul>...
Spring en Web SpringMVC, integración con diferentes tecnologías de vista e incluso con otros frameworks MVC como Struts 1....
Calendarización de procesos Quartz
Manejo de excepciones simplificado Evita el tedioso manejo de excepciones Cátedra de manejo de excepiones
Escenarios de Uso
En todas las capas
Usando Frameworks de 3ros.
En remoting
Con EJB’s
Contenedor de IoC
Inversion of Control <ul><li>Técnica que externaliza la creación y manejo de las dependencias de componentes </li></ul><ul...
Inversion of Control <ul><li>Hablando de DI, Spring actúa más como un contenedor que como un Framework. </li></ul><ul><ul>...
Ventajas de DI <ul><li>Mucho menos código de plomería…:D </li></ul><ul><ul><li>El contenedor de Spring hace la tarea por n...
Ventajas de DI <ul><li>Mejora la prueba de software(TDD) </li></ul><ul><ul><li>Facilita intercambiar implementaciones </li...
Valores de Spring <ul><li>El nivel de abstracción manejado es bastante alto y sólido. </li></ul><ul><li>Lo que permite la ...
IoC y DI <ul><li>DI es un mecanismo para proveer dependencias de componentes </li></ul><ul><li>Maneja esas dependencias en...
Ejemplos de DI <ul><li>Por constructor </li></ul><ul><li>Por métodos mutadores(set) </li></ul><ul><li>Por anotaciones </li...
Beneficios de DI <ul><li>Reducir el acoplamiento </li></ul><ul><li>Ya no más Patrón de Diseño Factory en todas sus estirpe...
Contenedor de Spring <ul><li>En Spring, los objetos que forman la columna vertebral de una aplicación son manejados por el...
Contenedor de Beans de Spring <ul><li>Existen varias implementacions del BeanFactory, por ejemplo: </li></ul><ul><ul><li>o...
¿Qué más rodea a Spring? <ul><li>Spring WebFlow </li></ul><ul><li>Spring WebServices </li></ul><ul><li>Spring Security </l...
¿Qué más rodea a Spring? <ul><li>Aplicaciones empresariales </li></ul><ul><ul><li>Integración con sistemas legados </li></...
¿Qué más rodea a Spring? <ul><li>Servidores de aplicaciones </li></ul><ul><ul><li>Es independiente del servidor de Aplicac...
Resumen <ul><li>Spring es un framework de infraestructura para crear excelentes arquitecturas, incluso otros frameworks… <...
Mas referencias… <ul><li>SpringHispano.org </li></ul><ul><li>SpringFramework.org </li></ul><ul><li>Twitter de SpringHispan...
Gracias Java Querétaro Sigamos haciendo comunidad !!! :D
Upcoming SlideShare
Loading in...5
×

Spring

4,507

Published on

Presentacion de la 2a. Reunion de la comunidad Java de Qro., con el tema SpringFramework

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,507
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
182
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Spring

  1. 1. 2da. Reunión Java Querétaro Introducción a SpringFramework
  2. 2. Acerca de mi...(neodevelop – José Juan Reyes Z.) La referencia total: SpringHispano.org y grails.org.mx
  3. 3. Agenda <ul><li>Antecedentes </li></ul><ul><li>¿Qué es Spring?, ¿Por qué Spring? </li></ul><ul><li>Componentes básicos de Spring </li></ul><ul><li>Características </li></ul><ul><li>Contenedor de IoC </li></ul><ul><ul><li>Inversion of Control </li></ul></ul><ul><ul><li>Ventajas </li></ul></ul><ul><ul><li>Valores </li></ul></ul><ul><li>IoC y DI </li></ul><ul><li>Beneficios del DI </li></ul><ul><li>Contenedor de Beans de Spring </li></ul><ul><li>¿Qué más rodea a Spring? </li></ul><ul><li>Resumen </li></ul>
  4. 4. Antecedentes <ul><li>JEE es complicado </li></ul><ul><li>Métodos ágiles </li></ul><ul><li>Proceso de desarrollo integrado </li></ul><ul><li>Diseño OO basado en negocio </li></ul><ul><li>Ingeniería de software </li></ul>
  5. 5. ¿Qué es SpringFramework? <ul><ul><li>“ Spring es una tecnología dedicada para permitir construir aplicaciones usando POJO’s…”, Rod Johnson – The Server Side </li></ul></ul>
  6. 6. SpringFramework Spring es un poderoso framework de aplicaciones que resuelve muchos problemas comunes en el desarrollo de aplicaciones Java (SDK y EE).
  7. 7. Continuación… <ul><li>Spring a menudo es descrito como un framework “ligero” para construir aplicaciones Java. </li></ul><ul><li>No esta enfocado a una parte especifica de una aplicación. (i.e. Struts, JSF, Hibernate) Spring es “ligero” porque para usarlo en una aplicación no hay que hacer muchos cambios, en ocasiones ninguno. </li></ul><ul><li>Esto al menos para usar el “Core” de Spring. </li></ul><ul><li>Impacto mínimo. Principio de la filosofía de Spring. </li></ul>
  8. 8. ¿Por qué Spring? <ul><li>Porque reduce la complejidad de desarrollo JEE </li></ul><ul><ul><li>Simplificar sin sacrificar poder. </li></ul></ul><ul><ul><li>Facilitar mejores practicas, que de otra manera son difíciles seguir. </li></ul></ul><ul><li>Porque nace de la experiencia práctica de muchos desarrolladores en todo el mundo. </li></ul>
  9. 9. ¿Por qué Spring? <ul><li>Desarrollar aplicaciones usando POJO’s </li></ul><ul><ul><li>Spring ofrece capacidades avanzadas de configuración que permiten escalar a una complejidad del mundo real. </li></ul></ul><ul><ul><li>Permite aplicar servicios empresariales a los POJO’s, de forma declarativa y no invasiva </li></ul></ul>
  10. 11. Componentes de SpringFramework
  11. 12. Características ¿Por qué me cambio la vida al desarrollar software?
  12. 13. AOP Facilita la implementación de soluciones a problemas recurrentes, incluso en contextos diferentes
  13. 14. Acceso a datos Facilita el uso con JDBC, y se integra con: Hibernate, iBatis, JPA
  14. 15. Administracción de transacciones
  15. 16. Integración y simplificación con JEE <ul><li>EJB </li></ul><ul><li>Session Bean </li></ul><ul><ul><li>SLSB </li></ul></ul><ul><ul><li>SFSB </li></ul></ul><ul><li>JMS </li></ul><ul><li>JNDI </li></ul><ul><li>JMX </li></ul><ul><li>Java Mail </li></ul>
  16. 17. Spring en Web SpringMVC, integración con diferentes tecnologías de vista e incluso con otros frameworks MVC como Struts 1.x,2.x, WebWork, JSF
  17. 18. Calendarización de procesos Quartz
  18. 19. Manejo de excepciones simplificado Evita el tedioso manejo de excepciones Cátedra de manejo de excepiones
  19. 20. Escenarios de Uso
  20. 21. En todas las capas
  21. 22. Usando Frameworks de 3ros.
  22. 23. En remoting
  23. 24. Con EJB’s
  24. 25. Contenedor de IoC
  25. 26. Inversion of Control <ul><li>Técnica que externaliza la creación y manejo de las dependencias de componentes </li></ul><ul><li>IoC también es conocido como Dependency Injection </li></ul><ul><li>La implementación de DI de Spring está basada en: </li></ul><ul><ul><li>JavaBeans </li></ul></ul><ul><ul><li>Interfaces </li></ul></ul>
  26. 27. Inversion of Control <ul><li>Hablando de DI, Spring actúa más como un contenedor que como un Framework. </li></ul><ul><ul><li>Nos provee instancias de clases de nuestra aplicación con todas las dependencias que necesitan. </li></ul></ul><ul><ul><li>Y su principio es simple: JavaBeans </li></ul></ul>
  27. 28. Ventajas de DI <ul><li>Mucho menos código de plomería…:D </li></ul><ul><ul><li>El contenedor de Spring hace la tarea por nosotros </li></ul></ul><ul><li>Externaliza las dependencias </li></ul><ul><ul><li>No es necesario recompilar la app para modificar las dependencias </li></ul></ul><ul><li>Administración centralizada de las dependencias </li></ul>
  28. 29. Ventajas de DI <ul><li>Mejora la prueba de software(TDD) </li></ul><ul><ul><li>Facilita intercambiar implementaciones </li></ul></ul><ul><ul><li>Uso de mocks </li></ul></ul><ul><ul><li>Ejecución de pruebas eficaz </li></ul></ul><ul><ul><li>Clases de prueba que apoyan el soporte de diseño </li></ul></ul><ul><li>Mejor diseño de aplicaciones </li></ul><ul><ul><li>Interface Driven Design </li></ul></ul>
  29. 30. Valores de Spring <ul><li>El nivel de abstracción manejado es bastante alto y sólido. </li></ul><ul><li>Lo que permite la adopción del framework como un modelo tecnológico y de negocio. </li></ul><ul><li>Evita los enfoques ineficientes de JEE </li></ul><ul><li>Las lista de valores es muy larga, mejor vayamos al aspecto más pragmatico… </li></ul>
  30. 31. IoC y DI <ul><li>DI es un mecanismo para proveer dependencias de componentes </li></ul><ul><li>Maneja esas dependencias en su ciclo de vida </li></ul><ul><li>Un componente que requiere esa dependencia es llamado un objeto dependiente </li></ul>
  31. 32. Ejemplos de DI <ul><li>Por constructor </li></ul><ul><li>Por métodos mutadores(set) </li></ul><ul><li>Por anotaciones </li></ul>
  32. 33. Beneficios de DI <ul><li>Reducir el acoplamiento </li></ul><ul><li>Ya no más Patrón de Diseño Factory en todas sus estirpes </li></ul><ul><li>Abstracción total del ensamblado de la aplicación </li></ul>
  33. 34. Contenedor de Spring <ul><li>En Spring, los objetos que forman la columna vertebral de una aplicación son manejados por el contenedor de IoC </li></ul><ul><li>En Spring, a esos objetos se les conoce como beans </li></ul><ul><li>Un bean es cualquier objeto simple, que es instanciado y administrado por el IoC </li></ul><ul><li>La definición de los beans puede ser por: configuración XML y por anotaciones </li></ul><ul><li>El contenedor es representado por: org.springframework.beans.factory.BeanFactory </li></ul>
  34. 35. Contenedor de Beans de Spring <ul><li>Existen varias implementacions del BeanFactory, por ejemplo: </li></ul><ul><ul><li>org.springframework.beans.factory.XmlBeanFactory </li></ul></ul><ul><ul><li>Esta permite expresar a los objetos de una app y sus relaciones basados en archivos XML </li></ul></ul>
  35. 36. ¿Qué más rodea a Spring? <ul><li>Spring WebFlow </li></ul><ul><li>Spring WebServices </li></ul><ul><li>Spring Security </li></ul><ul><li>SpringSource dm Server </li></ul><ul><li>Spring Batch </li></ul><ul><li>Spring LDAP </li></ul><ul><li>Spring IDE </li></ul><ul><li>Entre otros… </li></ul>
  36. 37. ¿Qué más rodea a Spring? <ul><li>Aplicaciones empresariales </li></ul><ul><ul><li>Integración con sistemas legados </li></ul></ul><ul><ul><li>SOA </li></ul></ul><ul><ul><li>Acceso a múltiples recursos transccionales </li></ul></ul><ul><ul><li>Control transaccional elemental </li></ul></ul>
  37. 38. ¿Qué más rodea a Spring? <ul><li>Servidores de aplicaciones </li></ul><ul><ul><li>Es independiente del servidor de Aplicaciones </li></ul></ul><ul><ul><li>Certificado para Weblogic, Websphere </li></ul></ul><ul><ul><li>Uso comprobado en JBoss, Glassfish </li></ul></ul>
  38. 39. Resumen <ul><li>Spring es un framework de infraestructura para crear excelentes arquitecturas, incluso otros frameworks… </li></ul><ul><li>Spring te ayuda a reducir y en algunos casos eliminar el código de plomería </li></ul><ul><li>Spring no sustituye a JEE, ni intenta hacerlo </li></ul><ul><li>Spring es OpenSource, y por eso es exitoso </li></ul><ul><li>Spring usa licenciamiento Apache 2.0 </li></ul>
  39. 40. Mas referencias… <ul><li>SpringHispano.org </li></ul><ul><li>SpringFramework.org </li></ul><ul><li>Twitter de SpringHispano </li></ul><ul><li>Recursos en delicious.com </li></ul><ul><ul><li>neodevelop </li></ul></ul>
  40. 41. Gracias Java Querétaro Sigamos haciendo comunidad !!! :D
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×