jueves, 4 de noviembre de 2010

INICIO SPRING

¿Que es SPRING?

Un framework contenedor liviano basado en la tecnica INVERSION DE CONTROL (IoC) y una implementacion de desarrollo segun el paradigma de ORIENTACION A ASPECTOS (AOP).


*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 aspectos.


ARQUITECTURA


*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 aplicaciones web e integración con otros frameworks (Struts, JSF, etc).


CARACTERÍSTICAS CLAVE

*POJO:
Plain Old Java Object. Revalora la simplicidad de las 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 (AOP) a través del framework Acegi.

*REMOTING:
RMI simplificado, acceso y publicación de web services.

*TESTING:
provee un package de testing específico para componentes del framework e integrado con JUnit.


Volviendo al diseño MVC donde se comunica el Controlador con el Servicio, Servicio con Dao, etc.. Existen dos formas de comunicación:

-COMPOSICIÓN: Desde el Controlador se crea un Servicio. Servicio s=new Servicio(); Si dos controladores usan el mismo Servicio y dentro del Controlador creamos un servicio tendremos serios problemas (la referencia del servicio será distintas en cada controlador). ESTO NO SE PUEDE.

-AGREGACIÓN:
Desde el controlador: Servicio s;--->¿Quién se encarga de referenciar el servicio? --> SPRING-CONTAINER.

Veamos un controlador:

class Controlador{

Servicio s2;
public void setS2(Servicio s){
s2=s;
}

}

Como implementa SPRING el Servicio:

Controlador c1=new Controlador();
Servicio s2=new Servicio();
c1.setS2(s2);

No hay comentarios:

Publicar un comentario