La World Wide Web - UNP



Plataformas de Servidores Web

1. Introducción

2. La World Wide Web

3. El lado del cliente

4. El lado del servidor

5. Consideraciones para el Funcionamiento de los servidores Web

6. Sistemas Operativos

7. Servidores Web

8. Lenguajes de programación para la Web

9. Pruebas de comparación

10. Bibliografía

11. Direcciones de Internet

1. Introducción

Esta monografía tiene como objetivo dar un pantallazo sobre el tema de las plataformas de servidores Web. Solo se tratan los dos servidores Web más utilizados IIS y Apache, puesto que de ellos existe más información. La monografía cubre los aspectos de hardware, software y lenguajes de programación que utilizan los servidores Web.

2. La World Wide Web

La World Wide Web es un armazón arquitectónico para acceder a documentos vinculados distribuidos en miles de maquinas en toda la Internet, paso de ser una manera de distribuir datos sobre física de alta energía a la aplicación que millones de personas piensan que es “La Internet”.

La Web (también conocida como WWW) comenzó en 1989 en el CERN, el Centro Europeo de Investigación Nuclear. El CERN tiene varios aceleradores de partículas en los que los científicos de los países europeos participantes llevan a cabo investigaciones sobre física de partículas. Estos equipos con frecuencia tienen miembros de media docena de países o más. La mayoría de los experimentos son altamente complejos, y requieren años de plantación anticipada y construcción de equipo. La Web surgió de la necesidad de lograr que estos grandes grupos de de investigadores dispersos internacionalmente colaboraran usando un conjunto siempre cambiante de informes, dibujos, planos, fotos y otros documentos.

La propuesta inicial de una red (Web) de documentos vinculados surgió del físico del CERN Tim Berners-Lee en Marzo de 1989. El primer prototipo (basado en texto) estaba en operación 18 meses después. En Diciembre de 1991 se hizo una demostración pública en la conferencia Hypertext ’91 en San Antonio, Texas. El desarrollo continúo durante el siguiente año, culminando con la liberación de la primera interfaz grafica, Mosaic, en Febrero de 1993. La Web básicamente es un sistema Cliente-Servidor.

3. El lado del cliente

Desde el punto de vista del usuario, la web consiste en un enorme conjunto a nivel mundial de documentos, generalmente llamados páginas. Cada página puede contener vínculos (apuntadores) a otras páginas relacionadas en cualquier lugar del mundo. Se dice que las páginas que apuntan a otras páginas usan hipertexto.

Las paginas se ven mediante un programa llamado visor (browser); Mosaic y Netscape son dos de los visores mas populares. El visor obtiene la pagina solicitada, interpreta el texto y los comandos de formateo que contiene, y exhibe la pagina adecuadamente formateada, en la pantalla.

4. El lado del servidor

¿Qué es un servidor Web?

Los Servidores Web suministran páginas Web a los navegadores (como por ejemplo, Netscape Navigator, Internet Explorer de Microsoft) que lo solicitan. En términos más técnicos, los servidores Web soportan el Protocolo de Transferencia de Hypertexto conocido como HTTP (HyperText Transfer Protocol), el estándar de Internet para comunicaciones Web. Usando HTTP, un servidor Web envía páginas Web en HTML y CGI, así como otros tipos de scripts a los navegadores o browsers cuando éstos lo requieren. Los servidores Web normalmente se llaman servidores HTTPD.

Cada instalación de la web tiene un proceso servidor que escucha en el puerto TCP 80, esperando conexiones entrantes de los clientes, (normalmente visores). Tras establecerse una conexión, el cliente envía una solicitud y el servidor envía una respuesta. Después se libera la conexión. El protocolo que define las solicitudes se llama HTTP.

[pic]

A continuación e da un ejemplo sobre el funcionamiento de los servidores web. Para este ejemplo, podemos imaginar que el usuario acaba de hacer clic en alguna parte del texto o, tal vez, en un icono que apunta a la pagina cuyo nombre (URL- Uniform Resource Locator, localizador uniforme de recursos) es Project.html. Los pasos que se ejecutan entre el clic del usuario y la presentación de la pagina son los siguientes:

1. El visualizador determina el URL (viendo lo que se selecciono).

2. El visualizador solicita al DNS la dirección IP de .

