21 may 2008

Spring

¿Que es?
Spring es un framwork para desarrollo de aplicaciones Empresariales, facilitandoel desarrollo de aplicaciones EJB creado por Rob Johnson.

¿Que puede hacer?
Configurar Servicios Declarativos,
Acceso remoto bajo RMI o servicios web,
Enviar de correos,
Persistir datos.

Todo esto de manera modular, solo integraremos lo que es necesario en nuestra aplicación.

¿Cuales son los conceptos básicos?
  • Dependency Injection o Inversion of Control (IoC) .- Un "design pattern", permite modular nuestro sistema, realizando cambios en una área sin afectar a otra.
  • Aspect Oriented Programming (AOP) .- Reducción de duplicados entre clases, los interceptores posibilitan la ejecución de código antes o después de ciertos fragmentos ejecutados, muy útil para debug, logging y seguridad, EHCache y rastreo del rendimiento de la aplicación.
Cuales son los Puntos fuertes de Spring?

  • Manejador de Transacciones .- Spring provee de una capa generica de abstracción para los manejadores de transacciones. Facilitando el lidiar con aspectos de bajo nivel y no está atada a una cada JEE.
  • Manejo de Excepciones JDBC.- Ofrece una jerarquia de excepciones, que simplifica la estrategia de manejo de errores.
  • Integración con Hibernate, JDO e iBATIS.
  • Framework AOP.
  • Framework MVC.- Configurable, y se ajusta a muchas tecnologías de vista (JSP, Velocity, Tiles, iText y POI) y otros muchos pueden ser integrados en lugar del framework.
Spring es una arquitectura ¿Cuales son sus modulos?

  • Spring AOP.- Servicios declarativos.
  • Spring ORM.- Capa de integración con acceso a BD y mapeadores objeto-relacional.
  • Spring Web.- Incluye el framework Spring MVC.
  • Spring DAO.- Estandariza el acceso a datos usando tecnologías como Hibernate, JDBC o JDO.
  • Spring Context.- Soporte para fuentes de mensajes y el "Observer dessing pattern".
  • Spring Web MVC.-Provee implementación para la aplicación web.
  • Spring Core.- Nucleo, incluye el IoC y un Bean Factory con un patron que separa la creación, inicilaización y acceso a datos.
¿Que intenta mejorar en respecto a JEE?
No requiere tanto código para generar aplicaciones empresariales, y permite al programador enfocarse en código de negocios.


No hay comentarios.: