Framework spring

22
Spring Framework

description

Framework realizado principalmente para trabajar con Tecnologia Java, aplicando programacion orientada a aspectos.

Transcript of Framework spring

Page 1: Framework spring

SpringFramework

Page 2: Framework spring

Grupo No. 4 Frans Josehp Giron Casasola 092-05-483 Jose Angel Herrera 092-00-772 Mario Rudy Gómez Marroquín 092-06-14969 Armando Monzon 092-98-5413 Marco Orozco 092-03-12056 Jorge Mario Pérez Bac 092-01-3320 Mónica A. Lemus Rodriguez 092-06-569 Karla Sequen Gonzalez 092-06-689 Edwin Rodolfo Barrios Morales 092-98-1929 Johann Roaldo Leon 092-01-0949

Page 3: Framework spring

Introducción e historia Framework de aplicación desarrollado para aplicaciones

escritas en el lenguaje de programación Java. Fue creado gracias a la colaboración de grandes

programadores y lideres del proyecto Rod Johnson y Jurgen Holler.

Con su experiencia en el desarrollo de Aplicaciones J2EE (Java 2 Enterprise Editions), EJB (Enterprise JavaBeans), Servlets y JSP (Java Server Pages), lograron combinar dichas herramientas y otras más en un solo paquete, para brindar una estructura más sólida y un mejor soporte para este tipo de aplicaciones.

Page 4: Framework spring

Spring fue creado basado en los siguientes principios: El buen diseño es más importante que la

tecnología subyacente Los JavaBeans ligados de una manera

más libre entre interfaces es un buen modelo.

El código debe ser fácil de probar.

Page 5: Framework spring

Características Es un framework Java de Software Libre, liviano

de aplicación (también existe actualmente una versión para .NET)

Su principal característica es brindar un factory de objetos basado en la Inyeccion De Dependencia.

Puede emplearse en cualquier aplicación hecha en Java, existen muchas extensiones y mejoras para construir aplicaciones basadas en web por encima de la plataforma Java EE.

Ofrece los mismos servicios de EJB pero simplificando el modelo de programación.

Page 6: Framework spring

Estructura de Spring Spring es un framework modular que

cuenta con una arquitectura organizada en cerca de 20 módulos independientes, lo cual permite tomar y ocupar únicamente las partes que interesen para el proyecto.

Estos módulos están agrupados en: contenedor central, Acceso a datos e integración, Web, Programación orientada a aspectos, instrumentación y Pruebas.

Page 8: Framework spring
Page 9: Framework spring
Page 10: Framework spring

CONTENEDOR CENTRAL Este módulo consiste en: el núcleo, los Beans,

contexto y módulos del lenguaje de expresiones. El núcleo y los beans proporcionan las partes

fundamentales de la estructura, incluyendo el IoC y las características de la inyección de dependencia.

El BeanFactory es una implementación sofisticada del patrón de la fábrica. Se elimina la necesidad de programación de singletons (método más utilizado) y le permite desacoplar la configuración y las especificaciones de las dependencias de la lógica real del programa.

Page 11: Framework spring

Inversión de control Conocido como IoC. Se encarga se separar

del código de la aplicación, lo aspectos de configuración y las especificaciones de dependencia del framework.

Utilizando el principio Hollywood “no me llames, yo te llamaré a ti” en éste termino sería: en lugar de que el código de la aplicación llame a una clase de una líbreria un framework que utiliza IoC llama a código.

Page 12: Framework spring

Inyección de dependencia Es una forma de inversión de control. En

lugar de que el código de la aplicación utilice el API del framework para resolver las dependencias, las clases de la aplicación muestran sus dependencias a través de métodos que el framework puede llamar con el valor apropiado en tiempo de ejecución, basado en la configuración.

Page 13: Framework spring