3. El DNS contesta con 18.23.0.23.

4. El visualizador establece una conexión TCP con el puerto 80 en 18.23.0.23.

5. A continuación, el visualizador emite un comando GET /hypertext/WWW/TheProject.html.

6. El servidor envía el archivo TheProject.html.

7. Se libera la conexión TCP.

8. El visualizador presenta todo el texto de TheProject.html.

9. El visualizador trae y presenta todas las imágenes de TheProject.html.

Vale la pena indicar que para cada imagen en línea de una pagina el visualizador establece una conexión TCP nueva con el servidor pertinente para traer la imagen.

Puesto que el HTTP es un protocolo ASCII como el SMTP, es bastante fácil que una persona en una terminal (sin usar un visualizador) hable directamente con servidores de la Web.

No todos los servidores hablan HTTP. Una solución es hacer que el visualizador use estos protocolos al hablar con un servidor FTP o Gopher, pero al hacer que los visualizadores entiendan todos los protocolos aumenta innecesariamente su tamaño.

Con frecuencia se usa una solución diferente: los servidores apoderados. Un servidor apoderado es una clase de pasarela que habla HTTP con el visualizador pero FTP, Gopher o algún otro protocolo con el servidor; acepta solicitudes HTTP y las traduce a solicitudes FTP, de modo que el visualizador no tenga que entender ningún otro protocolo más que HTTP.

5. Consideraciones para el funcionamiento de los servidores Web

Para mantener un sitio Web "real", se debe comprar hardware para servidores que sea realmente potente. Un ordenador PC de línea blanca, de bajo coste, no puede hacer ese trabajo. Se Necesitan discos duros de alta calidad, memorias especialmente estables, y mucho hardware de alta prestación. Se necesita también una sala climatizada a baja temperatura para evitar que se cuelguen los ordenadores por recalentamiento. No puede dejarse de tener en cuenta un UPS, o sea una fuente ininterrumpible de potencia eléctrica: en casos de cortes de luz el sitio Web tendrá que seguir online. De otro modo caería la presencia Web del sitio. Por supuesto que también hará falta una conexión permanente a Internet (24 horas por día) desde su oficina. Este tipo de conexiones son generalmente muy caras

Es importante contabilizar los costes adicionales que vienen junto con las licencias de software. Las licencias para servidores son siempre mucho más altas que las licencias para terminales o para clientes. También hay que considerar que muchas de las licencias de software para servidores pueden tener limitaciones en cuanto a la cantidad de usuarios simultáneos.

Alojamiento bajo Windows

Por alojamiento bajo Windows entendemos el hosting de servicios Web corriendo el sistema operativo Windows en alguna de sus versiones en el servidor. Es muy importante entender el hecho de que uno puede utilizar en su ordenador personal un sistema Windows, pero en el servidor no utilizarlo. La mayoría de los servidores en Internet NO utilizan el sistema Windows, debido a sus altos costes y baja estabilidad.

Si se necesita correr ASP (Active Server Pages) como sistema de generación de programas para su servidor (scripts), o si necesita usar una base de datos como Microsoft Access o Microsoft SQL Server, se debe utilizar un servidor Windows. No se necesita un servidor Windows por el mero hecho de haber usado Microsoft Frontpage para diseñar su sitio. Alcanza con instalar las extensiones de Frontpage.

Alojamiento Unix

Por alojamiento Unix entendemos el hosting de servicios web teniendo como sistema operativo para el servidor algunas de las versiones o "dialectos" de Unix. Unix fue el primer sistema operativo original dedicado a servidores web, y es conocido por su excelente fiabilidad y estabilidad. Siempre resulta más potente y más económico que la plataforma Windows en cualquiera de sus versiones.

6. Sistemas operativos

En esta sección se describen las características de algunos de los Sistemas operativos utilizados para los servidores Web.

UNIX

Características

• Es un sistema operativo multiusuario, con capacidad de simular multiprocesamiento y procesamiento no interactivo

• Está escrito en un lenguaje de alto nivel: C

• Dispone de un lenguaje de control programable llamado SHELL

• Ofrece facilidades para la creación de programas y sistemas y el ambiente adecuado para las tareas de diseños de software

• Emplea manejo dinámico de memoria por intercambio o paginación

