Home › Información › Publicaciones › Departamento de Sistemas / IT
Jebsen & Co.
 
 

BOLETIN INFORMATIVO - 07/1998

SERVIDORES WEB

 

Hoy en día, muchas empresas pugnan por tener sus propias páginas en un servidor Web, o incluso tener su propio servidor Web. Una empresa que quiere hacerse conocer o vender por medio de sus páginas de Internet, tiene que alquilar espacio para sus páginas en el servidor Web de un proveedor de este tipo, o tener su propio servidor conectado generalmente todo el tiempo a Internet.

En los últimos tiempos la World Wide Web (o Internet) ha venido demostrando una gran capacidad, especialmente como herramienta de marketing en las empresas. Si tenemos en cuenta la facilidad de comunicación masiva para distribuir información, que le permite a cualquier empresa que utilice sus servicios, esta se encuentra ante un espectro de usos que excede cualquier aplicación legada de los viejos sistemas. Por lo tanto es entendible, que en estos días, todas las empresas, cualquiera sea su envergadura o rubro, estén pensando en alguna aplicación de esta tecnología. Generalmente, las empresas comienzan con querer estar presentes en la Web, para luego intentar algún tipo de aplicación que le otorgue más réditos.

Seguramente la característica de hipertexto que distingue la Web, es una de las razones principales de su enorme desarrollo. La posibilidad de enlazar documentos por medio de palabras o frases, permite un manejo más global de la información. De esta manera, la selección de una palabra o frase determinada de un documento permite ir a otro punto del mismo u otro documento, con enlaces que pueden señalar no sólo texto, sino gráficos, video, audio clips, es decir un ambiente hipermedia. Tres son las tecnologías que definen el Web: HTML es el formato con el que se manejan los documentos nativos, HTTP es el protocolo con el que se realizan las comunicaciones entre servidor y cliente, y el browser es el software cliente que maneja la información para el usuario final.

Retornando a nuestro tema principal, un servidor Web parece simple por extensión de lo que es entrar a Internet, pero no lo es tanto al menos en dos sentidos. Uno es como se manejan las aplicaciones existentes, y el otro, cómo cuidar que los datos que se ponen a disposición de Internet sean solamente los deseados y no se afecte la información sensible que toda empresa tiene. Obviamente, en el manejo de este tipo de información, como pueden serlo las transacciones con tarjetas de crédito, se requieren medidas muy estrictas de seguridad.

Sea que se tercerice la posesión del servidor a uno de los proveedores que prestan estos servicios, o especialmente si se decide instalar uno propio, es muy conveniente tener una visión clara del funcionamiento del servidor y los recursos correspondientes, para que al menos en este punto se puedan cumplir los objetivos propuestos por esta inversión.

Un servidor Web cumple cuatro funciones principales:

  • Controlar el acceso a sus recursos

  • Proveer páginas HTML

  • Correr programas de enlace y transmitir las salidas correspondientes

  • Monitorear y registrar estadísticas de acceso y uso.

A continuación analizaremos estos puntos, así como también otros complementarios, como el sistema operativo donde corre el servidor, productos, servidores de Web, editores de HTML, etc.

 

Editores HTML

Las características principales de los editores HTML son el manejo de texto junto a gráficos, sonido y multimedia. La mayoría de los productos de servidores Web contienen un editor especializado para producir página HTML. En algunos casos el software suele incluir utilitarios adicionales, como programas de e-mail y para lectura de noticias Internet.

Por otra parte los principales productos de software de procesamiento de texto, productos de hojas de cálculo y programas de presentaciones han incorporado la edición de páginas Web, o la traducción y soporte de las mismas.

En la actualidad existen centenares de miles de páginas Web, inclusive en el mismo rubro de una empresa en particular, por lo que toma importancia el contenido de dichas páginas, ya que se trata de captar la atención de la persona que explora en busca de información. Para ello se necesita atracción y cierta variedad en la presentación de las propias páginas Web. Para lograr todo esto, además de las características de creatividad general, se necesitan herramientas que faciliten el uso y al mismo tiempo sean útiles para el mantenimiento.