Contexto provee de herramientas para acceder a los beans de una manera elegante, similar a un registro JNDI. El paquete de contexto hereda sus características del paquete de beans y añade soporte para mensajería de texto, como son resource bundles (para internacionalización), propagación de eventos, carga de recursos y creación transparente de contextos por contenedores (como el contenedor de servlets, por ejemplo).

Page 14: Framework spring

Lenguaje de expresión proporciona un lenguaje de expresiones de gran alcance para consultar y manipular un gráfico de objetos en tiempo de ejecución.

Es una extensión del lenguaje de expresión unificada (unificada EL) según se especifica en la especificación JSP 2.1.

El lenguaje soporta los valores de las propiedades get and set, propiedad de asignación, métodos de invocación, el acceso a los arrays, colecciones e indizadores, operadores lógicos y aritméticos, variables con nombre y la recuperación de objetos por nombre del contenedor IoC de Spring. También es compatible con lista de proyección y selección, así como lista común de agregaciones.

Page 15: Framework spring

PROGRAMACION ORIENTADA A ASPECTOS Provee una implementación de programación

orientada a aspectos compatible con AOP Alliance, permitiendo definir pointcuts e interceptores de métodos para desacoplar el código de una manera limpia implementando funcionalidad que por lógica y claridad debería estar separada. Usando metadatos a nivel de código fuente se pueden incorporar diversos tipos de información y comportamiento al código, un poco similar a los atributos de .NET

Page 16: Framework spring

ACCESO A DATOS / INTEGRACIÓN Consiste en JDBC, ORM, OXM, JMS y

transacciones modulares. JDBC, provee una capa de abstracción

de JDBC que elimina la necesidad de teclear código JDBC tedioso y redundante, así como el parseo de códigos de error específicos de cada proveedor de base de datos.

Page 17: Framework spring

ORM, provee capas de integración para APIs de mapeo objeto - relacional, incluyendo, JDO, Hibernate e iBatis. Usando el paquete ORM es posible usar esos mapeadores en conjunto con otras características que Spring ofrece, como la administración de transacciones mencionada con anterioridad.

Page 18: Framework spring

OXM proporciona una capa de abstracción que apoya Objeto / XML implementaciones de asignación para JAXB, Castor, XMLBeans, JiBX y XStream.

Java Messaging Service (JMS) contiene las características de los mensajes de productores y consumidores.

El módulo de transacciones provee de una manera de administrar transacciones tanto declarativas como programáticas, no solo para clases que implementen interfaces especiales, pero para todos sus POJOs (por sus siglas en inglés, Viejos y simples objetos java).

Page 19: Framework spring

WEB Este módulo proporciona funciones de

integración orientados a web básicos como funcionalidad multiparte de carga de archivos y la inicialización del contenedor IoC usando oyentes servlet y un contexto orientado a la aplicación web. También contiene las partes relacionadas con la web de soporte de comunicación remota de Spring.

Cuando se usa Spring junto con WebWork o Struts, este es el paquete que te permite una integración sencilla.

Page 20: Framework spring

Web MVC provee de una implementación Modelo - Vista - Controlador para las aplicaciones web. La implementación de Spring MVC permite una separación entre código de modelo de dominio y las formas web y permite el uso de otras características de Spring Framework como lo es la validación.

Web Struts contiene las clases de apoyo para la integración de un clásico de capa web Struts dentro de una aplicación Spring. Tomar en cuenta que este soporte está obsoleto desde Spring 3.0.

Web-portlets proporciona la implementación MVC para ser utilizado en un entorno de portlet y refleja la funcionalidad del módulo Web-Servlet.

Page 21: Framework spring

PRUEBAS El módulo de prueba apoya la prueba de

los componentes del resorte con JUnit o TestNG.

Se proporciona una carga constante de ApplicationContexts de Spring y el almacenamiento en caché de esos contextos.

También proporciona los objetos de imitación que se puede utilizar para probar el código en el aislamiento.

Page 22: Framework spring

Muchas gracias!!