Teoría sobre implantación de arquitecturas web

De MediaWiki
Ir a la navegación Ir a la búsqueda

Introducción

A arquitectura web define cómo se vai a xerarquizar a información dentro dun sitio web de forma racional e lóxica.

O seu objetivo é a agrupación visual de información nun sitio web que permitirá o acceso intuitivo e a navegabilidade.

Existen unha serie de tecnoloxías a nivel de cliente e de servidor que debemos coñecer para implantar as nosas solucións web;a elección dependerá da dimensión, requisitos e custe do proxecto.

Arquitecturas web

Hai tres elementos principais nunha aplicación que permiten a conexión e o acceso a datos por parte de calquera petición dun cliente:

  1. Servidor web: é o servidor ou cerebro da arquitectura escoitando as peticions HTTP desde o navegador; realiza tamén consultas á base de datos para responder a esas peticións.
  2. Base de datos: é onde se almacenan un conxunto de datos organizados xerárquicamente. O servidor web require esa información ou a actualización/eliminación da mesma, e o sistema xestor de base de datos fai esa operación.
  3. Cliente web: é o que realiza as peticións o servidor web mediante un navegador e un sistema operativo concreto que é independente da arquitectura.

Servidor web

Base de datos

Cliente web

Vantaxes e inconvintes das aplicacións web

Algunhas vantaxes:

  • Non é preciso facer despregue e instalación nos equipos en que se vaian a utilizar; instálanse nun equipo, o servidor, e iso é suficiente para que se poidan utilizar de forma simultánea desde moitos equipos.
  • A súa xestión (copias de seguridade dos seus datos, corrixir errores e facer actualizacións, ...) é moi sinxela por estar instaladas únicamente no servidor.
  • Pódense utilizar en todos aqueles sistemas que dispoñan dun navegador web compatible independentemente das súas características (non é preciso un equipo potente) ou do seu sistema operativo.
  • Pódense utilizar desde calquier lugar con conexión o servidor, por exemplo, desde dispositivos móbiles.

Algúns inconvintes son:

  • A interface de usuario das aplicacións web é a páxina que se amosa no navegador restrinxindo as características da interfaz a aquelas das páxinas web.
  • Non todos os navegadores web teñen as mesmas capacidades, polo que pode ser preciso facer adaptacións e moitas probas para o seu correcto funcionamento na maioría deles.
  • Dependemos dunha conexión co servidor para poder utilizarlas; se falla a conexión non poderemos acceder á aplicación web, e implica tráfico de rede (e consumo de datos en dispositivos móbiles).
  • A información que se amosa no navegador debe transmitirse desde el servidor o que non as fai axeitadas para tratamento de datos moi pesados en tempo real (por exemplo as aplicacións que manexan contido multimedia como as de edición de vídeo).

Evolución da tecnoloxía web

A tecnoloxía evolucionou de forma exponencial desde que comezou a era da informática ata os nosos días. No contexto da web ligado a tecnoloxía de Internet son moitos os compoñentes da web que evolucionaron. Entre outros:

  • Ancho de banda: o hardware de comunicacións era moi costoso e lento; é ahora máis económico e veloz.
  • Almacenamento: manexamos cantidades inxentes de información que se poden almacenar e explotar gracias ás investigacións e os dispositivos de almacenamento actuais, que non teñen nada que ver en capacidade, fiabilidade e rendemento cos pasados.
  • Información: dunha información moito máis estática pasamos a unha moito máis dinámica con máis interacción co usuario.
  • Computación: os procesadores, memoria e disco duro na actulidade permiten operacións moito máis rápidas.
  • Tecnoloxía: existe un amplio abanico de posibilidades que se poden implementar tanto no cliente coma no servidor axiliando o desenvolvemento dunha aplicación e aumentando a súa calidae; xa non é preciso partir de cero nin reinventar a roda.
  • Infraestructuras: engloba todo o mencionado.
Na actualidade existen unha variedade de posibilidades que antes non existían polo avance da tecnoloxía:  existe alta disponibilidad, backup remoto, duplicidade de nodos en caso de fallo hardware e software, uso de intelixencia artificial e algoritmos adaptativos, explotación da información mediante a xestión de big data

Web 1.0

Nos inicios da informática o contido da web era estático e non existían protocolos de seguridade que permitiran a fiabilidade das conexións, cousa impensable na actualidade en cualquera organización.

Esta primera fase na que non existía interacción co usuario e as páginas web eran estáticas baseadas na linguaxe de marcas HTML denominouse Web 1.0. Tim Berners-Lee foi no ano 1991 o creador da primera páxina web con contido estático, onde existían marcas e botóns gif. A intearcción dos usuarios era soamente mediante email, foros e chats.

Web 1.5

Os desarrolladores investigaron sobre as posibilidades de ampliar esta primeira web e incluir máis funcionalidades; xurdiron as primeiras aplicacións web dinámicas que interactuaban con bases de datos no que alguns autores deron en denominar Web 1.5.