• Tiene capacidad de interconexión de procesos

• Permite comunicación entre procesos

• Emplea un sistema jerárquico de archivos, con facilidades de protección de archivos, cuentas y procesos

• Tiene facilidad para redireccionamiento de Entradas/Salidas

• Contiene 4 aportaciones importantes que han aumentado la viabilidad de los sistemas UNIX como base para los sistemas distribuidos:

• Conectores Berkeley

• Los Streams de AT&T

• El sistema de archivos de red NFS

• El sistema de archivos remoto RFS de AT&T

Seguridad

Para poder identificar a las personas, UNIX realiza un proceso denominado ingreso (login). Cada archivo en UNIX tiene asociados un grupo de permisos. Estos permisos le indican al sistema operativo quien puede leer, escribir o ejecutar como programa determinado archivo. UNIX reconoce tres tipos diferentes de individuos: primero, el propietario del archivo; segundo, el "grupo"; por último, está el "resto" que no son ni propietarios ni pertenecen al grupo, denominados "otros".

Una computadora UNIX ofrece generalmente una serie de servicios a la red, mediante programas que se ejecutan continuamente llamados daemon (demonio). Por supuesto, para usar estos programas hay que tener primero permiso para usar tal puerto o protocolo, y luego acceso a la máquina remota, es decir, hay que ''autentificarse'', o identificarse como un usuario autorizado de la máquina. Algunos de estos programas son telnet, rlogin, rsh, ftp, etc.

Microsoft Windows NT

Características de Windows NT Server

• Soporta Sistemas Intel y los basados en RISC.

• Incorpora un NOS (Sistema Operativo de Red) de 32 bits.

• Ofrece una solución de red punto a punto.

• Requiere un mínimo de 16MB en RAM, por lo que es más caro de instalar que la mayor parte de los NOS.

• Soporta multitarea simétrica.

• Puede usar hasta 4 procesadores concurrentes.

• Además de ser multitarea, el Windows NT Server también es de lectura múltiple o multilectura.

• Soporta administración centralizada y control de cuenta de usuarios individuales.

• Las multitareas, priorizadas permiten que se ejecute simultáneamente varias aplicaciones.

• Las operaciones de red adquieren prioridad sobre otros procesos menos críticos.

• Incluye extensos servicios para Mac.

• Una computadora Mac puede acceder a Windows NT Server, como si accesara al servidor Appleshare.

• Los archivos se traducen automáticamente de un formato a otro.

• Los usuarios de PC y Mac tienen acceso a las mismas impresoras.

• Incluso una Mac puede imprimir trabajos Postscript en una impresora PC que no sea Postscript.

• Windows NT Server soporta integración con otras redes (Con Software adicional), que incluyen: NetWare, VINES, Lan Manager OS/2, UNIX, VMS y redes SNA.

• Es tolerante a fallas. Posee el reflejado a sistema espejo y separación de discos.

• Proporciona utilerías para administración y control fácil de usar.

• Proporciona acceso remoto por marcación telefónica.

Seguridad

Windows NT ofrece gran seguridad por medio del acceso por cuentas y contraseñas. Es decir un usuario debe tener su cuenta asignada y una contraseña para poder tener acceso al sistema.

Contiene protecciones para directorios, archivos, y periféricos, es decir que todo esto se encuentra con una contraseña para poder ser utilizados.

CONCEPTO DE DERECHOS.- Permite a un grupo de usuarios efectuar determinadas operaciones.

CUENTA ADMINISTRADOR.- Controla todos los permisos y con ellas se puede:

• Dar de alta

• Asignar cuentas

• Cancelar derechos

Novell Netware

Características de NetWare

• Multitarea

• Multiusuario

• No requiere demasiada memoria RAM, y por poca que tenga el sistema no se ve limitado por ej. Netware 4.0 (Requiere 6 Mb de RAM)

• Brinda soporte y apoyo a la MAC

• Apoyo para archivos de DOS y MAC en el servidor

• El usuario puede limitar la cantidad de espacio en el disco duro

• Permite detectar y bloquear intrusos

• Soporta múltiples protocolos

• Soporta acceso remoto

• Permite instalación y actualización remota

• Muestra estadísticas generales del uso del sistema

