SpringCommunityDay2009

Spring! »
ricardo avila

LIMA 2009
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.  
¿Pero qué es Spring?
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
FILOSOFÍA
HISTORIA
TEMA
En esta ocasion, se resolvera un problema desarrollando un pequeno proyecto
usando librerias y frameworks integrandolo con Spring y todo desde cero
PROBLEMA
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.
USER STORY 1
Como Chef de Alta Cocina Peruana quiero 
poder registrar y editar mis recetas, 
de modo que pueda compartir mi 
conocimiento culinario con mis pupilos.
USER STORY 2
Como Aprendiz de Chef quiero poder consultar
 las recetas publicadas, de modo que pueda practicar y mejorar constantemente mi arte.
y como empezamos a desarrollarlo?
DESARROLLO DEL PROYECTO
Desarrollo de los servicios
Creación de las interfaces y las implementaciones
que proveerá los servicios a ser consumidos
Creación de las clases de dominio
Análisis y creación de las clases con sus respectivos atributos y relaciones entre ellas
Implementación de la parte cliente
Desarrollo e implementación del 
prototipo (HTML) para que consuma los servicios
Desarrollo de la capa de conexión a base de datos
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
Desarrollo de la capa de seguridad
Se crearán los roles y permisos
para el uso de los servicios basado 
en credenciales.
Testing
Creación de los test unitarios e integrales para probar que nuestra aplicación cumple con los requesitos basicos
DEPLOY
Publicar nuestro aplicación
y a disfrutar de las recetas!
ITERACION
¿Y QUE HERRAMIENTAS SE USARA PARA IMPLEMENTAR TODO ESTO?
core
MVC
DAO
security
testing
DEPLOY
CloudFoundry
spring
spring
ORM: Hibernate
SPRING
ARQUITECTURA DEL PROYECTO
ESTO ES SPRING
http://springperu.org
¿POR QUE?
Producimos menos bugs
Encontramos los bugs antes
Evitamos regresiones
Documentamos el codigo
Promovemos un buen diseño
Integramos mas rápido

¿COMO?
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
SpringSource Tool Suite
SpringSource tc Server
SpringSource CloudFoundry
Maven
JUnit
Subversion
HyperSQL DataBase
PROTOTIPO
IMPLEMENTACION
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.


Configuración del ApplicationContext
Inversión de control
Inyección de dependencias
Setter injection
JDBC
Sin Spring JDBC
Con Spring JDBC
Con HibernateDaoSupport
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. 

Recordando vieeejos tiempos :
El paquete ORM provee  soporte para trabajar con los ORMs mas populares como:  Hibernate, iBATIS, JDO, OJB and TopLink. 


Hibernate
Spring - Hibernate en el proyecto
Clases  de  Dominio
Base de Datos
MÓDULOS
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
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.
USER STORY 3
USER STORY 4
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.
MUCHAS GRACIAS POR SU ATENCIÓN
¿PREGUNTAS? ¿COMENTARIOS?
Y NO TE OLVIDES DE VISITAR WWW.SPRINGPERU.ORG PARA MAS INFORMACIÓN
Java Open Source Application Framework
No nos llames, nosotros te llamamos

Loading comments...

Please log in to add your comment.

Report abuse

More presentations by ricardo avila

  • title

    ricardo avila on

    description