Podemos trabajar con el texto de diferentes maneras (diseño de páginas), podemos agregar gráficos o imágenes, pero de cualquier manera las comunicaciones de éstas páginas son de servidor a cliente. Una página HTML responde a un contenido estático y predefinido, no podemos ofrecer interactividad con HTML. Entonces no se puede trabajar con información de bases de datos u otras aplicaciones que requieran algo más que transmitir una simple página estática de información. Esto significa que una cantidad de información que está en documentos no HTML queda aislada. De hecho, muchas empresas tienen una importante cantidad de información de productos y servicios especialmente en bases de datos.

Se puede pensar en poner a disposición del sitio en la Web este tipo de información, de forma tal que se puedan, por ejemplo, crear páginas Web sobre la marcha, aunque es mejor intentar usar la información tal como está, estableciendo un nexo con el servidor Web, y no tener que transformar información y mantenerla en sincronismo en forma duplicada para usos interno y de las páginas Web.

La creación de páginas con contenido dinámico ofrece una ventaja fundamental: personalizar la entrega de información de interés específico del cliente. Para ello el HTML utiliza una compuerta o gateway, que cuenta con medios para facilitar la entrada de datos desde el browser del cliente y comunicar el servidor Web con documentos no HTML. CGI (common gateway interface) o Interfaz común de gateway consiste en un juego de protocolos que permite escribir un programa que recibe información de los clientes en base a la cual produce resultados como una página Web determinada. Esto abre las posibilidades de interacción entre aplicaciones no HTML y un servidor Web.

 

Operación con Bases de Datos

En el caso de trabajar con bases de datos, se vuelve sumamente importante el rendimiento del sistema. Podría darse el caso de que una determinada empresa esté usando una cierta base de datos, y simplemente se está agregando un servidor Web. Por supuesto que cuanto más integración haya entre esa base de datos y el servidor Web, mejores serán los resultados. Entonces, si el mismo proveedor de la base de datos ofrece un servidor Web, su elección suele ser conveniente. Pero debe estudiarse bien porque no sería raro que con una decisión de este tipo se pierda flexibilidad en otras características.

En cuanto al acceso propiamente dicho, un servidor Web puede soportar generalmente APIs (application program interface o interfaz para programas de aplicaciones) específicas para DBMS (database management system) como las desarrolladas por los proveedores de bases de datos, como por ejemplo Microsoft SQL, Informix, Oracle o Sybase.

El acceso a las bases de datos puede ser nativo, si se dispone del programa para el DBMS de interés. En caso contrario igualmente puede concretarse la comunicación entre diferentes proveedores, aunque las condiciones puedan no ser ideales. Para ello se recurre generalmente al protocolo ODBC (open database conectivity). Los requisitos correspondientes del servidor bajo la forma de llamadas ODBC se traducen a los comandos SQL correspondientes que accionan sobre la base de datos. Esta funcionalidad es parte de un programa ODBC que proporciona el mismo proveedor de la base de datos.

De una u otra forma, el rendimiento de un sistema con bases de datos depende de algunos detalles comunes. Uno, por ejemplo, se relaciona con el hecho de como el HTTP es un protocolo sin estado, generalmente se establece una sesión por cada página o por cada consulta de una misma página, lo que afecta al rendimiento del servidor Web. Una mejora considerable que se puede lograr en el servidor, mediante el programa de acceso de datos, es usar un caché adecuado para las conexiones con el fin de guardar las variables de las páginas Web para su uso futuro

 

Administración

La administración de los documentos que se crean, como de los correspondientes vínculos que se establecen, es una cuestión importante en cuanto se refiere al mayor costo administrativo de sitios Web. En cuanto al manejo de la información operativa, los servidores Web mantienen generalmente tres tipos de archivos de registro: de acceso, de agente y de errores, estos últimos pueden habilitarse o no. El primero guarda cada acceso bajo un formato que contiene al menos, el nombre o dirección IP de los clientes, la fecha y hora, la vía y nombre del documento solicitado, el proceso resultante incluyendo el código de error si hubiera ocurrido y la cantidad de bytes transferidos. Adicionalmente se encuentra también el número de páginas accedidas de cada cliente. El registro de agentes guarda el nombre y la versión del browser usado por cada cliente.