• Brinda la posibilidad de asignar diferentes permisos a los diferentes tipos de usuarios

• Permite realizar auditorías de acceso a archivos, conexión y desconexión, encendido y apagado del sistema, etc.

• Soporta diferentes arquitecturas

Desventajas de NetWare

• No cuenta con listas de control de acceso (ACLs) administradas en base a cada archivo.

• Algunas versiones no permiten criptografía de llave pública ni privada.

• No carga automáticamente algunos manejadores en las estaciones de trabajo.

• No ofrece mucha seguridad en sesiones remotas.

• No permite el uso de múltiples procesadores.

• No permite el uso de servidores no dedicados.

• Para su instalación se requiere un poco de experiencia.

Seguridad del Sistema.

Aunque los fabricantes que se dedican exclusivamente a los sistemas de seguridad de redes pueden ofrecer sistemas más elaborados, NetWare de Novell ofrece los sistemas de seguridad integrados más importantes del mercado. NetWare proporciona seguridad de servidores de archivos en cuatro formas diferentes:

1. Procedimiento de registro de entrada.

2. Derechos encomendados.

3. Derechos de directorio.

4. Atributos de archivo

Linux

Características

• Es un clon del sistema operativo UNIX por tanto es Multitarea y Multiusuario

• Se puede correr la mayoría del software popular para UNIX, incluyendo el Sistema X-Window

• Cumple los estándares POSIX y de Sistemas Abiertos, esto es que tiene la capacidad de comunicarse con sistemas distintos a él.

Ventajas de Linux

• Precio. Es una implementación de UNIX sin costo

• Estabilidad

• Libre de virus, es muy difícil que sea infectado por virus

• Seguridad, es mucho más seguro que otros servidores

• Compatibilidad, reconoce la mayoría de los otros sistemas operativos en una red

• Velocidad, es mucho más veloz para realizar las tareas

• Posee el apoyo de miles de programadores a nivel mundial

• El paquete incluye el código fuente, lo que permite modificarlo de acuerdo a las necesidades del usuario

• Se puede usar en casi cualquier computadora, desde una 386

• Puede manejar múltiples procesadores. Incluso hasta 16 procesadores

• Maneja discos duros de hasta 16 TeraBytes

• Soporta acceso remoto

• Soporte nativo de TCP/IP (Fácil conexión a Internet y otras redes)

 Desventajas de Linux

• Carencia de soporte técnico.

• Inconvenientes de hardware, no soporta todas las plataformas, y no es compatible con algunas marcas específicas.

Requisitos hardware para NT y Linux

Para elegir un buen hardware, hay que considerar cuatro factores:

1. Memoria: nunca como en este caso conviene no escatimar y evitar ahorros contraproducentes. En el caso de Linux es posible mantenerse en cantidades de memoria base, dadas las escasas pretensiones del sistema, pero en servidores NT es absolutamente necesario montar por lo menos 128 Mbytes. Este valor debe considerarse el requisito mínimo para prestaciones medio-bajas.

2. Procesador: absolutamente aconsejable orientarse hacia procesadores de gran potencia como Intel Pentium II, Intel Pentium III y AMD Athlon. Naturalmente, si las exigencias de tráfico son muy limitadas y, sobre todo, las CGI instaladas son pocas, puede bastar también un procesador menos potente. En el mercado existen servidores web Linux ágiles capaces de girar a la perfección en 486, pero deben considerarse excepciones.

3. Discos: mejor orientarse hacia SCSI, porque se libera casi del todo al procesador de cálculos que interesan a los discos. También en este caso cuanto más rápidos son, mejor responde el servidor a los problemas de tráfico elevado. Los discos se deben tratar con mucho cuidado, prestando especial atención al enfriamiento.

Para servidores económicos, los discos EIDE suponen una válida alternativa.

4. Tarjeta vídeo: una tarjeta vídeo anticuada y de baja calidad es perfecta. El uso que se hace de esta tarjeta se limita a pilotar un monitor, casi siempre apagado y de 14 pulgadas.

Sentadas estas premisas, pasemos a analizar dos servidores, uno de la franja medio-baja y otro de la franja alta:

Servidor de franja medio-baja:

• 128 Mbytes de memoria (con NT4 mejor 256)

