SlideShare ist ein Scribd-Unternehmen logo
1 von 4
Downloaden Sie, um offline zu lesen
1
¿Qué es un framework web?
Javier J. Gutiérrez.
javierj@lsi.us.es
El objetivo de este trabajo es explicar de forma clara y sencilla en que consiste
un framework para sistemas Web y las características generales de estos frameworks. A
continuación se realiza una breve descripción de Struts, uno de los framewoks más
utilizados en desarrollo Web bajo plataforma Java.
1. ¿Qué es un framework Web?.
El concepto framework se emplea un muchos ámbitos del desarrollo de sistemas
software, no solo en el ámbito de aplicaciones Web. Podemos encontrar frameworks
para el desarrollo de aplicaciones médicas, de visión por computador, para el desarrollo
de juegos, y para cualquier ámbito que pueda ocurrírsenos.
En general, con el término framework, nos estamos refiriendo a una estructura
software compuesta de componentes personalizables e intercambiables para el
desarrollo de una aplicación. En otras palabras, un framework se puede considerar como
una aplicación genérica incompleta y configurable a la que podemos añadirle las últimas
piezas para construir una aplicación concreta.
Los objetivos principales que persigue un framework son: acelerar el proceso de
desarrollo, reutilizar código ya existente y promover buenas prácticas de desarrollo
como el uso de patrones.
Un framework Web, por tanto, podemos definirlo como un conjunto de
componentes (por ejemplo clases en java y descriptores y archivos de configuración en
XML) que componen un diseño reutilizable que facilita y agiliza el desarrollo de
sistemas Web.
2
2. Patrón MVC y Model 2.
Para comprender como trabajan los frameworks Web existentes es
imprescindible conocer el patrón MVC.
El patrón Modelo-Vista-Controlador es una guía para el diseño de arquitecturas
de aplicaciones que ofrezcan una fuerte interactividad con usuarios. Este patrón
organiza la aplicación en tres modelos separados, el primero es un modelo que
representa los datos de la aplicación y sus reglas de negocio, el segundo es un conjunto
de vistas que representa los formularios de entrada y salida de información, el tercero es
un conjunto de controladores que procesa las peticiones de los usuarios y controla el
flujo de ejecución del sistema.
La mayoría, por no decir todos, de los framewroks para Web implementan este
patrón. Una aplicación de este patrón en entornos Java para programación Web es lo
que se conoce con el nombre de arquitectura model 2.
3
Esta arquitectura consiste, a grandes rasgos, en la utilización de servlets para
procesar las peticiones (controladores) y páginas JSP para mostrar la interfaz de usuario
(vistas), implementando la parte del modelo mediante JavaBeans o POJOs.
3. Tipos de framework Web.
Existen varios tipos de frameworks Web: orientados a la interfaz de usuario,
como Java Server Faces, orientados a aplicaciones de publicación de documentos, como
Coocon, orientados a la parte de control de eventos, como Struts y algunos que incluyen
varios elementos como Tapestry.
La mayoría de frameworks Web se encargan de ofrecer una capa de
controladores de acuerdo con el patrón MVC o con el modelo 2 de Servlets y JSP,
ofreciendo mecanismos para facilitar la integración con otras herramientas para la
implementación de las capas de negocio y presentación.
4. Características.
A continuación enunciamos una serie de características que podemos encontrar
en prácticamente todos los frameworks existentes.
Abstracción de URLs y
sesiones.
No es necesario manipular directamente las URLs ni las
sesiones, el framework ya se encarga de hacerlo.
Acceso a datos. Incluyen las herramientas e interfaces necesarias para
integrarse con herramientas de acceso a datos, en BBDD,
XML, etc..
Controladores. La mayoría de frameworks implementa una serie de
controladores para gestionar eventos, como una
introducción de datos mediante un formulario o el acceso a
una página. Estos controladores suelen ser fácilmente
adaptables a las necesidades de un proyecto concreto.
Autentificación y control Incluyen mecanismos para la identificación de usuarios
4
de acceso. mediante login y password y permiten restringir el acceso a
determinas páginas a determinados usuarios.
Internacionalización.
Separación entre diseño y
contenido.
5. Un ejemplo: Struts
El framwrok open-source Struts ha sido desarrollado en Java mediante servlets y
está basado en el Modelo 2, el cual es una variante del patrón MVC.
Struts ofrece su propio componente controlador y proporciona integración con
otras tecnologías para implementar el modelo, mediante tecnologías de acceso a datos
como JDBC o Hibernate, y la vista, mediante JSP, Velocity o XSLT.
Struts ofrece un sistema de tuberías que permite la comunicación entre el
modelo que contiene los datos y las vistas que ofrecen estos datos a los usuarios y
reciben sus órdenes.
6. URLs.
Cocoon http://cocoon.apache.org/
Java Server Faces http://java.sun.com/j2ee/javaserverfaces/index.jsp
JetSpeed http://portals.apache.org/jetspeed-2/
Maverick http://mav.sourceforge.net/
Struts http://struts.apache.org/
Tapestry http://jakarta.apache.org/tapestry/
Wicket http://wicket.codehaus.org/

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (19)