Los errores pueden ocurrir por pedido de páginas o programas CGI inexistentes, páginas no permitidas, fallas de autenticación de usuarios, etc. Cada error incluye fecha y hora, nombre de la máquina y dominio del sistema del cliente, tipo y razón del error. Usando para los archivos de registro un formato común, éstos pueden exportarse a una base de datos para producir estadísticas simples de analizar, por medio de alguna herramienta como el VB Stats para Windows o el Webstat para Unix. De esta manera se pueden introducir reportes, cuadros, gráficos indicadores de la carga del servidor e información de los clientes.

Esto tiene su importancia, ya que toda la información capturada, presentada y analizada permite tomar medidas precisas respecto del funcionamiento y administración del servidor Web. Si un servidor Web puede verse como una caja cerrada que da servicio a requisitos de páginas HTML, la información estadística puede utilizarse como una extensión de la base de datos del servidor para su administración.

Los servidores Web, también proveen de otros servicios adicionales, como ser FTP, gopher, WAIS. Se puede, por ejemplo, transferir archivos de texto o imágenes por medio del FTP (file transfer protocol). Muchos servidores también soportan e-mail, aunque este servicio suele manejarse desde paquetes específicos. Puede ocurrir que el sistema de mensajería tenga que extender su servicio de mensajes de texto, a imágenes, sonidos y video. De hecho, el correo electrónico sigue constituyendo uno de los principales usos de Internet. Por este medio las empresas se comunican fácilmente y comparten información de una manera más eficiente.

 

Implementación

El servidor Web consiste básicamente en un conjunto de programas que corre en la computadora correspondiente. Todos los mensajes que intercambian el servidor y los browsers de los clientes, que se realizan bajo el protocolo HTTP, usan la dirección de puerto 80 en al encabezamiento de TCP/IP. Un servidor puede manejar muchos requisitos al mismo tiempo, gracias a la característica ‘sin estado’ del protocolo HTTP.

Una cuestión importante es el ancho de banda disponible en la conexión entre el servidor y el acceso a Internet. Un Modem de 28.800 bps, por ejemplo, podría manejar teóricamente hasta 13 Mb por hora, aunque en la práctica estos valores se pueden ver reducidos a la mitad. Si tenemos en cuenta que una página de texto tiene aproximadamente 2 Kb, y entre 20 y 30 Kb cualquier gráfico que acompañe a esta página, y suponiendo que un cliente pudiera llegar a pedir 5 páginas, tendríamos un trafico que supera los 100 Kb.

Si una empresa tiene su propio servidor, quizás los números no sean malos, aunque si lo vemos de otra manera, los resultados a que llegamos nos dicen que el cliente promedio estaría conectado 2 minutos en total, con un tiempo de respuesta promedio de 24 segundos por cada página solicitada, lo que no es muy bueno.

En definitiva, si el servidor Web está en la propia empresa consideramos aceptable poder atender razonablemente bien un promedio de 10 a 15 clientes por hora. Estos valores no son bajos por la capacidad del medio, sino por las demoras que implican los tiempos de respuesta. Para estas cantidades los usuarios que se conecten a dicho servidor difícilmente tendrán que esperar más de 10 segundos por una página, lo que significa una atención razonablemente buena.

Si el servidor Web no se encuentra en la empresa y el ISP (Internet service provider) o proveedor de Internet tiene una línea de acceso T1 ( 1,5 Mbps) o E1 (2 Mbps) directas o una conexión Frame Relay, podrá atender razonablemente bien a unos 50 o 60 servidores respectivamente a razón de 10 a 15 clientes por hora cada uno, no limitado por la capacidad del medio sino por tiempos de respuesta aceptables.

Todo esto nos habla de la utilidad de las mediciones y las estadísticas, incluso lo importante que es realizar mediciones no sólo en diferentes horarios, sino en períodos semanales o quincenales sucesivos, para poder apreciar el funcionamiento del servidor. Si se nota que los tiempos de respuesta aumentan constantemente, es probable que se esté ofreciendo el servicio a más usuarios de los que se puede mantener con una determinada línea de acceso a Internet.

Pasemos ahora al hardware del servidor que es bastante importante. Generalmente se necesita una computadora de alta velocidad con una cantidad considerable de memoria RAM, si es posible con capacidad de multiprocesamiento, que corra un sistema operativo multitarea, lo que nos señala a Unix como ideal para servidores de gran escala, así como Windows NT y OS/2 en ambientes pequeños y medianos armados con PCs.

  • Características de los sistemas operativos