• cpu Pentium II 400 Mhz

• HD EIDE 7.200 rpm

Servidor de franja alta:

• 512 Mbytes de memoria, o incluso más si se utiliza un elevado número de CGI y se genera mucho tráfico.

• 2 procesadores Pentium III o bien AMD Athlon (aunque por ahora no existen todavía motherboard dual processor para cpu Athlon), con una frecuencia de 600 Mhz o más.

• HD SCSI 10.000 rpm, mejor si en configuración RAID a fin de contar con la máxima seguridad para los datos.

Generalmente, los servidores gestionados por Windows NT requieren elevadas prestaciones hardware.

Tanto para servidor NT como para Linux, se trate de franja alta o medio-baja, es necesario prestar mucha atención a algunos particulares:

• protección del enfriamiento interno: la máquina está encendida 365 días al año y no debe tener nunca problemas térmicos;

• case de excelente calidad

• alimentador testado y sobredimensionado. Para un servidor de franja alta puede valer un case con dos alimentadores hot-swap: cuando se rompe uno, automáticamente se pone en funcionamiento el otro con la posibilidad de cambiar el averiado sin apagar nada.

7. Servidores Web

a) Apache

Apache es un servidor Web flexible, rápido y eficiente, continuamente actualizado y adaptado a los nuevos protocolos (HTTP 1.1). Entre sus características destacan:

• Multiplataforma

• Es un servidor de Web conforme al protocolo HTTP/1.1

• Modular: Puede ser adaptado a diferentes entornos y necesidades, con los diferentes módulos de apoyo que proporciona, y con la API de programación de módulos, para el desarrollo de módulos específicos.

• Basado en hebras en la versión 2.0

• Incentiva la realimentación de los usuarios, obteniendo nuevas ideas, informes de fallos y parches para la solución de los mismos.

• Se desarrolla de forma abierta

• Extensible: gracias a ser modular se han desarrollado diversas extensiones entre las que destaca PHP, un lenguaje de programación del lado del servidor.

Apache surgió a partir del servidor de HTTP más famoso y difundido en su época: NCSA. Desde entonces se convirtió en un poderoso rival de todos los servidores Unix utilizados hasta la fecha por su eficiencia, funcionalidad y rapidez. Es por ello que se conoce como el rey de los servidores Web. Se desarrolla de forma estable y segura gracias a la cooperación y los esfuerzos de un grupo de personas conocidas como grupo Apache (Apache Group), los cuales se comunican a través de Internet y del Web. Juntos se dedican a perfeccionar el servidor y su documentación regidos por la ASF (Apache Software Foundation).

En la actualidad Apache es el servidor Web más utilizado en el mundo de acuerdo con las estadísticas de que lo colocan en más de 7 millones de servidores que sirven poco más de 18 millones de sitios Web, lo cual significa más del 60% en todo el mundo.

Apache no solo esta disponible para Unix, existen distintas versiones para otros sistemas operativos. Por ejemplo: Apache 1.3 está diseñado para ejecutarse sobre Windows NT 4.0 y Windows 2000. El código binario del instalador sólo funcionará con procesadores de la familia x86, como los Intel.

Las 10 preguntas más comunes sobre Apache

1. ¿Que es Apache? Apache se baso originalmente en codificación e ideas basadas en el servidor HTTP mas popular de todos, el NCSA httpd 1.3 (principios de 1995). Esto ha desencaminado en un sistema que puede rivalizar (y probablemente sobrepasar) a casi cualquier otro servidor basado en UNIX HTTP en cuanto a funcionalidad, eficacia y rapidez.   Desde su comienzo, se ha vuelto a escribir completamente, e incluye muchos rasgos nuevos.   Apache, actualmente, es el servidor WWW mas popular en Internet, según el Netcraft Survey.

2. ¿Por que se creo Apache?   Apache fue creado para enviar las preocupaciones de un grupo de proveedores WWW y programadores httpd a los cuales ese httpd no se porto como querian que se portara.   Apache es producto de un esfuerzo enteramente voluntario, completamente consolidado por sus miembros, no por ventas comerciales.

