PUNTO 1.1 ANOTACIONES DE INVESTIGACIÓN

 SERVIDOR WEB 

Los servidores web (también conocidos como servidores HTTP) son un tipo de servidores utilizados para la distribución (entrega) de contenido web en redes internas o en Internet (“servidor” hace referencia al verbo “servir”). Como parte de una red de ordenadores, un servidor web transfiere documentos a los llamados clientes (del inglés clients), por ejemplo, una página web a un explorador.

En general, la pregunta “qué es un servidor web” puede referirse a dos cosas: al software del servidor (es decir, al programa en sí) y al equipo en el que el software del servidor web se está ejecutando. Cuando se trata de este último, se habla del host (un host puede alojar múltiples soluciones de software para servidores web). A continuación, nos referiremos explícitamente a alguno de estos significados, ya sea al software de servidor web/software servidor HTTP (o programa) o al host.

LA TECNOLOGÍA DETRAS DE LOS SERVIDORES

Principalmente, el software de un servidor HTTP es el encargado de proporcionar los datos para la visualización del contenido web. Para ello, el programa se comunica con un cliente web (por lo general, un navegador o un crawler de los motores de búsqueda).

Para abrir una página web, el usuario solo tiene que escribir el URL correspondiente en la barra de direcciones de su navegador web. El navegador envía una solicitud al servidor web, quien responde, por ejemplo, entregando una página HTML. Esta puede estar alojada como un documentoestático en el host o ser generada de forma dinámica, lo que significa que el servidor web tiene que ejecutar un código de programa (p. ej., Java o PHP) antes de tramitar su respuesta. El navegador interpreta la respuesta, lo que suele generar automáticamente más solicitudes al servidor a propósito de, por ejemplo, imágenes integradas o archivos CSS.

El protocolo utilizado para la transmisión es HTTP (o su variante cifrada HTTPS), que se basa, a su vez, en los protocolos de red IP y TCP (y muy rara vez en UDP). Un servidor web puede entregar los contenidos simultáneamente a varios ordenadores o navegadores web. La cantidad de solicitudes (requests) y la velocidad con la que pueden ser procesadas depende, entre otras cosas, del hardware y la carga (número de solicitudes) del host. Sin embargo, la complejidad del contenido también juega un papel importante: los contenidos web dinámicos necesitan más recursos que los contenidos estáticos.

La selección del equipo adecuado para el servidor y la decisión de si este debe ser dedicado, virtual o en la nube, se debe hacer pensando siempre en evitar sobrecargas en el servidor. Recuerda que, aunque hayas encontrado un servidor web que se adapta perfectamente a las necesidades de tu proyecto, siempre se corre el riesgo de que se presenten fallos en él como consecuencia de imprecisiones técnicas o cortes de energía en el centro de datos del host. Aunque no es muy frecuente, durante un período de inactividad de este tipo (downtime), la web no estará disponible a menos que se ejecute en un dispositivo con una conexión a una Content Delivery Network, algo no muy usual en el caso de webs pequeñas.


LENGUAJES DE PROGRAMACIÓN DEL LADO DEL SERVIDOR

Un lenguaje del lado del servidor es aquel que se ejecuta en el servidor web, justo antes de que se envíe la página a través de Internet al cliente. Las páginas que se ejecutan en el servidor pueden realizar accesos a bases de datos, conexiones en red, y otras tareas para crear la página final que verá el cliente.
Los lenguajes de lado servidor más ampliamente utilizados para el desarrollo de páginas dinámicas son el ASP, JSP, PERL y PHP.

ASP.NET (Active Server Pages).
Lenguaje comercializado por Microsoft, y usado por programadores para desarrollar entre otras funciones, sitios web. ASP.NET es el sucesor de la tecnología ASP, fue lanzada al mercado mediante una estrategia de mercado denominada .NET.
Se desarrollado para resolver las limitantes que brindaba tu antecesor ASP. Para el desarrollo de ASP.NET se puede utilizar C#, VB.NET o J#. Los archivos cuentan con la extensión (aspx). Para su funcionamiento de las páginas se necesita tener instalado IIS con el Framework .Net. Microsft Windows 2003 incluye este framework, solo se necesitará instalarlo en versiones anteriores.

El lenguaje ASP consiste en una serie de clases .NET utilizadas para crear aplicaciones Web, tanto del lado cliente (Web Form) como del lado servidor (Web Service). La integración de nativa .NET Framework con el sistema operativo Windows Server 2003 hace que su ejecución sea más estable y rápida que otros lenguajes de programación.
Las páginas creadas con la tecnología ASP.NET funcionan en todo tipo de navegadores – incluyendo Netscape, Safari y Internet Explorer.
Actualizaciones Dinámicas Soporte de servicios web XML Conexiones del tipo DSN, o sin utilización de DSN, para acceder a fuentes de datos ODBC.

