Introducción al desarrollo web

Internet es un sistema global de redes de dispositivos interconectados, la comunicación es posible porque se definió un lenguaje común para las máquinas, el protocolo TCP/IP.

Su origen es ARPANET, creada para el departamento de defensa de EEUU, puedes ver su historia aquí.

Internet está compuesto por muchos servicios, algunos de los más representativos son:

  • Correo electrónico: Servicio de mensajería entre usuarios.
  • FTP (File Transfer Protocol); Transferencia de ficheros entre máquinas.
  • WWW: Sistema de documentos de hipertexto interconectados entre si a los que se accede a través de un navegador.

Dentro del mundo web nos encontramos con dos elementos fundamentales: las páginas webs, documentos accesibles con información contenida, y las aplicaciones web, que haciendo uso de un navegador como cliente, acceden a funciones de manera rápida y sencilla, como tiendas online, wikis…etc.

El desarrollo web, frente al desarrollo clásico, ofrece algunas ventajas:

  • Falta de de problemas de compatibilidad.
  • No ocupa espacio en el disco duro.
  • Alta disponibilidad.
  • Gran facilidad para actualización.
  • Multiplataforma.

Existen también algunos inconvenientes que debemos tener en cuenta cuando desarrollamos en entornos web:

  • Menos funcionales que una aplicación de escritorio.
  • La disponibilidad a menudo depende de un tercero.
  • No todos los navegadores lo interpretarán del mismo modo.
  • Dependencia de comunicación con el servidor.
  • No es adecuado para un volumen grande de datos en tiempo real.

Arquitecturas web

La arquitectura de la web definirá la distribución de los contenidos de la web, siempre de forma racional y lógica.

Se busca satisfacer una accesibilidad y navegabilidad sencillas.

Existen tres conceptos básicos que debemos conocer:

  • Servidor web: Es el servidor que escucha las peticiones HTTP del navegador, también realiza las consultas a la base de datos.
  • Base de datos: Almacén de la información, interactúa con el servidor.
  • Cliente web: Es el encargado de realizar las peticiones al servidor a través del navegador.

La W3C define 4 modelos principales de arquitectura para las aplicaciones web, entre ellos sobresale el modelo cliente-servidor:

  • Modelo cliente servidor: Es un modelo de tres capas en el que el cliente se abstrae del modelo de negocio y de datos y se limita a la capa de presentación, es el modelo en el que nos centraremos.
  • Modelo orientado a mensajes (MOM): Se centra en la definición de los mensajes, estructura, transporte, etc…
  • Modelo orientado a servicios (SOM): Se ocupa de los aspectos de la arquitectura relacionados con el servicio y la acción.
  • Modelo orientado a recursos (ROM): Se centra en los aspectos de la arquitectura relacionados con los recursos y sus características principales.

Estructura del modelo cliente-servidor:

Este modelo se divide en tres partes bien diferenciadas, estas se denominan capas:

  • Capa de negocio: Es donde se desarrolla la funcionalidad ejecutable, aquí se gestionan y responden las peticiones del cliente que provienen de la capa de presentación. Esta capa reside en el servidor, usa tecnologías como PHP, Perl, ASP, ASP.NET, ColdFusion, embPerl.
  • Capa de presentación: Es la parte de la web con la que interactúa el cliente, lo hace a través de interfaces. La capa de presentación remite las peticiones del usuario al servidor, y muestra por pantalla la posible respuesta, las tecnologías de esta capa son algunas como CSS, HTML, angular, react, vue…
  • Capa de datos: Es la capa donde se almacenan los datos, presenta una abstracción completa con respecto a la capa de presentación, sólo interactúa con la capa de negocio. Se ubica en el servidor, no necesariamente en el mismo que la capa de negocio. Algunas tecnologías para implementar esta capa son PostgreSQL, MySQL, Oracle DBMS, MongoDB o Cassandra.

¿Te ha resultado útil?

Promedio de puntuación 4 / 5. Recuento de votos: 3