3. ¿Como hace el grupo de trabajo del Apache para relatar sus esfuerzos a otros servidores tales como NCSA?  Ellos, por supuesto, tienen una gran deuda con NCSA y sus programadores porque el servidor Apache este basado en el. De todos modos, ahora ellos tienen su propio servidor y su proyecto es mayormente de ellos. El Proyecto Apache es una empresa enteramente independiente.

4. ¿De donde viene el nombre de Apache? El nombre de Apache viene de  "A PAtCHy server", (Un servidor lleno de remiendos). Estaba basado en alguna codificacion existente y en una serie de archivos "parche".

5. ¿Como se compara Apache con otros servidores?   Apache ha mostrado ser substancialmente mas rápido que muchos otros servidores libres.  Aunque seguro que los servidores comerciales han exigido superar la rapidez del Apache, ellos opinan que es mejor tener un en su mayor parte rápido servidor libre que un servidor extremadamente rápido pero que cueste miles de dólares. Apache funciona en sitios que tienen millones de usos al día, y estas se ejecutan sin complicaciones.

6. ¿Como se ha comprobado totalmente el Apache?  Para garantizar que funciona completamente hay que tener en cuenta que Apache esta en mas de 500,000 servidores en Internet, y hay se ha probado completamente por servidores y usuarios. Aparte, el Grupo Apache mantiene normas rigurosas antes de lanzar versiones nuevas de su servidor. Este corre sobre una tercera parte de los servidores WWW disponibles en Internet.  Cuando aparecen "Bugs" el Grupo Apache lanza parches y versiones nuevas en cuanto estas están disponibles. La Pagina Web del Proyecto Apache ( )incluye una lista parcial de los sitios que funcionan con Apache.

7. ¿Cuáles son sus planes de futuro? 

o - Continuar como un servidor servidor publico de HTTP.

o - Seguir con los adelantos en protocolo HTTP y desarrollos del Web en general.

o - Recoger sugerencias de los usuarios para ajustes y mejoras.

o - Responder a las necesidades de un gran número de proveedores así como a usuarios.

8. ¿Con quien tengo que contactar para recibir ayuda?  No hay ningún soporte oficial de Apache. Ninguno de los desarrolladores quiere sumergirse en un mar de preguntas triviales que se pueden resolver en otra parte. Informes de "bugs" y sugerencias deben enviarse vía página de informe de "bugs". Otras preguntas deben dirigirse al systems.servers.unix newsgroup donde alguien del equipo Apache que este en ese momento deberia ser capaz de ayudar.

9. ¿Existe más información sobre Apache?  Por supuesto que si. En esta misma página hay una lista de direcciones en Internet sobre Apache.

10. ¿Donde puedo conseguir el Apache?  Puede enterarse de como bajarse la fuente del Apache en la página del Proyecto Apache en Internet .

Uso de Apache como servidor Web seguro

El servidor Web Apache está diseñado de forma modular; consiste en muchas porciones de código que hacen referencia a diferentes aspectos o funcionalidades del servidor Web. Esta modularidad es intencionada, con lo cual, cada desarrollador puede escribir su propia porción de código para cubrir una necesidad en particular. Su código, llamado módulo, puede ser integrado en el servidor Web Apache con relativa facilidad.

El módulo mod_ssl es un módulo de seguridad para el Servidor Web Apache. El módulo mod_ssl usa las herramientas suministradas por el OpenSSL Project para añadir una característica muy importante al Apache —, la posibilidad de encriptar las comunicaciones. A diferencia de las comunicaciones entre un navegador y un servidor Web usando HTTP "normal", en la que se envía el texto íntegro, pudiendo ser interceptado y leído a lo largo del camino entre servidor y navegador.

El OpenSSL Project incluye un kit de herramientas que implementa los protocolos SSL (Secure Sockets Layer) y TLS (Transport Layer Security), así como una librería de codificación de propósito general. El protocolo SSL se usa actualmente para la transmisión de datos segura sobre Internet; El protocolo TLS es un estándar de Internet para comunicaciones privadas (seguras) y fiables a través de Internet. Las herramientas OpenSSL son usadas por el módulo mod_ssl para aportar seguridad en las comunicaciones Web

b) Internet Information Server (IIS)