Programacion
ProgramacionProgramacion
Programacion
 
3-Unidad 1. Arquitectura de Diseño
3-Unidad 1. Arquitectura de Diseño3-Unidad 1. Arquitectura de Diseño
3-Unidad 1. Arquitectura de Diseño
 
Patron mvc struts
Patron mvc strutsPatron mvc struts
Patron mvc struts
 
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos 7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos
 
Modelo vista controlador vas Programacion por n capas
Modelo vista controlador vas Programacion por n capasModelo vista controlador vas Programacion por n capas
Modelo vista controlador vas Programacion por n capas
 
Arquitectura MVC
Arquitectura MVCArquitectura MVC
Arquitectura MVC
 
3-Unidad 1: Arquitectura de Diseño-1.2 Controlador-Introducción
3-Unidad 1: Arquitectura de Diseño-1.2 Controlador-Introducción3-Unidad 1: Arquitectura de Diseño-1.2 Controlador-Introducción
3-Unidad 1: Arquitectura de Diseño-1.2 Controlador-Introducción
 
Framework
FrameworkFramework
Framework
 
MODELO VISTA CONTROLADOR
MODELO VISTA CONTROLADORMODELO VISTA CONTROLADOR
MODELO VISTA CONTROLADOR
 
Taller MVC
Taller MVCTaller MVC
Taller MVC
 
Wpf windows presentation foundation
Wpf windows presentation foundationWpf windows presentation foundation
Wpf windows presentation foundation
 
Framework
FrameworkFramework
Framework
 
MODx
MODxMODx
MODx
 
Web 2
Web 2Web 2
Web 2
 
Framework
FrameworkFramework
Framework
 
Frameworks de Java
Frameworks de JavaFrameworks de Java
Frameworks de Java
 
Unidad 1 MOOC MVC
Unidad 1 MOOC MVCUnidad 1 MOOC MVC
Unidad 1 MOOC MVC
 
Programacion 3 mvc
Programacion 3 mvcProgramacion 3 mvc
Programacion 3 mvc
 
Framework
FrameworkFramework
Framework
 

Andere mochten auch

Concurs regional de creații plastice și literare '15
Concurs regional de creații plastice și literare '15Concurs regional de creații plastice și literare '15
Concurs regional de creații plastice și literare '15angelica an
 
D direction 20022017
D direction 20022017D direction 20022017
D direction 20022017Choice Equity
 
Muy historia 100 años despues de la gran guerra - la tragedia que transform...
Muy historia   100 años despues de la gran guerra - la tragedia que transform...Muy historia   100 años despues de la gran guerra - la tragedia que transform...
Muy historia 100 años despues de la gran guerra - la tragedia que transform...Brian Cabrera
 
Medios Audio Visuales 2015
Medios Audio Visuales 2015 Medios Audio Visuales 2015
Medios Audio Visuales 2015 luismsg15
 
Microsoft Office 2013
Microsoft Office 2013 Microsoft Office 2013
Microsoft Office 2013 luismsg15
 
Senior Document Controller & PMT-Administrative Support
Senior Document Controller & PMT-Administrative SupportSenior Document Controller & PMT-Administrative Support
Senior Document Controller & PMT-Administrative SupportSyed Jameel Ahmed Razvi
 
Entornos para compártir recursos
Entornos para compártir recursosEntornos para compártir recursos
Entornos para compártir recursosbochi69
 
Comercio internacional en centro américa
Comercio internacional en centro américaComercio internacional en centro américa
Comercio internacional en centro américa2409paty
 
Modalidades de la Educación
Modalidades de la EducaciónModalidades de la Educación
Modalidades de la Educaciónnanevecaspie
 
informacion en la nube
informacion en la nubeinformacion en la nube
informacion en la nubefrancito91
 