Ventajas:

  • Completamente orientado a objetos.
  • Controles de usuario y personalizados.
  • División entre la capa de aplicación o diseño y el código.
  • Facilita el mantenimiento de grandes aplicaciones.
  • Incremento de velocidad de respuesta del servidor.
  • Mayor velocidad.
  • Mayor seguridad.

Desventajas:

  • Mayor consumo de recursos.
  • Tecnología propietaria.
  • Hospedaje de sitios web costosos

Ejemplo:

<%
    Dim i
 
    for i = 1 to 6
        response.write("<h" &="" i="" "="">Esta es la cabecera  " & i & "")
    next
%>


JSP (Java Server Pages)

Es un lenguaje para la creación de sitios web dinámicos. Está orientado a desarrollar páginas web en Java. JSP es un lenguaje multiplataforma.
JSP fue desarrollado por Sun Microsystems. Comparte ventajas similares a las de ASP.NET, desarrollado para la creación de aplicaciones web potentes. Posee un motor de páginas basado en los servlets de Java. Para su funcionamiento se necesita tener instalado un servidor Tomcat.

Características:

  • Código separado de la lógica del programa.
  • Las páginas son compiladas en la primera petición.
  • Permite separar la parte dinámica de la estática en las páginas web.
  • Los archivos se encuentran con la extensión (jsp).
  • El código JSP puede ser incrustado en código HTML.

          Los elementos que pueden ser insertados en las páginas JSP son los siguientes:

  • Código: se puede incrustar código “Java”.
  • Directivas: permite controlar parámetros del servlet.
  • Acciones: permite alterar el flujo normal de ejecución de una página.

Ventajas:

  • Ejecución rápida del servlets.
  • Crear páginas del lado del servidor.
  • Multiplataforma.
  • Código bien estructurado.
  • Integridad con los módulos de Java.
  • La parte dinámica está escrita en Java.

Desventajas:

  • Complejidad de aprendizaje.

Ejemplo:

PERL (Practical Extraction and Report Language) .

Es un lenguaje de programación desarrollado por Larry Wall (lwall at netlabs.com) inspirado en otras herramientas de UNIX como son: sed, grep, awk, c-shell, para la administración de tareas propias de sistemas UNIX. No establece ninguna filosofía de programación concreta. No se puede decir que sea orientado a objetos, modular o estructurado aunque soporta directamente todos estos paradigmas; su punto fuerte son las labores de procesamiento de textos y archivos. Lenguaje de programación basado en scripts portable a casi cualquier plataforma. Es muy utilizado para escribir CGIs(Commond Gateway Interface). Uno de sus elementos más potentes son las expresiones regulares, que a partir de su versión en Perl han sido adoptadas por otros lenguajes y plataformas como .NET o Javascript.

Ventajas

  • Es un buen lenguaje “pegamento”. Se pueden juntar varios programas de una forma sencilla para alcanzar una meta determinada. Los usuarios de Windows agradecerán esta propiedad ya que normalmente adolecen de un buen lenguaje tipo “script”.
  • Es relativamente rápido para un lenguaje tipo “script”.
  • Está disponible en múltiples plataformas y sistemas operativos (UNIX, Linux y Windows). Un programa que se escriba teniendo en cuenta la compatibilidad puede ser escrito en una plataforma y ejecutado en otra.
  • El desarrollo de aplicaciones es muy rápido.
  • Hay una colección enorme de módulos que pueden ser incorporados a cualquier “script” de Perl. Están disponibles en el CPAN (“Comprehensive Perl Archive Network”). En particular existe una extensión para cálculo numérico denominada PDL.
  • Perl es gratuito. Mucho más que eso, es “Software Libre”. Esto quiere decir que el código fuente está disponible para que cualquiera lo pueda ver o modificar, y lo que es más importante, siempre lo estará.
  • Le otorga al programador mucha libertad para que haga el programa como quiera. Tal como dice el eslogan de Perl “Hay más de una forma de hacerlo”