Servicios de Internet Information Server (IIS) simplifica la publicación de información en Internet o en la intranet. IIS incluye una amplia gama de funciones administrativas para controlar sitios Web y el servidor Web. Con funciones de programación como páginas Active Server (ASP), puede crear e implementar aplicaciones Web flexibles y escalables. IIS no se instala de manera predeterminada, pero puede agregarlo mediante el cuadro de diálogo Agregar o quitar programas del Panel de control.

Nota:  IIS para Windows XP Professional está diseñado para los usuarios que desarrollan un servicio Web, ya sea para uso doméstico o en la oficina. IIS Professional sólo puede atender 10 conexiones de cliente simultáneas y no dispone de todas las características de las versiones de servidor. IIS sustituye al anterior servicio Web predeterminado, el Servicio Web personal (PWS), en las versiones doméstica y profesional de Windows. No se puede actualizar PWS desde productos Windows anteriores.

Requisitos de software de IIS

IIS4.0 requiere la instalación de Windows NT 4.0 correctamente configurado e instalado en una plataforma hardware potencialmente sobredimensionado.

Los requisitos software, son: Microsoft NT Server 4.0, Microsoft Internet Explorer 4.01 o sucesivo, Microsoft Windows NT Server 4.0 Option Pack, Microsoft NT Server 4.0 service pack 3 o sucesivo.

Hardware

Los requisitos hardware, para un funcionamiento óptimo de Internet Information Server, dependen de las exigencias específicas del servidor, del número potencial de usuarios conectados, de eventuales interconexiones con bases de datos, del uso de ASP, LOG... Es asimismo conveniente tener en cuenta posibles aplicativos que pudieran reducir la velocidad de actuación del servido IIS. Es aconsejable, por tanto, evitar la instalación en PDC (Primary Domain Controller), que estén ya abrumados de trabajo debido a la convalidación de los usuarios. Si es posible, debería configurarse un Member Server dedicado exclusivamente al uso de IIS. Esto vale también para servidores que albergan aplicativos como SQL Server.

Dimensionando pues una tipología de hardware específica para un cierto número de Accesos / Clientes.

• 200 Accesos / Clientes

Intel Pentium 100MHz

De un mínimo de 32 MB a 64 MB RAM

60 MB de espacio en disco duro para la instalación

De un mínimo de 250MB a 2GB de espacio libre en el disco duro para el Caching

• de 200 a 2000 Accesos / Clientes

Intel Pentium 133MHz

64 MB RAM mínimo

60 MB de espacio en disco duro para la instalación

De un mínimo de 2GB a 4GB de espacio libre en el disco duro para el Caching

• más de 2000 Accesos / Clientes

Intel Pentium 166MHz mínimo

64 MB RAM mínimo

60 MB de espacio en disco duro para la instalación

De un mínimo de 2GB a 6GB de espacio libre en el disco duro para el Caching

DEC ALPHA 150MHz mínimo

64 MB RAM mínimo

60 MB de espacio en disco duro para la instalación

De un mínimo de 300MB a 2GB de espacio libre en el disco duro para el Caching

Granjas de servidores web

“Una granja de servidores Web es un sitio Web formado por un grupo de computadores (servidores) interconectados que a su vez actúan como un único servidor y que están localizados conjuntamente en una posición física determinada, manejando las peticiones realizadas por los usuarios a través de Internet.”

[pic]

8. Lenguajes de Programación para la Web

A continuación se dan comentarios sobre los lenguajes de programación que son usados en la actualidad para hacer páginas Web. Comentarios sobre ASP, JSP, ColdFusion, Perl y PHP, comparando fortalezas y debilidades.

• ASP

• ColdFusion

• JSP

• Perl

• PHP

• FrontPage, Dreamweaver y editores WYSIWYG

• Reflexión

La controversia respecto a cuál tecnología usar en el lado del servidor tiene muchas características de guerra santa debido a que se mezcla con el problema de cuál sistema operativo/arquitectura usar. De esta forma, es un elemento más en la eterna batalla entre el mundo Unix y el mundo Microsoft.

ASP

ASP.significa Active Server Pages; estas páginas pueden ser escritas en VBScript que es a su vez un derivado de Visual Basic. La gran ventaja es que al parecer mucha gente sabe Visual Basic así que es fácil encontrar a alguien que haga el sitio, o que lo mantenga, si el programador ya emigró hacia mejores horizontes.