informacion en la nube
informacion en la nubeinformacion en la nube
informacion en la nubefrancito91
 
Pengomposan Daun Cemara Udang Sebagai Upaya Menciptakan Kawasan Zero Waste di...
Pengomposan Daun Cemara Udang Sebagai Upaya Menciptakan Kawasan Zero Waste di...Pengomposan Daun Cemara Udang Sebagai Upaya Menciptakan Kawasan Zero Waste di...
Pengomposan Daun Cemara Udang Sebagai Upaya Menciptakan Kawasan Zero Waste di...SMTI Pontianak
 

Andere mochten auch (20)

Aydeeeee
AydeeeeeAydeeeee
Aydeeeee
 
Sesión 08
Sesión 08Sesión 08
Sesión 08
 
E infine
E infineE infine
E infine
 
Concurs regional de creații plastice și literare '15
Concurs regional de creații plastice și literare '15Concurs regional de creații plastice și literare '15
Concurs regional de creații plastice și literare '15
 
D direction 20022017
D direction 20022017D direction 20022017
D direction 20022017
 
Muy historia 100 años despues de la gran guerra - la tragedia que transform...
Muy historia   100 años despues de la gran guerra - la tragedia que transform...Muy historia   100 años despues de la gran guerra - la tragedia que transform...
Muy historia 100 años despues de la gran guerra - la tragedia que transform...
 
Medios Audio Visuales 2015
Medios Audio Visuales 2015 Medios Audio Visuales 2015
Medios Audio Visuales 2015
 
Microsoft Office 2013
Microsoft Office 2013 Microsoft Office 2013
Microsoft Office 2013
 
Senior Document Controller & PMT-Administrative Support
Senior Document Controller & PMT-Administrative SupportSenior Document Controller & PMT-Administrative Support
Senior Document Controller & PMT-Administrative Support
 
La flora del baix penedes
La  flora  del  baix  penedesLa  flora  del  baix  penedes
La flora del baix penedes
 
Entornos para compártir recursos
Entornos para compártir recursosEntornos para compártir recursos
Entornos para compártir recursos
 
Comercio internacional en centro américa
Comercio internacional en centro américaComercio internacional en centro américa
Comercio internacional en centro américa
 
Modalidades de la Educación
Modalidades de la EducaciónModalidades de la Educación
Modalidades de la Educación
 
informacion en la nube
informacion en la nubeinformacion en la nube
informacion en la nube
 
Strata2015
Strata2015Strata2015
Strata2015
 
Paisajes varios
Paisajes variosPaisajes varios
Paisajes varios
 
Conta 2
Conta 2Conta 2
Conta 2
 
informacion en la nube
informacion en la nubeinformacion en la nube
informacion en la nube
 
Pengomposan Daun Cemara Udang Sebagai Upaya Menciptakan Kawasan Zero Waste di...
Pengomposan Daun Cemara Udang Sebagai Upaya Menciptakan Kawasan Zero Waste di...Pengomposan Daun Cemara Udang Sebagai Upaya Menciptakan Kawasan Zero Waste di...
Pengomposan Daun Cemara Udang Sebagai Upaya Menciptakan Kawasan Zero Waste di...
 
Edufisica22
Edufisica22Edufisica22
Edufisica22
 

Ähnlich wie Framework

Ähnlich wie Framework (20)

Framework
FrameworkFramework
Framework
 
Documentacion struts2
Documentacion struts2Documentacion struts2
Documentacion struts2
 
Documentacion struts2 laura.palma
Documentacion struts2 laura.palmaDocumentacion struts2 laura.palma
Documentacion struts2 laura.palma
 
Documentacion struts 2
Documentacion struts 2Documentacion struts 2
Documentacion struts 2
 
Documentacionstruts2 luiggi
Documentacionstruts2 luiggiDocumentacionstruts2 luiggi
Documentacionstruts2 luiggi
 
Struts en Java
Struts en JavaStruts en Java
Struts en Java
 
Aplicaciones en capas1
Aplicaciones en capas1Aplicaciones en capas1
Aplicaciones en capas1
 
Fr amework
Fr ameworkFr amework
Fr amework
 
Implementacion de un portal web para la automatización del proceso de consult...
Implementacion de un portal web para la automatización del proceso de consult...Implementacion de un portal web para la automatización del proceso de consult...
Implementacion de un portal web para la automatización del proceso de consult...
 
