Framemork - josemart/CMS GitHub Wiki

DEFINICIÓN

La palabra inglesa "framework" (infraestructura, armazón, marco) define, en términos generales, un conjunto estandarizado de conceptos, prácticas y criterios para enfocar un tipo de problemática particular que sirve como referencia, para enfrentar y resolver nuevos problemas de índole similar.

En el desarrollo de software, un framework o infraestructura digital, es una estructura conceptual y tecnológica de soporte definido, normalmente con artefactos o módulos concretos de software, que puede servir de base para la organización y desarrollo de software.
Típicamente, puede incluir soporte de programas, bibliotecas, y un lenguaje interpretado, entre otras herramientas, para así ayudar a desarrollar y unir los diferentes componentes de un proyecto.

FUNCIONES

  • Representa una arquitectura de software que modela las relaciones generales de las entidades del dominio, y provee una estructura y una especial metodología de trabajo, la cual extiende o utiliza las aplicaciones del dominio.
  • Ofrece una funcionalidad definida, auto contenida, siendo construidos usando patrones de diseño. Para acceder a esa funcionalidad, se construyen piezas, objetos, **llamados objetos calientes**, que vinculan las necesidades del sistema con la funcionalidad que este presta. Esta funcionalidad, está constituida por **objetos llamados fríos**, que sufren poco o ningún cambio en la vida del framework, permitiendo la portabilidad entre distintos sistemas.
  • Su característica principal es su alta cohesión y bajo acoplamiento.

LO QUE CARACTERIZA Y DIFERENCIA UN FRAMEMORK

Lo esencial para ser denominados frameworks es estar constituidos por objetos casi estáticos con funcionalidad definida a nivel grupo de objetos y no como parte constitutiva de estos, por ejemplo en sus métodos, en cuyo caso se habla de un API o librería.

FRAMEWORKS MAS CONOCIDOS

*Struts

Struts es uno de los más importantes o más generales Frameworks de Java, Struts es un Framework Opensource, y está basado en un servlet que actúa como controlador y recibe todas las peticiones de los clientes.

Entre otras características nos permite y facilita la lógica de navegación entre las diferentes páginas, la unión entre Java y componentes HTML, maquetación, etc.

Struts tiene fuertes métodos que nos permiten validar los datos de entrada en formularios de las páginas web por medio del método validation.

*Spring

Este framework es el framework Java más utilizado en la actualidad. Contiene un aspecto nuevo en la programación orientada a objetos, que es la programación orientada a aspectos. Además, es muy frecuente el uso de anotaciones facilitando y ahorrando código Java. Es muy común que la persistencia de objetos de Spring se realice mediante Hibernate.

*Hibernate

Es uno de los ORM más usados en java, permitiendo una persistencia sencilla de los objetos a base de datos.

*Hybris

Este framework esta solo disponible para partners de Hybris, no es OpenSource y solo se puede acceder a la documentación si eres partner de Hybris.

El framework está iniciandose en España pero su uso es bastante común en países como Suiza o Alemania.

Esta totalmente diseñado pensando en eCommerce, está basado en Spring y facilita enormemente las cosas para el desarrollo de tiendas eCommerce. Permite gestionar una tienda de manera sencilla y el catálogo de productos de productos, además añade multitud de reglas de negocio que se pueden gestionar a través de este framework. También gestiona la persistencia de los objetos de forma automática mediante un archivo XML en el que está modelada la estructura de base de datos.

*Broadleaf

Al igual que Hybris este es un framework que está basado para el desarrollo de tiendas en internet. Sin embargo, esta framework es OpenSource y tiene una comunidad de desarrolladores. Su utilización es muy sencilla y te permite crear una tienda de una manera bastante sencilla y rápida.