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.