Frameworks MVC para desarrollo de UITES
Frameworks MVC para desarrollo de UITESFrameworks MVC para desarrollo de UITES
Frameworks MVC para desarrollo de UITES
 
Asp
AspAsp
Asp
 
MVC
MVCMVC
MVC
 
modelo MVC.pptx
modelo MVC.pptxmodelo MVC.pptx
modelo MVC.pptx
 
FMK Capa de Presentacion
FMK Capa de PresentacionFMK Capa de Presentacion
FMK Capa de Presentacion
 
Presentación1
Presentación1Presentación1
Presentación1
 
Modelo vista controlador #ihcpfgigs_Diseñoweb
Modelo vista controlador #ihcpfgigs_DiseñowebModelo vista controlador #ihcpfgigs_Diseñoweb
Modelo vista controlador #ihcpfgigs_Diseñoweb
 
S01-s1-MVC.pptx
S01-s1-MVC.pptxS01-s1-MVC.pptx
S01-s1-MVC.pptx
 
MVC.ppt
MVC.pptMVC.ppt
MVC.ppt
 
Framework
FrameworkFramework
Framework
 
Aplicaciones web con jakarta struts - Javier Oliver Fulguera
Aplicaciones web con jakarta struts  - Javier Oliver FulgueraAplicaciones web con jakarta struts  - Javier Oliver Fulguera
Aplicaciones web con jakarta struts - Javier Oliver Fulguera
 

Kürzlich hochgeladen

MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...Arquitecto Alejandro Gomez cornejo muñoz
 
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...humberto espejo
 
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTO
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTOESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTO
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTOCamiloSaavedra30
 
Sistema de gestión de turnos para negocios
Sistema de gestión de turnos para negociosSistema de gestión de turnos para negocios
Sistema de gestión de turnos para negociosfranchescamassielmor
 
Procedimientos constructivos superestructura, columnas
Procedimientos constructivos superestructura, columnasProcedimientos constructivos superestructura, columnas
Procedimientos constructivos superestructura, columnasAhmedMontaoSnchez1
 
trabajos en altura 2024, sistemas de contencion anticaidas
trabajos en altura 2024, sistemas de contencion anticaidastrabajos en altura 2024, sistemas de contencion anticaidas
trabajos en altura 2024, sistemas de contencion anticaidasNelsonQuispeQuispitu
 
01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx
01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx
01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptxluiscisnerosayala23
 
I LINEAMIENTOS Y CRITERIOS DE INFRAESTRUCTURA DE RIEGO.pptx
I LINEAMIENTOS Y CRITERIOS DE INFRAESTRUCTURA DE RIEGO.pptxI LINEAMIENTOS Y CRITERIOS DE INFRAESTRUCTURA DE RIEGO.pptx
I LINEAMIENTOS Y CRITERIOS DE INFRAESTRUCTURA DE RIEGO.pptxPATRICIAKARIMESTELAL
 
5. MATERIAL COMPLEMENTARIO - PPT de la Sesión 02.pptx
5. MATERIAL COMPLEMENTARIO - PPT  de la Sesión 02.pptx5. MATERIAL COMPLEMENTARIO - PPT  de la Sesión 02.pptx
5. MATERIAL COMPLEMENTARIO - PPT de la Sesión 02.pptxJOSLUISCALLATAENRIQU
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasSegundo Silva Maguiña
 
FORMATO REPORTE SEMANAL KLEF - Sem 15.pptx
FORMATO REPORTE SEMANAL KLEF - Sem 15.pptxFORMATO REPORTE SEMANAL KLEF - Sem 15.pptx
FORMATO REPORTE SEMANAL KLEF - Sem 15.pptxSAMAELAUGURIOFIGUERE
 
MUROS Y CONEXIONES NTC 2017 CONCRETO REFORZADO.pptx
MUROS Y CONEXIONES NTC 2017 CONCRETO REFORZADO.pptxMUROS Y CONEXIONES NTC 2017 CONCRETO REFORZADO.pptx
MUROS Y CONEXIONES NTC 2017 CONCRETO REFORZADO.pptxIcelaMartnezVictorin
 
CFRD simplified sequence for Mazar Hydroelectric Project
CFRD simplified sequence for Mazar Hydroelectric ProjectCFRD simplified sequence for Mazar Hydroelectric Project
CFRD simplified sequence for Mazar Hydroelectric ProjectCarlos Delgado
 
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdfCONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdfErikNivor
 