Web 2.0

A verdadeira evolución viu coa Web 2.0 ou web social na que se pasou á interacción total co usuario e un compoñente activo no modelo web.

Algúns ítems importantes foron:

  • Follas de estilo CSS que dan vistosidade as webs.
  • Uso de JSON.
  • Desenvolvemento en Ajax.
  • Soporte para os blogs.
  • Comezo das redes sociais.
  • Control total dos usuarios no manexo da información.

O seguinte avance significativo foi a aparición da Web 3.0, data web ou web semántica: un gran salto no avance tecnolóxico hacia a intelixencia artificial.

Alguns dos avances son:

  • Diseño reponsive.
  • Web multimedia.
  • Aplicacións intelixentes.
  • Web semántica máis intelixencia artificial.
  • Impulso á Web 3D.
  • Participación máis activa na rede.
  • CSS3.

Por último, trala incorporación no cine da tecnoloxía 3D, en CSS3 xa é posible traballar en terceira dimensión, e HTML5 comeza a incorporar avances neste sentido.

Tecnoloxías usadas en aplicacións web

Actualmente, a maioría das aplicacións web do mercado usan páxinas dinámicas que se executan no servidor web e se visualizan no cliente (navegador).

Existen páxinas de contido estático e dinámico; normalmente, cando existe contenido dinámico execútase código tanto no cliente coma no servidor.

Podes atopar información máis detallada de linguaxes no lado servidor e no lado cliente. A continuación indícanse algúnhas das alternativas.

No lado servidor

  1. CGI (Common Gateway Interface): ó principio de Internet o servidor soamente podía executar programas de tipo C, Perl e línñas de comando Powershell. Estas instrucciones eran executadas polo sistema operativo e se transmitían ó navegador mediante o CGI.
  2. ASP.NET (Active Server Pages): framework de desenvolvemento libre de Windows orientado a obxectos;existen versións para Linux ye Unix.
  3. Java: aínda que tamén se pode utilizar no lado cliente, destaca no seu uso no lado servidor polo grupo de tecnoloxías asociadoas: JSF (JavaServer Faces), JSP (JavaServer Pages) e os servlets.
  4. Ruby: linguaxe interpretada de propósito xeral, dinámica e flexible; é de alto nivel, software libre e multiplataforma.
  5. Perl: Toma moitas características da linguaxe C e caracterízase pola súa destreza á hora de procesar texto. Apache conta cun módulo que permite executar programas deste tipo.
  6. PHP: linguaxe de propósito xeral dos máis usados no desenvolvemento backend. É motor de sistemas coma Wordpress, Drupal, Magento, Joomla, etc. Existen frameworks moi potentes (Laravel, Symfony, codeIgnition) que facilitan a súa programación. Permite acceso a bases de datos relacionais coma NoSQL (por exemplo MongoDB).
  7. Python: é unha linguaxe interpretada moi poderosa, fácil de aprender e de alto nivel; é unha lenguaxe orientada a obxectos que destaca polo seu tipado dinámico.
  8. Javascript: es un lenguaje ligero, interpretado y orientado a objetos. Para aprenderlo es preciso un conocimiento básico de HTML y CSS. Interviene sobre todo en el contenido dinámico y en la interacción con el usuario. Permite controlar archivos de multimedia, creación de imágenes animadas, animación en 3D. Destaca por su aportación a la mayoría de los ámbitos de la tecnología.
A linguaxe R é moi usada en tecnología web debido o crecemiento exponencial do Big Data.

No lado cliente

  1. HTML y CSS: HTML é a linguaxe de marcas que xurdíu xunto cos navegadores e o medio para transmitir información entre o cliente e o servidor. Posteriormente CSS (Cascading Style Sheets) permitíu deseñar gráficamente e maqueetar a páxina HTML. É unha especificación que parte do W3C da que na actualidade está publicada a versión 3. Non son propiamente linguaxes de programación, pero si linguaxes informáticas.
  2. Javascript: comentado anteriormente, se puede usar tanto en el cliente como en el servidor. Es uno de los más extendidos porque es soportado por la mayoría de los navegadores.
  3. VBScript: es la competencia de Java que hizo Microsoft. Este lenguaje ha entrado en desuso, ya que no es compatible con la mayoría de los navegadores, solamente con Internet Explorer. Es un lenguaje interpretado por Windows Scripting Host de Microsoft. Se basa en el lenguaje de programación Visual Basic.

En ambos

  1. DHTML: non é unha linguaxe de programación sino unha linguaxe informática; abrangue o conxunto de todos os elementos dunha páxina, coma por exemplo son o fondo, as posicións de controis, caixas, contido dinámico, etc.
  2. XML: é unha tecnoloxía relacionada coas linguaxes de marca que permite compartir datos e incluso formar parte duhna base de datos. Estos ficheiros .xml útilizanse tamén para a configuración da moitas das aplicacións e dos servidores web e de aplicacións.

Referencias