Glosario de Términos del Desarrollo Web

Una de las dificultades a la hora de aprender el desarrollo web es la cantidad de términos y acrónimos que tiene. En esta entrada explicaremos un listado de términos cruciales para entender el desarrollo web,

Read More

Arquitectura Cliente Servidor

Principios de la arquitectura cliente servidor.

A fin de poder entender correctamente el comportamiento de la Arquitectura Web es importante describir el funcionamiento de la arquitectura de aplicaciones Cliente-Servidor.

Read More

Curso de Symfony 2 (I): Conceptos fundamentales

Este conjunto de tutoriales tratarán sobre el desarrollo de aplicaciones web con Symfony 2.0
En este primer tutorial trataremos de explicar los conceptos fundamentales del Framework de Symfony 2.0, para que así las siguientes entregas se puedan llegar a entender mucho más facilmente.

El glosario de términos que utilizaremos son los siguientes:

  • HTTP/S: protocolo principal de la web.
  • Petición: información enviada desde el cliente HTTP al servidor.
  • URL: Parte de la petición HTTP que define entre otras cosas el servidor, la ruta el fichero y un conjunto de parámetros.
  • Respuesta: información devuelta por parte del servidor al cliente.
  • Base de Datos: fuente de información estructurada en tablas, campos y relaciones.
  • Modelo-Vista-Controlador: patrón de diseño de aplciaciones de tres capas.
  • Modelo: conjunto de clases y objetos que manejan la conexión y las consultas a la base de datos.
  • Control: conjunto de clases que gestionan y procesan la información y la lógica de negocio de una aplicación.
  • Vista: conjunto de ficheros que componen el apartado visual de una aplicación, con lo que interactúa el usuario.
  • Controlador Principal Web: Clase principal que captura las peticiones entrantes de una aplicación web y pasa el control a las distintas funcionalidades de la aplicación web.
  • Módulo: agrupación de funcionalidades de una aplicación. Una aplicación suele contener distintos módulos. Por ejemplo, la gestión de clientes.
  • Acción: funcionalidad específica de un módulo, por ejemplo, dar de alta un cliente.
  • Plantilla: fichero que permite la generación dinámica de una vista de un módulo, por ejemplo la vista que presenta la información de un cliente.
  • Controlador de Módulo: Clase que implementa las funcionalidades del Control de un Módulo.
  • Bundle o Componente:  conjunto de funcionalidades de alto nivel, podría decirse que es un conjunto de módulos.
  • Framework: conjunto de herramientas y bibliotecas que facilitan la tarea del programados a la hora de desarrollar aplicaciones.

Flujo de la gestión de una petición con Symfony 2

Una de las cuestiones principales a la hora de entender un nuevo framework web, es la manera en la cual se gestionan las peticiones web internamente, de cara a comprender qué pasos van dándose hasta la resolución de una petición.
Gracias al libro de Symfony 2 disponemos de un gráfico revelador respecto al funcionamiento interno de Symfony 2.

Como puede observarse en este diagrama, las distintas peticiones son gestionadas por un Controlador Principal de la Aplicación Web o Control de la Aplicación. Como sucede en otros frameworks, como Spring, todas las peticiones son despachadas por este controlador principal, el cual trata de averiguar que parte de la aplicación debe ser ejecutada para resolver la petición.
La localización de la funcionalidad se realiza a través de un sistema de routing, o mapping, como quiera verse, en el que se relacionan las distintas direcciones URL con las funcionalidades existentes en la aplicación.
Una vez localizada la funcionalidad a ejecutar, se cede el control a un Controlador de módulo el cual ejecuta la Acción específica que resolverá la petición generando una Respuesta.

Componentes principales

Los componentes principales de Symfony 2 son los siguientes:

  • HttpFundation: contiene las clases Request y Response, entre otras
  • Routing: sistema de enrutado de peticiones
  • Form: clases de manejo de formularios y envíos
  • Validator: clases de validación de datos
  • ClassLoader: sistema de carga de clases
  • Templating: sistema de gestión de plantillas
  • Security: herramientas de seguridad
  • Translation: sistema de traducciones

Referencias: 

Symfony 2.0 Book: http://symfony.com/doc/current/book/index.html

Licencia Creative Commons

Categorías de Cursos

Suscríbete al Boletín

Si quieres estar al tanto de las novedades del blog, ya sabes :)
* = campo obligatorio

powered by MailChimp!

Si estás interesado en seguir formándote tenemos una serie de cursos gratuitos: http://cursosdedesarrollo.com/cursos/

También disponemos de algunos cursos de pago por si son de tu interés: https://cursosdedesarrollo.com/tienda/

Curso de Angular: https://cursosdedesarrollo.com/tienda/angular/

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información. ACEPTAR

Aviso de cookies