Java Open Source Application Framework
- 2002: Expert One-on-One J2EE Design & Development
- 2003: Nace como proyecto Open Source
- 2004: Spring 1.0
- 2006: Spring 2.0
- 2007: Spring 2.5
- 2008: Nace SpringSource
- 2009: VMWare adquiere SpringSource, Spring 3.0
- Programación basada en POJOs
- Ligero
- Facilita las buenas prácticas de programación
- Modelo de programación consistente
- Facilita las pruebas
- No invasivo
- No reinventa la rueda
y como empezamos a desarrollarlo?
DESARROLLO DEL PROYECTO
¿Y QUE HERRAMIENTAS SE USARA PARA IMPLEMENTAR TODO ESTO?
core
- Configuración del ApplicationContext
- Inversión de control
- Inyección de dependencias
- Setter injection
No nos llames, nosotros te llamamos
DAO
MVC
PROTOTIPO
IMPLEMENTACION
security
testing
¿POR QUE?
DEPLOY
CloudFoundry
- Producimos menos bugs
- Encontramos los bugs antes
- Evitamos regresiones
- Documentamos el codigo
- Promovemos un buen diseño
- Integramos mas rápido
spring
En esta ocasion, se resolvera un problema desarrollando un pequeno proyecto
usando librerias y frameworks integrandolo con Spring y todo desde cero
Implementación de la parte cliente
Desarrollo de los servicios
Creación de las clases de dominio
Análisis y creación de las clases con sus respectivos atributos y relaciones entre ellas
Desarrollo e implementación del
prototipo (HTML) para que consuma los servicios
Creación de las interfaces y las implementaciones
que proveerá los servicios a ser consumidos
- Tests Unitarios: No dependen de Spring
- Tests Integrales: Usando Spring TestContext Framework
- Mock Objects Frameworks: Mockito
- Sean conscientes del ROI
- ¿Encontraron un bug? Escriban un test antes de corregirlo
El conocido Chef Gaston Acurio ya no sabe donde guardar todas
sus recetas y sus libros estan repletos de garabatos y de manchas de salsa.
Necesita guardar sus recetas digitalmente y que puedan ser accesibles desde cualquier parte y tambien accesible para sus aprendices.
Desarrollo de la capa de conexión a base de datos
Testing
DEPLOY
Desarrollo de la capa de seguridad
Como Chef de Alta Cocina Peruana
deseo identificarme mediante usuario y contraseña, de modo que pueda realizar las acciones restringidas sólo a mi rol.
En esta etapa se creará la capa DAO para la conexión
a base de datos, se crearán las tablas y se mapeará
a las clases de dominio
Publicar nuestro aplicación
y a disfrutar de las recetas!
Se crearán los roles y permisos
para el uso de los servicios basado
en credenciales.
Creación de los test unitarios e integrales para probar que nuestra aplicación cumple con los requesitos basicos
Como Chef de Alta Cocina Peruana quiero
poder registrar y editar mis recetas,
de modo que pueda compartir mi
conocimiento culinario con mis pupilos.
Como Aprendiz de Chef quiero poder consultar
las recetas publicadas, de modo que pueda practicar y mejorar constantemente mi arte.
- SpringSource Tool Suite
- SpringSource tc Server
- SpringSource CloudFoundry
- Maven
- JUnit
- Subversion
- HyperSQL DataBase
Como Chef de Alta Cocina Peruana deseo que la opción de editar mis recetas esté restringida, de modo que solamente mi rol pueda realizar esta acción.
SpringCommunityDay
Grupo Spring Perú
Spring Perú es el grupo de usuarios de Spring Framework en el Perú. Se formó el 25 de Noviembre del 2008 por un grupo profesionales interesados en difundir nuevas tecnologías relacionadas Java.
El objetivo del grupo es difundir el uso de Spring Framework en el Perú, fomentando su aplicación, enseñanza y brindando apoyo a los que recién comienzan a través de la lista de interés.
ORM: Hibernate
JDBC
Hibernate
Sin Spring JDBC
- Recordando vieeejos tiempos :
Con Spring JDBC
- El paquete DAO provee una capa de abstracción JDBC que elimina la necesidad de hacer la tediosa codificación JDBC (try catchs, statements, etc).
- Además proporciona la gestión de transacciones de forma declarativa.
SPRING
Spring - Hibernate en el proyecto
Con HibernateDaoSupport
- El paquete ORM provee soporte para trabajar con los ORMs mas populares como: Hibernate, iBATIS, JDO, OJB and TopLink.
ESTO ES SPRING
spring
Características
Clara separación de roles.
Sencilla pero consistente configuración de las clases tanto del framework como aplicación como JavaBeans.
Adaptabilidad, no intrusión y flexibilidad.
Código de negocio reutilizable.
Binding y validación personalizable.
Manejador de mapeo y vistas personalizable.
MUCHAS GRACIAS POR SU ATENCIÓN
ARQUITECTURA DEL PROYECTO
¿PREGUNTAS? ¿COMENTARIOS?
Y NO TE OLVIDES DE VISITAR WWW.SPRINGPERU.ORG PARA MAS INFORMACIÓN