fbpx

Estructura de una aplicación web

Hace algunos años, cuando se desarrollaba una herramienta de software, era común entregar todo el trabajo compilado dentro de un archivo instalable. Este archivo podía estar copiado dentro de un CD, memoria USB o podía ser descargado desde la web. El mismo contenía todo el proyecto de software y era necesario instalar todos sus componentes en la computadora o servidor que lo ejecutaría.

Una vez instalada la herramienta podías hacer uso de su interfaz gráfica, que funcionaba como cliente. Por medio de esta interfaz eras capaz de hacer solicitudes a otro módulo de software que hacía las veces de servidor. Este segundo modulo podía estar instalado en la misma computadora o podía ser accedido a través de solicitudes web.

Con este modelo de software la herramienta desarrollada tenía limitaciones, la mayoría dadas por el equipo huésped. En otras palabras, si tu computadora o servidor no tenían espacio en el disco duro, tampoco lo tenía la herramienta. Si sufrían el ataque de un hacker o virus informático, se comprometía toda la herramienta y la información que estaba almacenaba. Si tu computadora o servidor dejaban de funcionar por cualquier motivo, así mismo tu herramienta se volvía inoperante.

Las Aplicaciones Web

Esto cambió con la llegada de las aplicaciones web. Una aplicación web es una herramienta de software que se accede y utiliza a través de un navegador web. Esta nueva estrategia de programación fue ganando seguidores rápidamente gracias a la independencia que tiene con el dispositivo desde el cual se utiliza y las grandes ventajas que esto supone.

Las aplicaciones web no se instalan ni se ejecutan en un computador o servidor. Quizás te estés preguntando… ¿y cómo puedo utilizar un software que no está instalado en mi equipo? La respuesta ya la mencioné en el párrafo anterior, gracias a los navegadores. La aplicación web se podrá acceder desde navegadores como Google Chrome, Mozilla Firefox, Microsoft Edge, Internet Explorer, Opera, etc.

Esta posibilidad le proporciona otra ventaja que tienen las aplicaciones web: son herramientas multiplataforma. Si observas una vez mas la lista de navegadores, caerás en cuenta que alguno de ellos funcionan en varios dispositivos, por ejemplo: Google Chrome, yo lo tengo instalado en mi smartphone y en mi Laptop; también está Opera, que es el navegador de los dispositivos iOS. Los navegadores son aplicaciones comunes de todos los dispositivos con conexión a internet, lo cual significa que una aplicación web también se podrá acceder desde los mismos dispositivos.

¿Cómo está estructurada una aplicación web?

Aunque existen muchas posibilidades para estructurar una aplicación web, todas se pueden resumir en tres capaz principales. Interfaz gráfica, Controlador o servidor y Base de Datos.

Interfaz gráfica

Es la primera capa de una aplicación web utilizada directamente por los usuarios. En las aplicaciones web esta capa es ejecutada por un navegador. El lenguaje más utilizado para implementar esta capa es HTML, también se puede utilizar XML.

HTML (HyperText Markup Language) es un lenguaje no compilado que permite plasmar y posicionar cada uno de los elementos de una página web. El archivo HTML es interpretado por el navegador y lo dibuja en pantalla. Para darle estilo, colores, animaciones y adaptabilidad a diferentes tamaños de pantallas necesitaremos escribir código CSS (Cascading Style Sheets). Por último, si deseamos darle una experiencia más interactiva, como actualizar cierta parte de la pantalla, necesitaremos implementar un poco de JavaScript. Estas tres tecnologías trabajan en armonía para darle al usuario la experiencia interactiva que se desea dentro de cualquier aplicación web.

Controlador o servidor

Este módulo es el encargado de recibir todas las solicitudes realizadas por el usuario en la interfaz gráfica, interpretarlas, ejecutarlas y por último devolver la información a la primera capa. El controlador es el encargado de establecer conexión con la base de datos para introducir, actualizar o consultar la información que requiera el usuario.

Existen muchas tecnologías que pueden realizar el trabajo de la segunda capa, entre las cuales podemos mencionar:

  • PHP
  • Java: Java Servlets o JSP
  • JavaScript en su modalidad de Server Side JavaScript
  • Perl
  • Ruby
  • Phyton
  • js
  • ASP y ASP.NET

Base de datos

Es la capa más importante de toda aplicación web, ya que almacena toda la información de la herramienta. La base de datos también puede realizar algunas tareas que por definición se deberían realizar en el controlador, pero que al poder realizarlas desde la base de datos podemos proporcionar más velocidad de respuesta. Estas tareas pueden hacerse en forma de procedimientos almacenados o funciones de base de datos.

Las herramientas de base de datos más utilizadas son:

  • MySQL
  • MS SQL Server
  • Oracle
  • Microsoft Access
  • Postgre SQL

Ventajas de las aplicaciones web

  • Menor tiempo de implementación: se puede ejecutar la aplicación sin necesidad de instalaciones ni configuraciones previas.
  • Ahorro de espacio: Al no estar instaladas en tu equipo, no consumen espacio de disco duro.
  • Poco consumo de recursos: como esta alojada en un servidor distinto a tu computador, las tareas de la herramienta no consumirán memoria ni recursos de tu computador, sino del servidor.
  • Compatibilidad: Se pueden utilizar desde cualquier sistema operativo y navegador
  • Virus o Malware: Si tienes tu computador infectado con virus o malware, tu información no se verá afectada. En caso de dañarse la computadora podrás acceder desde cualquier otro dispositivo.
  • Disponibilidad: Al estar alojada en otro servidor, se puede considerar un servicio de nube, los cuales comúnmente tienen una alta disponibilidad debido a que están configurados para propagarse en caso de caídas de servidores y demás.
  • Actualizaciones inmediatas: Al estar utilizando una aplicación web, no necesitaremos instalar actualizaciones, ni configuraciones. Siempre estaremos utilizando la última versión del software.

Desventajas de las aplicaciones web

  • La disponibilidad se puede ver interrumpida por falta de conexión a internet. En otras palabras, dependemos de nuestro proveedor de internet.

Ejemplo de aplicaciones web que usamos comúnmente

En nuestros tiempos es raro que no hayamos utilizado alguno de los servicios que se ofrecen como aplicación web. Podemos disfrutar de ellos en distintas áreas o para distintas tareas:

  • Correo electrónico: Hotmal, Gmail, Yahoo
  • Almacenamiento: Google Drive, OneDrive, Dropbox
  • Ofimática: Office 365, Google Docs
  • Entretenimiento: Netflix, Youtube, Twitch, Mixer
  • Redes sociales: Facebook, Twitter, Instagram
  • Compras: Ebay, Amazon

Nuestra empresa Intercoud se especializa en desarrollo de aplicaciones web, teniendo como proyecto estrella nuestra Plataforma de Gestión Veterinaria Luvet PetsCare.

Gracias por leer el artículo hasta el final, si te gustó el contenido suscríbete a nuestro blog para que recibas de primera mano todos nuestros artículos.

Fuentes:

¿Te gustó este post?

Tenemos muchas publicaciones como esta!

Solo te enviaremos contenido de calidad. Prometido!

Una respuesta

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Dale Me gusta!

Compártelo con tus amigos

Share on facebook
Share on google
Share on twitter
Share on linkedin
Share on pinterest
Share on whatsapp