Libro teoria de los vehiculos Aparicio.pdf
Libro teoria de los vehiculos Aparicio.pdfLibro teoria de los vehiculos Aparicio.pdf
Libro teoria de los vehiculos Aparicio.pdferick82709
 
Revista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de ProyectosRevista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de ProyectosJeanCarlosLorenzo1
 
Estudio de materiales asfalticos para utilizar en obras viales
Estudio de materiales asfalticos para utilizar en obras vialesEstudio de materiales asfalticos para utilizar en obras viales
Estudio de materiales asfalticos para utilizar en obras vialesRamonCortez4
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaANDECE
 
lean manufacturing and its definition for industries
lean manufacturing and its definition for industrieslean manufacturing and its definition for industries
lean manufacturing and its definition for industriesbarom
 

Kürzlich hochgeladen (20)

Linea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptxLinea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptx
 
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...
 
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
 
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTO
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTOESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTO
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTO
 
Sistema de gestión de turnos para negocios
Sistema de gestión de turnos para negociosSistema de gestión de turnos para negocios
Sistema de gestión de turnos para negocios
 
Procedimientos constructivos superestructura, columnas
Procedimientos constructivos superestructura, columnasProcedimientos constructivos superestructura, columnas
Procedimientos constructivos superestructura, columnas
 
trabajos en altura 2024, sistemas de contencion anticaidas
trabajos en altura 2024, sistemas de contencion anticaidastrabajos en altura 2024, sistemas de contencion anticaidas
trabajos en altura 2024, sistemas de contencion anticaidas
 
01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx
01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx
01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx
 
I LINEAMIENTOS Y CRITERIOS DE INFRAESTRUCTURA DE RIEGO.pptx
I LINEAMIENTOS Y CRITERIOS DE INFRAESTRUCTURA DE RIEGO.pptxI LINEAMIENTOS Y CRITERIOS DE INFRAESTRUCTURA DE RIEGO.pptx
I LINEAMIENTOS Y CRITERIOS DE INFRAESTRUCTURA DE RIEGO.pptx
 
5. MATERIAL COMPLEMENTARIO - PPT de la Sesión 02.pptx
5. MATERIAL COMPLEMENTARIO - PPT  de la Sesión 02.pptx5. MATERIAL COMPLEMENTARIO - PPT  de la Sesión 02.pptx
5. MATERIAL COMPLEMENTARIO - PPT de la Sesión 02.pptx
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la Ingenierías
 
FORMATO REPORTE SEMANAL KLEF - Sem 15.pptx
FORMATO REPORTE SEMANAL KLEF - Sem 15.pptxFORMATO REPORTE SEMANAL KLEF - Sem 15.pptx
FORMATO REPORTE SEMANAL KLEF - Sem 15.pptx
 
MUROS Y CONEXIONES NTC 2017 CONCRETO REFORZADO.pptx
MUROS Y CONEXIONES NTC 2017 CONCRETO REFORZADO.pptxMUROS Y CONEXIONES NTC 2017 CONCRETO REFORZADO.pptx
MUROS Y CONEXIONES NTC 2017 CONCRETO REFORZADO.pptx
 
CFRD simplified sequence for Mazar Hydroelectric Project
CFRD simplified sequence for Mazar Hydroelectric ProjectCFRD simplified sequence for Mazar Hydroelectric Project
CFRD simplified sequence for Mazar Hydroelectric Project
 
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdfCONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
 
Libro teoria de los vehiculos Aparicio.pdf
Libro teoria de los vehiculos Aparicio.pdfLibro teoria de los vehiculos Aparicio.pdf
Libro teoria de los vehiculos Aparicio.pdf
 
Revista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de ProyectosRevista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de Proyectos
 
Estudio de materiales asfalticos para utilizar en obras viales
Estudio de materiales asfalticos para utilizar en obras vialesEstudio de materiales asfalticos para utilizar en obras viales
Estudio de materiales asfalticos para utilizar en obras viales
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes Granada
 
lean manufacturing and its definition for industries
lean manufacturing and its definition for industrieslean manufacturing and its definition for industries
lean manufacturing and its definition for industries
 

