Un framework Web, 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 re-utilizable que facilita y agiliza el desarrollo de sistemas Web.
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.
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.
Características
Hay 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.