Framework spring

0 views
633 views

Published on

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

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
0
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
49
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Framework spring

  1. 1. Spring Framework
  2. 2. 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
  3. 3. 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.
  4. 4.  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.
  5. 5. 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.
  6. 6. 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.
  7. 7. Flujo #SpringSource http://www.springsource.org
  8. 8. 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.
  9. 9. 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.
  10. 10. 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.
  11. 11.  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).
  12. 12.  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.
  13. 13. 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
  14. 14. 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.
  15. 15.  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.
  16. 16.  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).
  17. 17. 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.
  18. 18.  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.
  19. 19. 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.
  20. 20. Muchas gracias!!

×