Las páginas ASP pueden hacer uso de objetos COM (Component Object Model) que son objetos en algún otro lenguaje (ej.: ejecutables en C++ o Java); de manera que si ya se tiene algo programado las páginas ASP a través del IIS pueden hacer uso de los métodos en estos objetos.

Para conectarse a una base de datos, normalmente se utiliza ADO que es un adaptador universal a bases de datos que se especializa posteriormente para hablar con una base de datos concreta.

El esquema de trabajo es crear objetos COM que ejecutan la lógica de la aplicación (Business Objects) y luego hacer la capa de interfaz con ASP.

ColdFusion

ColdFusion es un lenguaje 100% de scripting en que la idea es lograr resultados con pocas líneas de código. ColdFusion explota el hecho de que en la práctica muchos programadores lo que hacen es simplemente programar y no quieren tener que ver con Objetos, Clases ni nada de alto vuelo sino sólo con hacer consultas a la base de datos e imprimir el resultado.

select id, business from directory

#id# #business#

Eso no quiere decir que el lenguaje no sea muy potente. Además cuenta con un IDE y soporte comercial. ColdFusion corre como un add-on a los servidores, o como un CGI aparte. Es similar en concepto y expresividad a W3-Msql.

ColdFusion es la mejor manera de sacar algo bueno de una mala situación, esto es, de tener que desarrollar una aplicación para Web bajo Windows 2000.

JSP

JSP (Java Server Pages) es una invención de la SUN que provee de un lenguaje de scripting en el lado del servidor que se comunica con clases Java, objetos RMI, CORBA, etc. La metodología de trabajo esperada es la misma que con Visual Basic con la diferencia de que esta vez se trata de una plataforma mucho más abierta. El código JSP se puede poner dentro de las páginas HTML, o se puede precompilar en Servlets. Los Servlets son módulos que extienden los servidores orientados a  petición-respuesta, como los servidores Web compatibles con Java. Por ejemplo,  un servlet podría ser responsable de tomar los datos de un formulario de entrada  de pedidos en HTML y aplicarle la lógica de negocios utilizada para actualizar  la base de datos de pedidos de la compañía. Un servlet es una subclase de servlet que tiene métodos para atender requerimientos. El servidor pasa las variables hacia y desde el ambiente de ejecución del Servlet.

Para programar en JSP se requiere conocer Java, ser metódico y ordenado. El lenguaje no relaja las condiciones de tipado que le son propias.

Simple Scripting Tricks

Anyone can count like this:

It would take a long time, however, to count to .

Perl

Perl permite resolver los problemas fáciles fácilmente, y resolver también problemas difíciles. Es rápido hacer una pequeña aplicación Web.

Las ventajas principales son el que se trata de un lenguaje muy maduro, que lleva mucho tiempo funcionando, y que tiene cientos de bibliotecas operativas y listas para ser usadas.

%vars = CGI->ReadParse();

print CGI->MimeHtml();

DBI->init( "Oracle" );

$db = DBD::Oracle->Connect( "dbname=mydb" );

$cursor = $db->execute( "SELECT a,b FROM c WHERE d='$vars{a}'" );

while( %row = $cursor->fetchrow_hash() ) {

print "$row{a} - $row{b}";

}

En Perl es más fácil que en otros lenguajes hacer algo inentendible y oscuro. Por otra parte, si uno tiene paciencia puede encontrar el 90% del trabajo que tenía que hacer ya hecho por otra persona, y el código que tiene que escribir es sólo el 10% más trivial. Perl debe ser usado precompilado vía ModPerl o el impacto en procesador es muy alto.

PHP

PHP es un pre-procesador de páginas HTML que está motivado y dirigido expresamente a construir páginas, como ColdFusion. Un ejemplo de ello es que los argumentos CGI son importados directamente al espacio de nombres global de cualquier programa PHP: PHP puede correr como un CGI o como un plug-in del servidor web.

PHP ha crecido en soporte y en funciones y ahora viene "de fábrica" con varias decenas de bibliotecas para funciones matemáticas, de bases de datos, etc. En este momento se encuentra en una fase de consolidación tras unos cuantos años de éxito, y la fase expansiva ha sido dejada más bien atrás para madurar en aspectos más relacionados con la integración de sus partes entre sí.

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download