Desventajas

  • Es lento para algunas aplicaciones, como programación a bajo nivel, escribiendo un “driver” para una aplicación o corriendo modelos numéricos de cálculo intensivo. Si bien se pueden insertar subrutinas FORTRAN o C en Perl, teniendo lo mejor de los dos mundos, pero con algo más de complejidad.
  • La libertad que se le otorga al programador puede significar que el resultado sea un programa ilegible. Si no se escribe con cuidado puede llegar a ser difícil de leer. De hecho hay un concurso de Perl ofuscado.
  • Perl es un lenguaje interpretado. Este tema no es tan crítico como suena, los programas Perl no correrán mucho más rápidos cuando se compilen, la única ventaja está en la desaparición de la fase inicial de compilación al correr la aplicación.
  • Utiliza muchos recursos de computó. Esto significa que no es tan ligero como un programa en C, pero en la práctica es ligero comparado con la potencia de procesamiento de las computadoras actuales.

Ejemplo:

PHP

PHP es el acrónimo de Hipertext Preprocesor. Es un lenguaje de programación del lado del servidor gratuito e independiente de plataforma, rápido, con una gran librería de funciones y mucha documentación. Fue creado originalmente en 1994 por Rasmus Lerdorf, pero como PHP está desarrollado en política de código abierto, a lo largo de su historia ha tenido muchas contribuciones de otros desarrolladores.
El cliente solamente recibe una página con el código HTML resultante de la ejecución de la PHP. Como la página resultante contiene únicamente código HTML, es compatible con todos los navegadores.

Ventajas:

  • Muy fácil de aprender.
  • Se caracteriza por ser un lenguaje muy rápido.
  • Soporta en cierta medida la orientación a objeto. Clases y herencia.
  • Es un lenguaje multiplataforma: Linux, Windows, entre otros.
  • Capacidad de conexión con la mayoría de los manejadores de base de datos: MysSQL, PostgreSQL, Oracle, MS SQL Server, entre otras.
  • Capacidad de expandir su potencial utilizando módulos.
  • Posee documentación en su página oficial la cual incluye descripción y ejemplos de cada una de sus funciones.
  • Es libre, por lo que se presenta como una alternativa de fácil acceso para todos.
  • Incluye gran cantidad de funciones.
  • No requiere definición de tipos de variables ni manejo detallado del bajo nivel.

Desventajas:

  • Todo el trabajo lo realiza el servidor y no delega al cliente. Por tanto puede ser más ineficiente a medida que las solicitudes aumenten de número.
  • La legibilidad del código puede verse afectada al mezclar sentencias HTML y PHP.
  • La programación orientada a objetos es aún muy deficiente para aplicaciones grandes.
  • Dificulta la modularización.
  • Dificulta la organización por capas de la aplicación.

Ejemplo:

 

PHP está diseñado específicamente para ser un lenguaje más seguro para escribir programas CGI que Perl o C, y con la selección correcta de opciones de configuración en tiempos de compilación y ejecución, y siguiendo algunas prácticas correctas de programación.

GESTOR DE BASES DE DATOS

El gestor de datos es un sistema de software invisible para el usuario final, compuesto por un lenguaje de definición de datos, un lenguaje de manipulación y de consultaque puede trabajar a distintos niveles. 

Entre sus funciones se encuentran la de permitir a los usuarios de negocio almacenar la información, modificar datos y acceder a los activos de conocimiento de la empresa. El gestor de base de datos también se ocupa de realizar consultas y hacer análisis para generar informes. Uno de los más comúnmente conocidos es el gestor de base de datos PHPMyAdmin, que es el que se suele usar en departamentos de marketing a la hora de instalar WordPress.

A su vez, el SGBD puede entenderse como una colección de datos relacionados entre sí, estructurados y organizados dentro del ecosistema conformado por ese conjunto de programas que acceden a ellos y facilitan su gestión.

Frente al anterior sistema de gestión de datos y archivos, que hay que recordar que se trata de un conjunto de programas que definen y trabajan sus propios datos; el acceso a los datos es independiente de los programas que los gestionan. Esta característica, en la práctica, supone una ventaja bastante importante de cara a tratar grandes volúmenes de información. 


¿Qué permiten los gestores de base de datos?

Básicamente, podría simplificarse diciendo que el gestor de base de datos controla cualquier operación ejecutada por el usuario contra la base de datos. Para poder desarrollar esta función, es habitual que se necesiten emplear herramientas específicas, como sistemas de búsqueda y de generación de informes, además de distintas aplicaciones.

 

Igualmente, los gestores de base de datos permiten:

  • La definición de bases de datos a distintos niveles de abstracción.
  • La manipulación de bases de datos, garantizando tanto la seguridad como la integridad y consistencia de las mismas.
  • Que las interacciones con cualquier data base gestionada se puedan desarrollar siempre de forma separada a los programas o aplicaciones que los gestionan, para que no sea necesario tener que modificar estos, caso de que haya que introducir cambios.



No hay comentarios:

Publicar un comentario