Framework

  • 1. 1 ¿Qué es un framework web? Javier J. Gutiérrez. javierj@lsi.us.es El objetivo de este trabajo es explicar de forma clara y sencilla en que consiste un framework para sistemas Web y las características generales de estos frameworks. A continuación se realiza una breve descripción de Struts, uno de los framewoks más utilizados en desarrollo Web bajo plataforma Java. 1. ¿Qué es un framework Web?. El concepto framework se emplea un muchos ámbitos del desarrollo de sistemas software, no solo en el ámbito de aplicaciones Web. Podemos encontrar frameworks para el desarrollo de aplicaciones médicas, de visión por computador, para el desarrollo de juegos, y para cualquier ámbito que pueda ocurrírsenos. En general, con el término framework, nos estamos refiriendo a una estructura software compuesta de componentes personalizables e intercambiables para el desarrollo de una aplicación. En otras palabras, un framework se puede considerar como una aplicación genérica incompleta y configurable a la que podemos añadirle las últimas piezas para construir una aplicación concreta. Los objetivos principales que persigue un framework son: acelerar el proceso de desarrollo, reutilizar código ya existente y promover buenas prácticas de desarrollo como el uso de patrones. Un framework Web, por tanto, podemos definirlo como un conjunto de componentes (por ejemplo clases en java y descriptores y archivos de configuración en XML) que componen un diseño reutilizable que facilita y agiliza el desarrollo de sistemas Web.
  • 2. 2 2. Patrón MVC y Model 2. Para comprender como trabajan los frameworks Web existentes es imprescindible conocer el patrón MVC. El patrón Modelo-Vista-Controlador es una guía para el diseño de arquitecturas de aplicaciones que ofrezcan una fuerte interactividad con usuarios. Este patrón organiza la aplicación en tres modelos separados, el primero es un modelo que representa los datos de la aplicación y sus reglas de negocio, el segundo es un conjunto de vistas que representa los formularios de entrada y salida de información, el tercero es un conjunto de controladores que procesa las peticiones de los usuarios y controla el flujo de ejecución del sistema. La mayoría, por no decir todos, de los framewroks para Web implementan este patrón. Una aplicación de este patrón en entornos Java para programación Web es lo que se conoce con el nombre de arquitectura model 2.
  • 3. 3 Esta arquitectura consiste, a grandes rasgos, en la utilización de servlets para procesar las peticiones (controladores) y páginas JSP para mostrar la interfaz de usuario (vistas), implementando la parte del modelo mediante JavaBeans o POJOs. 3. Tipos de framework Web. Existen varios tipos de frameworks Web: orientados a la interfaz de usuario, como Java Server Faces, orientados a aplicaciones de publicación de documentos, como Coocon, orientados a la parte de control de eventos, como Struts y algunos que incluyen varios elementos como Tapestry. La mayoría de frameworks Web se encargan de ofrecer una capa de controladores de acuerdo con el patrón MVC o con el modelo 2 de Servlets y JSP, ofreciendo mecanismos para facilitar la integración con otras herramientas para la implementación de las capas de negocio y presentación. 4. Características. A continuación enunciamos una serie de características que podemos encontrar en prácticamente todos los frameworks existentes. Abstracción de URLs y sesiones. No es necesario manipular directamente las URLs ni las sesiones, el framework ya se encarga de hacerlo. Acceso a datos. Incluyen las herramientas e interfaces necesarias para integrarse con herramientas de acceso a datos, en BBDD, XML, etc.. Controladores. La mayoría de frameworks implementa una serie de controladores para gestionar eventos, como una introducción de datos mediante un formulario o el acceso a una página. Estos controladores suelen ser fácilmente adaptables a las necesidades de un proyecto concreto. Autentificación y control Incluyen mecanismos para la identificación de usuarios
  • 4. 4 de acceso. mediante login y password y permiten restringir el acceso a determinas páginas a determinados usuarios. Internacionalización. Separación entre diseño y contenido. 5. Un ejemplo: Struts El framwrok open-source Struts ha sido desarrollado en Java mediante servlets y está basado en el Modelo 2, el cual es una variante del patrón MVC. Struts ofrece su propio componente controlador y proporciona integración con otras tecnologías para implementar el modelo, mediante tecnologías de acceso a datos como JDBC o Hibernate, y la vista, mediante JSP, Velocity o XSLT. Struts ofrece un sistema de tuberías que permite la comunicación entre el modelo que contiene los datos y las vistas que ofrecen estos datos a los usuarios y reciben sus órdenes. 6. URLs. Cocoon http://cocoon.apache.org/ Java Server Faces http://java.sun.com/j2ee/javaserverfaces/index.jsp JetSpeed http://portals.apache.org/jetspeed-2/ Maverick http://mav.sourceforge.net/ Struts http://struts.apache.org/ Tapestry http://jakarta.apache.org/tapestry/ Wicket http://wicket.codehaus.org/