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

RSS Cursos de Desarrollo

  • Serie de Artículos de Docker 13/01/2020
    En esta entrada veremos cómo manejar Docker, en una serie de artículos explicativos. No te los pierdas He instalado Docker, ¿Y ahora qué? Docker Compose, para cuando quieres arrancar varios contenedores de manera coordinada
  • ¿Que Frameworks de Frontend son los más utilizados en el millón de páginas del Top de Alexa? 09/01/2020
    Partiendo de la idea del blog de de Andros, y del post sobre su estudio del uso de WordPress con un ejemplo de Clojure. He iniciado un proyecto secundario sobre el uso de las tecnologías usadas en las, más de 1.000.000 principales webs de Internet según Alexa. La idea, es la de ampliar la publicación […]
  • Artículos de administración de Servidores 08/01/2020
    Esta serie de artículos nos permiten saber cómo se instala y se configura un servidor desde cero: Nuevo Servidor NAS reciclado Acceso a servidor de la oficina desde fuera gracias a dinaip Configuración de un firewall de manera sencilla en Debian/Ubuntu
  • ¿Cuál es el uso de WordPress en los principales sitios de Internet según Alexa? 14/12/2019
    Empezamos con nuestra serie de publicaciones sobre tecnologías concretas que más se usan en Internet, en este caso con WordPress. ¿Quieres saber cómo es de importante y cuánto se utiliza? No te pierdas esta entrada.
  • Estudio de Uso de Tecnologías en el millón de páginas más vistas según Alexa 13/12/2019
    Partiendo de la idea del blog de de Andros, y del post sobre su estudio del uso de WordPress con un ejemplo de Clojure. He iniciado un proyecto secundario sobre el uso de las tecnologías usadas en las, más de 1.000.000 principales webs de Internet según Alexa. La idea, es la de ampliar la publicación […]
  • Configuración de un firewall de manera sencilla en Debian/Ubuntu 08/12/2019
    Uno de los problemas principales a la hora de asegurar un servidor es la de filtrar el tráfico de entrada y de salida del mismo, asegurando así que todas las conexiones entrantes y salientes están controladas y sabemos desde donde podemos entrar a los servicios que queremos y no desde donde no queremos. En esta […]
  • Acceso a servidor de la oficina desde fuera gracias a dinaip 06/12/2019
    Una de las tareas para poder acceder a los servicios de nuestro flamante servidor reciclado desde Internet es la de poder configurar el Router y el DNS Dinámico para darle un nombre fijo en Internet, en esta entrada explicaremos cómo lo hemos hecho. Solicitud de IP abierta a Internet en Pepephone El primer paso que […]
  • Arquitectura Web 4.0: Entornos Desacoplados 04/12/2019
    Dentro de la arquitectura Web un Entorno Desacoplado es la combinación de un FrontEnd y un Backend. En esta entrada veremos cómo funciona esta arquitectura desde los puntos más básicos. Como puede verse en el diagrama, una vez cargada una aplicación Frontend, se debería comportar como un agente más que consulta al Servicio Web Rest […]
  • Arquitectura Web 3.0 Frontend 02/12/2019
    Para entender cómo funciona la web iremos viendo cómo funciona de una manera sencilla a la más compleja. En esta entrada veremos los pasos para resolver una petición Web HTTP que gestionar el Navegador Web y cómo se ejecuta el código Javascript   Cliente Web: Solicita la resolución de nombres, actúa como un cliente DNS, […]
  • Estudio de uso de CMSs en los principales 100.000 sitios de la web según Alexa 02/12/2019
    Partiendo de la idea del blog de de Andros, y del post sobre su estudio del uso de WordPress con un ejemplo de Clojure. He iniciado un proyecto secundario sobre el uso de las tecnologías usadas en las, en principio, 100.000 principales webs de Internet según Alexa. La idea, será la de ampliar la publicación […]

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