Diferencia entre revisiones de «Spring»

Línea 1: Línea 1:
{{Normalizar}}
+
{{Normalizar}} {{Ficha Software
{{Ficha Software
 
 
|nombre= Spring Framework
 
|nombre= Spring Framework
 
|familia=  
 
|familia=  
|imagen=
+
|imagen= Foto_Spring.JPG
 
|tamaño=
 
|tamaño=
 
|descripción=
 
|descripción=
Línea 56: Línea 55:
 
Fundamentalmente, Spring se compone de:  
 
Fundamentalmente, Spring se compone de:  
  
* Contenedor de inversión de control (IoC)  
+
*Contenedor de inversión de control (IoC)<br>
  ** Aplicación de la técnica de inyección de dependencias (Fowler)  
+
*Aplicación de la técnica de inyección de dependencias (Fowler) <br>
* Un framework AOP.  
+
*Un framework AOP.<br>
  ** Spring facilita un framework AOP basado en proxy.
+
*Spring facilita un framework AOP basado en proxy.
  ** Integrable con AspectJ o AspectWerkz
+
*Integrable con AspectJ o AspectWerkz
* Una capa de abstracción de servicios  
+
*Una capa de abstracción de servicios  
* Integración consistente con varios estándares y APIs populares.
+
*Integración consistente con varios estándares y APIs populares.
  
== Carácterísticas ==
+
== Características ==
  
 
Mientras que las características fundamentales de este framework pueden emplearse en cualquier aplicación hecha en Java, existen muchas extensiones y mejoras para construir aplicaciones basadas en web por encima de la plataforma empresarial de Java (Java Enterprise Platform).  
 
Mientras que las características fundamentales de este framework pueden emplearse en cualquier aplicación hecha en Java, existen muchas extensiones y mejoras para construir aplicaciones basadas en web por encima de la plataforma empresarial de Java (Java Enterprise Platform).  
Línea 85: Línea 84:
  
 
== Fuentes  ==
 
== Fuentes  ==
Capítulo 3: Spring, un Framework de apliación
 
Presentación: Introducción al Framework Spring
 
[[http://es.wikipedia.org/wiki/Spring_Framework]]
 
[[http://www.springsource.org]]
 
[[http://www.proactiva-calidad.com/java/spring/introduccionSpring.html]]
 
[[http://www.dosideas.com/wiki/Spring_Framework]]
 
  
 +
Capítulo 3: Spring, un Framework de apliación Presentación: Introducción al Framework Spring [[http://es.wikipedia.org/wiki/Spring_Framework]] [[http://www.springsource.org]] [[http://www.proactiva-calidad.com/java/spring/introduccionSpring.html]] [[http://www.dosideas.com/wiki/Spring_Framework]]
  
<br>  
+
<br> <br>  
  
 
[[Category:Ciencias_informáticas]] [[Category:Informática]] [[Category:Programación]]
 
[[Category:Ciencias_informáticas]] [[Category:Informática]] [[Category:Programación]]
 +
 +
<br>

Revisión del 10:24 21 abr 2011

Spring Framework
Información sobre la plantilla
Foto Spring.JPG
CreadorRod Johnson y Juergen Holler
DesarrolladorCompañía Interface 21
Versiones1.2.5
Última versión estable1.2.5
Sistemas Operativos compatiblesMultiplataforma
Idiomainglés

El Spring Framework (también conocido simplemente como Spring) es un Framework de código abierto de desarrollo de aplicaciones para la plataforma Java. La primera versión fue escrita por Rod Jonhson, quien lo lanzó primero con la publicación de su libro Expert One-on-One Java EE Design and Development (Wrox Press, octubre 2002). También hay una versión para la plataforma .NET, Spring .NET.

Spring Framework hizo que aquellas técnicas que resultaban desconocidas para la mayoría de programadores se volvieran populares en un periodo muy corto de tiempo. El ejemplo más notable es la inversión de control. En el año 2004, Spring disfrutó de unas altísimas tasas de adopción y al ofrecer su propio framework de programación orientada a aspectos (aspect-oriented programming, AOP) consiguió hacer más popular su paradigma de programación en la comunidad Java.

Surgimiento

El framework fue lanzado inicialmente bajo Apache 2.0 License en junio de 2003. El primer gran lanzamiento hito fue la versión 1.0, que apareció en marzo de 2004 y fue seguida por otros hitos en septiembre de 2004 y marzo de 2005.

A pesar de que Spring Framework no obliga a usar un modelo de programación en particular, se ha popularizado en la comunidad de programadores en Java al considerársele sustituto del modelo de Enterprise JavaBean. Por su diseño el framework ofrece mucha libertad a los desarrolladores en Java y soluciones muy bien documentadas y fáciles de usar para las prácticas comunes en la industria.

Los primeros componentes de lo que se ha convertido en Spring Framework fueron escritos por Rod Johnson en el año 2000, mientras trabajaba como consultor independiente para sus clientes en la industria financiera en Londres. Mientras escribía el libro Expert One-on-one J2EE Design And Development (Programmer to programmer), Rod amplió su código para sintetizar su visión acerca de cómo las aplicaciones que trabajan con varias partes de la plataforma J2EE podían llegar a ser más simples y más consistentes que aquellas que los desarrolladores y compañías estaban usando por aquel entonces.

Se formó un pequeño equipo de desarrolladores que esperaba trabajar en extender el framework y un proyecto fue creado en Sourceforge en febrero de 2003. Después de trabajar en su desarrollo durante más de un año lanzaron una primera versión (1.0) en marzo de 2004. Después de este lanzamiento Spring ganó mucha popularidad en la comunidad Java, debido en parte al uso de Javadoc y de una documentación de referencia por encima del promedio de un proyecto de código abierto.

Sin embargo, Spring Framework también fue duramente criticado en 2004 y sigue siendo el tema de acalorados debates. Al tiempo en que se daba su primer gran lanzamiento muchos desarrolladores y líderes de opinión vieron a Spring como un gran paso con respecto al modelo de programación tradicional; esto era especialmente cierto con respecto a Enterprise JavaBeans. Una de las metas de diseño de Spring Framework es su facilidad de integración con los estándares J2EE y herramientas comerciales existentes. Esto quita en parte la necesidad de definir sus características en un documento de especificación elaborado por un comité oficial y que podría ser criticado.

En 2005 Spring superó las tasas de adopción del año anterior como resultado de nuevos lanzamientos y más características fueron añadidas. El foro de la comunidad formada alrededor de Spring Framework (The Spring Forum) que arrancó a finales de 2004 también ayudó a incrementar la popularidad del framework y desde entonces ha crecido hasta llegar a ser la más importante fuente de información y ayuda para sus usuarios.

En el mismo año los desarrolladores del proyecto abrieron su propia compañía para ofrecer soporte comercial y establecieron una alianza con BEA. En diciembre de 2005 la primera conferencia de Spring fue realizada en Miami y reunió a 300 desarrolladores en el transcurso de tres días, seguida por una conferencia en Amberes en junio de 2006, donde se concentraron más de 400 personas.

Filosofía de Spring

  • Filosofía POJO, menos interfaces y excepciones chequeadas que fuerzan a complicar el código cuando integramos elementos diferentes.
  • La prueba del software son esenciales. Spring nos ayuda a implementar código chequeable mediante pruebas unitarias.
  • La aplicación de Spring debe ser placentera.
  • El código de la aplicación no debe depender de las APIs de Spring.
  • Spring no debe competir con soluciones que ya funcionan, sino permitir su fácil integración en la aplicación (Ej, Hibernate, JDO, etc.)

Estructura de Spring

Fundamentalmente, Spring se compone de:

  • Contenedor de inversión de control (IoC)
  • Aplicación de la técnica de inyección de dependencias (Fowler)
  • Un framework AOP.
  • Spring facilita un framework AOP basado en proxy.
  • Integrable con AspectJ o AspectWerkz
  • Una capa de abstracción de servicios
  • Integración consistente con varios estándares y APIs populares.

Características

Mientras que las características fundamentales de este framework pueden emplearse en cualquier aplicación hecha en Java, existen muchas extensiones y mejoras para construir aplicaciones basadas en web por encima de la plataforma empresarial de Java (Java Enterprise Platform).

Algunas características que hacen interesante el framework Spring:

  1. La inicial motivación era facilitar el desarrollo de aplicaciones J2EE, promoviendo buenas prácticas de diseño y programación. En concreto se trata de manejar patrones de diseño como Factory, Abstract Factory, Builder, Decorator, Service Locator, etc; que son ampliamente reconocidos dentro de la industria del desarrollo de software.
  2. Es código abierto
  3. Enfoque en el manejo de objetos de negocio, dentro de una arquitectura en capas
  4. Una ventaja de Spring es su modularidad, pudiendo usar algunos de los módulos sin comprometerse con el uso del resto:
    1. El Core Container o Contenedor de Inversión de Control (Inversion of Control, IoC) es el núcleo del sistema. Responsable de la creación y configuración de los objetos.
    2. Aspect-Oriented Programming Framework, que trabaja con soluciones que son utilizadas en numerosos lugares de una aplicación, lo que se conoce como asuntos transversales (cross-cutting concerns).
    3. Data Access Framework, que facilita el trabajo de usar un API com JDBC, Hibernate, etc.
    4. Transaction Management Framework.
    5. Remote Access framework. Facilita la existencia de objetos en el servidor que son exportados para ser usados como servicios remotos.
    6. Spring Web MVC. Maneja la asignación de peticiones a controladores y desde estos a las vistas. Implica el manejo y validación de formularios.
    7. Spring Web Flow.
    8. Spring Web Services.
  5. Una característica de Spring es que puede actuar como pegamento de integración entre diferentes APIs (JDBC, JNDI, etc.) y frameworks (por ejemplo entre Struts e iBatis).

Fuentes

Capítulo 3: Spring, un Framework de apliación Presentación: Introducción al Framework Spring [[1]] [[2]] [[3]] [[4]]