Un servidor Web y el sistema operativo que corre en la computadora están muy ligados entre sí. Cuestiones de rendimiento, manejo dinámico del contenido, seguridad y acceso entre otras cosas, implican tanto al software del servidor Web, como al sistema operativo.

Determinar la mejor plataforma operativa de los productos de servidores Web depende mucho de las necesidades propias, no sólo actuales sino también las potenciales para el futuro. Este es justamente un punto que puede tener gran importancia cuando se comparan productos, en lo que se refiere a escalabilidad y a la flexibilidad. Favorece el crecimiento del sistema y facilita la diversificación de servicios, ya que no es fácil predecir la cantidad de visitas que se pueden llegar a producir, muchas empresas se sorprenden de la cantidad de visitas que reciben.

Los servicios a los que nos estamos refiriendo imponen a un servidor Web exigencias que van más allá del convencional servidor de archivos e impresión. No hay que perder de vista que con un servicio de contenido dinámico, cada cliente o usuario genera procesos separados y en muchos casos diferentes entre sí. Hay una mayor cantidad de tiempo de procesamiento dedicado a cada tarea, y mayor cantidad de memoria ocupada por cada una de estas tareas. Un servidor Web en estas condiciones debe trabajar con un sistema operativo que pueda manejar multitarea, es decir que simula correr muchas tareas al mismo tiempo.

  • Comparaciones

Se han hecho pruebas comparativas de funcionamiento con diferentes servidores Web en base a ciertas plataformas comunes. No es fácil llegar a conclusiones que sean realmente indicativas en la vida real. Una de las cosas que más pueden llamar la atención son los tiempos de respuesta que pueden aparecer en ciertos momentos, prácticamente irrepetibles en la práctica.

Lo que sí se nota es que hay servidores cuyo rendimiento suele bajar considerablemente cuando trabajan con bases de datos, independientemente del manejo del caché de datos que siempre beneficia los resultados. Una cuestión que también se aprecia en las mediciones es que los requisitos concurrentes pueden afectar notablemente los tiempos de respuesta con algunos servidores. Esta es una circunstancia que puede presentarse con empresas que en determinados días reciben, por distintos motivos, requisitos mucho mayores que los habituales.

Otro factor que puede afectar negativamente a algunos servidores Web es que la base de datos esté en la misma computadora del servidor, especialmente si el acceso a la misma se hace por CGI. Los servidores cuyo diseño apunta a integrar servidor y base de datos producen muy buen rendimiento en estas condiciones, pero pueden dejar que desear cuando se los usa con transacciones simples entre servidor y browser que no hacen uso de la base de datos.

 

Glosario

HTML: Lenguaje de marcas e hipertexto, para escribir las páginas Web que residen en el servidor.
HTTP: Protocolo de transferencia de hipertexto, se usa para transmitir páginas por Internet, es un protocolo sin estado ya que toda comunicación entre le browser y el servidor es única.
Browser: Examinador, programa cliente de Web que recibe los datos del servidor Web, los interpreta y los muestra en la pantalla del cliente.
CGI: Interfaz común de gateway (common gateway interface).
API: Interfaz para programación de aplicaciones (application program interface).
ISP: Proveedor de servicio de Internet (Internet service provider).
FTP: Protocolo de transferencia de archivos.
ODBC: Conectividad abierta de bases de datos.

 

Nos ponemos a su disposición para contestar las consultas que nos hagan llegar.

Atentamente.

 

Buenos Aires, Julio de 1998.

Jebsen & Co.
Depto. de Sistemas / IT

 

Este boletín informativo ha sido preparado por Jebsen & Co. para información de clientes y amigos. Si bien ha sido confeccionado con el mayor cuidado y celo profesional, Jebsen & Co. no asume responsabilidades por eventuales inexactitudes que este boletín pudiera presentar.

 

 

Avda. L. N. Alem 693 - 3º Piso - C1001AAB Buenos Aires - Argentina
Tel: (54 11) 4315 9304 - Fax: (54 11) 4315 9309
jebsen@jebsen.com.ar - www.jebsen.com.ar