SlideShare una empresa de Scribd logo
1 de 110
Descargar para leer sin conexión
Implantación de
aplicaciones web en
entornos internet,
intranet y extranet
Programación web en el entorno servidor
03/01/2018
José Miguel Castillo Castillo
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
1
INDICE DE CONTENIDO. IMPLANTACIÓN DE APLICACIONES WEB EN
ENTORNOS INTERNET, INTRANET Y EXTRANET
1. INTERNET
1.1 Breve historia y origen de internet
1.2 Principales servicios ofrecidos por internet
1.3 La tecnología de internet
1.4 Redes TCP-IP
2. LA WORLD WIDE WEB
2.1 Breve historia de la World Wide Web
2.2 Arquitectura general de la web
2.3 El cliente web
2.4 Servidores web
2.5 Servidores de aplicaciones
2.6 Servidores de bases de datos
2.7 Servidores complementarios en una arquitectura web
2.8 Infraestructura hardware y software
3. APLICACIONES WEB
3.1 Evolución y tipos de aplicaciones informáticas
3.2 Tecnologías de desarrollo de aplicaciones
3.3 Tecnologías específicas para el desarrollo web
4. DESARROLLO Y DESPLIEGUE DE APLICACIONES WEB
4.1 Modelos básicos de desarrollo de aplicaciones web
4.2 Herramientas de desarrollo web de uso común
4.3 Políticas de desarrollo y pruebas de aplicaciones web
4.4 Organización de recursos en una aplicación web
4.5 Seguridad en una aplicación web
4.6 Despliegue de aplicaciones web
5. VERIFICACIÓN DE APLICACIONES WEB
5.1 Características de un proceso de pruebas
5.2 Tipos de pruebas
5.3 Diseño y planificación de pruebas
5.4 Consideraciones de confidencialidad
5.5 Automatización de pruebas
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
2
6. CONTROL DE VERSIONES
6.1 Definición
6.2 Características generales
6.3 Tipos de control de versiones
6.4 Mecanismos de control de versiones
6.5 Buenas prácticas en control de versiones
6.6 Herramientas de control de versiones de uso común
6.7 Integración del control de versiones
7. DOCUMENTACIÓN DE APLICACIONES WEB
7.1 Características generales de la documentación
7.2 Organización y estructura básica de documentos
7.3 Gestión de versiones de documentos
7.4 Tipos de documentación
7.5 Formatos de documentación
7.6 Estándares de documentación
7.7 Herramientas de documentación
7.8 Buenas prácticas en documentación
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
3
1. INTERNET
La primera descripción documentada acerca de las interacciones sociales que podrían ser propiciadas
a través del networking (trabajo en red) está contenida en una serie de memorándums del
Massachusetts Institute of Technology, en 1962, donde se discute sobre el concepto de Galactic
Network (Red Galáctica).
1.1. Breve historia y origen de Internet
Las implementaciones prácticas de la idea que ahora conocemos y manejamos de forma habitual
empezaron a finales de los ochenta y a lo largo de los noventa. En la década de 1980, tecnologías que
reconoceríamos como las bases de la moderna Internet, empezaron a expandirse por todo el mundo.
Fue en los noventa cuando apareció la World Wide Web (WWW).
Un pionero fundamental en lo que se refiere a una red mundial, J.C.R. Licklider, comprendió la
necesidad de una red mundial, según consta en su documento de enero, 1960, Man-Computer
Symbiosis (Simbiosis Hombre-Computadora).
En octubre de 1962, Licklider fue nombrado jefe de la oficina de procesado de información DARPA, y
empezó a formar un grupo informal dentro del DARPA del Departamento de Defensa de los Estados
Unidos para investigaciones sobre ordenadores más avanzadas.
El problema principal que se planteaba era el referido a la conexión de diferentes redes físicas para
formar una sola red lógica. y es durante los años 60 cuando varios grupos trabajaron en el concepto
de la conmutación de paquetes.
Habitualmente se considera que Donald Davies (National Physical Laboratory), Paul Baran (Rand
Corporation) y Leonard Kleinrock (MIT) lo han inventado simultáneamente.
La conmutación de paquetes es una técnica que nos sirve para hacer un uso eficiente de los enlaces
físicos en una red de computadoras.
Un paquete es un grupo de información formado por os partes bien diferenciadas: los datos
propiamente dichos y la información de control que contiene la ruta a seguir a lo largo de la red
hasta el destino del paquete.
Los paquetes tenían un límite de longitud que si se superaba se fragmentaba en otros paquetes.
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
4
1.2. Principales servicios ofrecidos por Internet
La oferta de la red de redes sigue creciendo con el paso del tiempo y es que los servicios que ofrece
son innumerables cubriendo plenamente las necesidades cada vez más exigentes de usuarios y
empresas.
World Wide Web.
World Wide Web (WWW) o Red informática mundial es un sistema de distribución de información
basado en hipertexto o hipermedios enlazados y accesibles a través de la red.
Con un navegador web se pueden visitar sitios web formados por texto, imágenes, vídeos u otros
contenidos multimedia así como elementos interactivos, y navegar a través de esas páginas usando
hiperenlaces.
Ejemplo de sitio web en la WWW,
Correo electrónico.
Correo electrónico o e-mail (del inglés, electronic mail), es un servicio de red que permite a los
usuarios enviar y recibir mensajes y archivos mediante sistemas de comunicación electrónicos. Ha
evolucionado mucho este servicio permitiendo actualmente crear textos formateados y seguir hilos
de correspondencia mediantes servicios de gestión avanzados.
La base de este servicio es el protocolo SMTP. Su eficiencia, conveniencia y bajo coste ha conseguido
desplazar al correo ordinario para uso habitual incluidos correspondencia y certificados digitales.
Actualmente el servicio de correo electrónico se usa mayoritariamente bajo servicio web aunque
siguen conservándose el servicio propio con gestores de correo específicos como Outlook o
Thunderbird.
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
5
Transferencia de ficheros (ftp).
FTP son las siglas en inglés de File Transfer Protocol lo que conocemos como Protocolo de
Transferencia de Archivos.
Es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP
(Transmission Control Protocol) basado en la arquitectura cliente-servidor. Desde un equipo cliente
se puede conectar a un servidor para descargar archivos desde él o para enviarle archivos,
independientemente del sistema operativo utilizado en cada equipo.
El servicio FTP es ofrecido por la capa de aplicación del modelo de capas de red TCP/IP al usuario,
utilizando normalmente el puerto de red 20 y el 21
Un problema básico de FTP es que está pensado para ofrecer la máxima velocidad en la conexión
pero no la máxima seguridad ya que todo el intercambio de información, desde el login y password
(clave) del usuario en el servidor hasta la transferencia de cualquier archivo, se realiza en texto plano
sin ningún tipo de cifrado.
Para solucionar este problema son de gran utilidad aplicaciones como SCP y SFTP, que permiten
transferir archivos pero cifrando todo el tráfico.
Ejemplo de conexión con SCP y SFTP,
Otros servicios.
Grupos de discusión o newsgroups.
La información publicada en estos foros permanece visible durante un tiempo determinado
garantizando una amplia participación de las personas sin necesidad de horarios comunes
explotando al máximo esta ventaja de internet. Los foros tratan sobre temas específicos de un área
temática o referente a una zona geográfica.
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
6
Ejemplo de panel de gestión de un foro,
Listas de correo.
Proporcionan un mecanismo sencillo para el intercambio de mensajes electrónicos entre personas
interesadas en un mismo tema. Los mensajes enviados a la lista son distribuidos a todos sus
suscriptores. A diferencia de los foros, no es necesario dirigirse a ningún lugar en la red, ya que los
mensajes nos llegan automáticamente a nuestro buzón virtual, junto al resto de nuestro correo
electrónico normal.
1.3. La tecnología de Internet
Arquitectura TCP/IP. Comparación con OSI.
Fue implantado en la red ARPANET, la primera red de área ancha, desarrollada por encargo de
DARPA por lo que este modelo TCP/IP es reconocido por muchos autores como Internet Model,
Modelo DoD o Modelo DARPA.
El modelo TCP/IP describe un conjunto de guías generales de diseño e implementación de protocolos
de red específicos para permitir que un equipo pueda comunicarse en una red.
TCP/IP ofrece conectividad de extremo a extremo marcando cómo los datos deberían ser
formateados, transmitidos, enrutados y recibidos por el destinatario. Existen protocolos para los
diferentes tipos de servicios de comunicación entre equipos.
TCP/IP tiene cinco capas de que en muchas ocasiones comparada con el Modelo OSI de siete capas.
El modelo TCP/IP y los protocolos relacionados son mantenidos por la IETF.
Un modelo en capas jerarquizadas o niveles resulta más sencillo agrupar funciones relacionadas e
implementar el software de comunicaciones modular. Es decir, cada capa se construye sobre su
predecesora. El número de capas y, en cada una de ellas, sus servicios y funciones son variables con
cada tipo de red. La misión de cada capa es proveer servicios a las capas superiores haciéndoles
transparentes el modo en que esos servicios se llevan a cabo.
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
7
Cada capa debe ocuparse exclusivamente de su nivel inmediatamente inferior, a quien solicita
servicios, y del nivel inmediatamente superior, a quien devuelve resultados:
Capa 5 o capa de seguridad es la encargada de asimilar y comprender la seguridad en el
transporte de información.
Capa 4 o capa de aplicación, asimilable a las capas 5 (sesión), 6 (presentación) y 7 (aplicación)
del modelo OSI. Este nivel debe incluir los detalles de las capas de sesión y presentación OSI.
Capa 3 o capa de transporte, asimilable a la capa 4 (transporte) del modelo OSI.
Capa 2 o capa de red: Internet, asimilable a la capa 3 (red) del modelo OSI.
Capa 1 o capa de enlace, conocida como capa del acceso al medio, asimilable a la capa 2
(enlace de datos) y a la capa 1 (física) del modelo OSI.
Protocolos de Internet: TCP, UDP, SMNP, SMTP, etc.
TCP.
Este protocolo garantiza que los datos serán entregados en su destino sin errores y en el mismo
orden en que se transmitieron. También proporciona un mecanismo para distinguir distintas
aplicaciones dentro de una misma máquina usando los diferentes puertos.
Su nombre proviene del inglés, Transmission Control Protocol (en español Protocolo de Control de
Transmisión).
TCP da soporte a muchas de las aplicaciones más populares de Internet (navegadores, intercambio
de ficheros, clientes FTP, etc.) y a protocolos de aplicación HTTP, SMTP, SSH y FTP.
UDP.
El Protocolo Simple de Administración de Red o SNMP (del inglés Simple Network Management
Protocol) es un protocolo de la capa de aplicación que facilita el intercambio de información de
administración entre dispositivos de red.
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
8
UDP permite a los administradores supervisar el funcionamiento de la red, buscar y resolver sus
problemas, y planear su crecimiento.
Es un protocolo del nivel de transporte basado en el intercambio de datagramas (Encapsulado de
capa 4 Modelo OSI). Permite el envío de datagramas a través de la red sin que se haya establecido
previamente una conexión porque el propio datagrama incorpora suficiente información de
direccionamiento en su cabecera.
No aporta confirmación ni control de flujo por lo que los paquetes pueden adelantarse unos a otros y
tampoco se sabe si ha llegado correctamente. Su uso principal es para protocolos como DHCP,
BOOTP, DNS y demás protocolos en los que el intercambio de paquetes de la conexión/desconexión
son mayores, o no son rentables con respecto a la información transmitida, así como para la
transmisión de audio y vídeo en tiempo real.
SNMP.
El Protocolo Simple de Administración de Red o SNMP (del inglés Simple Network Management
Protocol) es un protocolo de la capa de aplicación que facilita el intercambio de información de
administración entre dispositivos de red.
Los dispositivos que normalmente soportan SNMP incluyen routers, switches, servidores, estaciones
de trabajo, impresoras, etc. permitiendo a los administradores supervisar el funcionamiento de la red
y especialmente resolver problemas.
SNMP en su última versión aporta cambios significativos sobre todo en aspectos de seguridad sin
embargo no ha sido mayoritariamente aceptado en la industria.
SMTP.
El Simple Mail Transfer Protocol (SMTP, Protocolo para la transferencia simple de correo electrónico)
es un protocolo de la capa de aplicación. Se trata de un protocolo de red basado en texto que se usa
en el intercambio de mensajes de correo electrónico entre computadoras u otros dispositivos (por
ejemplo, PDA, teléfonos móviles, etc.).
SMTP está definido en el RFC 2821 y es un estándar oficial de Internet.
Este protocolo presenta algunas limitaciones relacionadas con la recepción de mensajes en el
servidor de destino (la llamada cola de mensajes recibidos). Para cubrir esta desventaja se suele
asociar este protocolo con otros, como el POP o IMAP, otorgando a SMTP la tarea específica de
enviar correo, y recibirlos empleando los otros protocolos ante mencionados (POP O IMAP).
El protocolo HTTP.
El Hypertext Transfer Protocol o HTTP (en español, protocolo de transferencia de hipertexto) es el
protocolo usado en cada transacción que se lleva a cabo en la World Wide Web.
HTTP define la sintaxis y la semántica que utilizan los elementos de software de la arquitectura web
(como son los clientes, servidores, proxies) para comunicarse.
Es por tanto un protocolo orientado a las transacciones y funciona con el esquema petición-
respuesta entre un cliente y un servidor.
El cliente que efectúa la petición (un navegador web o un spider) se le conoce como user agent
(agente del usuario). A la información transmitida se la llama recurso y se la identifica mediante un
localizador uniforme de recursos (URL). Los recursos pueden ser archivos, el resultado de la ejecución
de un programa, una consulta a una base de datos, la traducción automática de un documento, etc.
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
9
HTTP no almacena ninguna información sobre conexiones anteriores. Como el desarrollo de
aplicaciones web necesita almacenar información del estado en que se encuentra la transacción
necesita emplear las llamadas cookies, que es información que un servidor puede almacenar en el
sistema cliente. Esto le permite a las aplicaciones web instituir la noción de sesión y rastrear
usuarios.
Una transacción HTTP está formada por un encabezado seguido, opcionalmente, por una línea en
blanco y algún dato. El encabezado especificará aspectos como la acción requerida del servidor, el
tipo de dato retornado o el código de estado.
El uso de campos de encabezados enviados en las transacciones HTTP le da gran flexibilidad al
protocolo. Estos campos permiten que se envíe información descriptiva en la transacción,
permitiendo así la autenticación, cifrado e identificación de usuario.
Un encabezado es un bloque de datos que precede a la información propiamente dicha por lo que
habitualmente se le suele denominar metadato.
Si se reciben líneas de encabezado del cliente, el servidor las coloca en las variables de entorno de
CGI con el prefijo HTTP_ seguido del nombre del encabezado. Cualquier carácter guion ( - ) del
nombre del encabezado se convierte a caracteres "_".
1.4. Redes TCP/IP
La estrategia que un gran número de protocolos de red utilizan de forma ya establecida se llama
conmutación de paquetes. Un paquete es un pequeño trozo de datos que se transfiere de una
máquina a otra a través de una red. Esta transferencia ocurre a medida que el datagrama es
transmitido a través de cada enlace en la red.
Una red de conmutación de paquetes comparte un único enlace con muchos usuarios, enviando los
paquetes alternadamente, desde un usuario a otro, a través de ese enlace.
La siguiente imagen puede verse el formato de la dirección IP de 32 bits,
Muchos sistemas basados en Unix, (y posteriormente muchas otras plataformas), lo integraron
conociéndose como TCP/IP. Cuando se habla de redes TCP/IP, siempre estará presente el término
datagrama. Técnicamente, este término tiene un significado especial, pero habitualmente se usa
como sinónimo de paquete.
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
10
El direccionamiento IP. Evolución.
El direccionamiento IP ha ido evolucionando desde el IP classful de 32 bits (base en que se ha
construido mecanismos de direccionamientos más sofisticados, subnetting, VSLM, CIDR) hasta llegar
a la tecnología IPV6.
Las más antiguas de la red son las clases A, B y C en los comienzos a partir de donde empezaron los
problemas por la demanda de direcciones que se requería pasando por varias versiones de IP.
El direccionamiento Classful fue el primer intento por definir un método universal para hacer frente a
una gran interconexión de Redes IP. Apareció en 1.981 sin pensar en ningún momento que Internet
llegaría al tamaño actual por lo que fueron apareciendo problemas en el mecanismo de asignación
de direcciones IP que se mostraba insuficiente e ineficiente. El problema principal fue la pérdida de
espacio de direcciones y el crecimiento de entrada al router.
En 1985 el subnetting resolvió temas importantes con el direccionamiento convencional de dos
niveles basado en clases facilitando el direccionamiento IP de manera que permite a cada red tener
su propia jerarquía de dos niveles.
Realmente el subnetting, no resolvía por completo el problema de demanda que se tenía en ese
momento porque se seguían utilizando las clases incluso dentro de las subredes.
La técnica del Enmascaramiento de Subredes IP de Longitud variable (VLSM, del inglés Variable
Length Subnet Masking) es una técnica donde el subnetting es ejecutado en múltiples y repetidas
veces, para permitir que una red se divida en una jerarquía de subredes que varían de tamaño. Esto
permite a una organización poder adecuar mejor, optimizando el tamaño de subredes a las
necesidades de su Red.
Tampoco fue la solución apropiada por lo que surgió la eliminación de la noción de clases de
direcciones por completo lo que permitió la aparición de un nuevo esquema de direccionamiento
moderno y sin clases, el Classless Inter ( del inglés, Domian Routing, CIDR) que requería el uso de la
máscara de subred para mostrar donde se traza la línea entre el ID de host y el ID de red.
Se suele decir que CIDR direcciona e IP enruta, resolviendo muchos de los problemas de enfoque
classful mediante la eliminación de las clases de dirección fija y la utilización de estructura jerárquica
flexible, de varios niveles y de tamaños diferentes.
Subnetting es dividir una red IP física en subredes lógicas para que cada una de estas trabaje el envío
y recepción de paquetes como redes individuales.
Con el CIDR se consiguió asignación eficiente de espacio de direcciones, eliminación del equilibrio de
clases, entradas de ruteos eficientes.
Una cuestión importante es que CIDR permite a una organización poder utilizar el mismo método
utilizado en internet para subdividir su red interna en subredes.
Al no contar con bloques de clases A, B, o C divididos por los primeros bits de la dirección bajo CIDR,
todos los bloques de internet pueden ser de tamaño variable.
La técnica de direccionamiento CIDR se asemeja a la de forma en que se hace el direccionamiento y
enrutamiento VLSM aunque la diferencia es que ambos le dan un enfoque diferente.
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
11
Ejemplo de CIDR,
El Protocolo de Internet versión 4 (en inglés, Internet Protocol version 4, IPv4) es la cuarta versión del
Internet Protocol (IP) y la primera en ser implementada a gran escala y usando direcciones de 32 bits.
Por el crecimiento enorme que ha tenido Internet unido a que hay una mala distribución de las
direcciones en muchos casos ya hace varios años se vio que escaseaban las direcciones IPv4. Esta
limitación ayudó a estimular el impulso hacia IPv6.
La versión IPV6 aumenta el tamaño de la dirección de IP de 32 bits a 128 bits con la idea de optimizar
mejor la jerarquía de direccionamiento.
El IPV6 ofrece tres diferentes tipos de direcciones: unicast, anycast y multicast. La dirección completa
del IPV6 se da en valores hexadecimales X:X:X:X:X:X:X:X entero hexadecimal de 4 dígitos (16 bits).
Cada digito se compone de 4 bits.
Dominios. Jerarquía de dominios.
Los dominios se organizan en un esquema de árbol partiendo siempre de un dominio base sobre el
que se pueden declarar otros dominios que heredarán los valores del dominio base, salvo
especificación de lo contrario. Un dominio puede estar encima de cualquier otro.
Por ejemplo,
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
12
El objetivo principal de los nombres de dominio en Internet y del sistema de nombres de dominio
(conocido como DNS) es traducir las direcciones IP de cada nodo activo en la red, a términos
memorizables y fáciles de encontrar.
Esta abstracción hace posible que cualquier servicio pueda moverse de un lugar geográfico a otro en
la red Internet.
Sin la ayuda del sistema de nombres de dominio los usuarios de Internet tendrían que acceder a cada
servicio web utilizando la dirección IP del nodo.
Por ejemplo, sería necesario utilizar http://192.0.32.10 en vez de http://example.com.
Hay varios razonamientos para justificar una jerarquía de dominios:
Puede emplearse el dominio base como el dominio donde las protecciones son mínimas y
después agregar otras protecciones en los dominios superiores. Es conocido como jerarquía
de fuera hacia dentro.
Puede utilizarse el dominio base como el dominio donde las protecciones son máximas y
después relajar seguridad mientras que agrega dominios superiores. Es conocido como
jerarquía de dentro hacia fuera.
Cada dominio es un mundo en sí mismo. Es una jerarquía sin relación.
Servicios de identificación de dominios: DNS.
Domain Name System o DNS es un sistema de nomenclatura jerárquica para ordenadores, servicios o
cualquier recurso conectado a Internet o a una red privada.
Este sistema asocia información variada con nombres de dominios asignado a cada uno de los
participantes. Su trabajo más conocido y fundamental es traducir (resolver en terminología
específica) nombres inteligibles para las personas en identificadores binarios asociados con los
equipos conectados a la red con el objetivo de poder localizar y direccionar estos equipos
mundialmente.
El servidor DNS utiliza una base de datos distribuida y jerárquica que almacena información asociada
a nombres de dominio en redes como Internet.
La base de datos el DNS es capaz de asociar diferentes tipos de información a cada nombre, asignar
nombres de dominio a direcciones IP y localizar los servidores de correo electrónico en cada dominio.
La asignación de nombres a direcciones IP es la función más conocida de los protocolos DNS.
Por ejemplo, si la dirección IP del sitio FTP de controlyarchivos.com es 203.61.132.2, la mayoría de la
gente llega a este equipo especificando ftp.controlyarchivos.com y no la propia dirección IP. Además
de ser más fácil de recordar, el nombre es más fiable. La dirección numérica podría cambiar por
muchos motivos sin que por ello tenga que cambiar el nombre.
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
13
Ámbitos: Intranet, Internet y Extranet. Consideraciones de seguridad. Cortafuegos.
Intranet.
Internet es un conjunto descentralizado de redes de comunicación interconectadas que utilizan la
familia de protocolos TCP/IP para asegurar que las redes físicas heterogéneas que la componen
funcionen como una red lógica única. Sus orígenes se remontan a 1969, cuando se estableció la
primera conexión de computadoras, conocida como ARPANET, entre tres universidades en California
y una en Utah.
Según Wikipedia, una intranet es una red de ordenadores privados que utiliza tecnología Internet
para compartir dentro de una organización parte de sus sistemas de información y sistemas
operacionales.
Internet.
Internet puede definirse como un conjunto descentralizado de redes de comunicación
interconectadas bajo los protocolos de la familia TCP/IP que garantiza que las redes físicas
heterogéneas que la componen funcionen como una red lógica única, de alcance mundial.
Existen muchos servicios y protocolos en Internet además de la popularísima Web:
El envío de correo electrónico (SMTP).
La transmisión de archivos (FTP y P2P).
Las conversaciones en línea (IRC).
La mensajería instantánea.
La transmisión de contenido y comunicación multimedia.
Otros: televisión (IPTV), boletines electrónicos (NNTP), acceso remoto a otros dispositivos
(SSH y Telnet), juegos en línea.
El género de la palabra Internet es ambiguo, según el Diccionario de la lengua española de la Real
Academia Española.
Extranet.
Una extranet es una red privada que utiliza protocolos de Internet, protocolos de comunicación e
infraestructura pública de comunicación para compartir de forma segura parte de la información de
una organización.
Se puede considerar que una extranet es parte de la Intranet de una organización que se extiende a
usuarios fuera de ella. La extranet suele tener un acceso semiprivado.
Una red de esta índole requiere un grado de seguridad específico. Otra característica de la extranet
es que se puede utilizar como una Intranet de colaboración con otras compañías.
Consideraciones de seguridad.
Un ataque pasivo, donde el atacante supervisa el tráfico de red e intenta conocer información
secreta sin realizar acciones, puede tener como base el rastreo de enlaces de comunicaciones o
sustituciones de componentes del sistema por un caballo de Troya que se dedique a obtener datos.
Por otro lado, en un ataque activo el atacante intenta superar las defensas que el sistema ha
establecido.
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
14
Algunos de los riesgos en la seguridad más habituales son los siguientes:
Ataques pasivos. Los ataques pasivos son los más difíciles de detectar porque se debe partir de
la idea que alguien puede estar curioseando todo lo que se envíe por Internet.
Ataques activos. Existen varios tipos de ataques activos:
o Intentos de acceso al sistema en los que el atacante pretende aprovechar las fisuras en la
seguridad y obtener el control de un sistema cliente o servidor.
o Camuflaje en el cual el atacante se hace pasar por un sistema seguro e intenta persuadir
a los usuarios para que transmitan información secreta.
o Ataques criptográficos en los cuales el atacante intenta forzar las contraseñas o descifrar
parte de los datos.
Ataques de denegación de servicio. En este tipo de ataque el atacante intenta interferir o
terminar las operaciones redireccionando el tráfico o bombardeando el sistema con datos
basura.
Algunos servicios de Internet son más vulnerables que otros a ciertos tipos de ataques por lo que es
fundamental analizar los riesgos que comporta cada servicio que se piense utilizar..
Cortafuegos.
Un cortafuego (firewall, en inglés) es una parte de un sistema o una red que está diseñada para
bloquear el acceso no autorizado permitiendo al mismo tiempo comunicaciones autorizadas.
Se trata de un dispositivo o conjunto de dispositivos configurados para gestionar y controlar el tráfico
teniendo como referencia un conjunto de normas y criterios.
En la siguiente gráfica podemos ver la ubicación física de un cortafuego dentro del sistema,
Los cortafuegos pueden ser implementados mediante hardware o software, o una combinación de
ambos. Los cortafuegos se utilizan con frecuencia para evitar que los usuarios de Internet no
autorizados tengan acceso a redes privadas conectadas a Internet especialmente intranets.
Los cortafuegos examinan cada mensaje que les llega y bloquea aquellos que no cumplen los criterios
de seguridad especificados. También es frecuente conectar a los cortafuegos a una tercera red
conocida habitualmente como zona desmilitarizada (DMZ) en la que se hallan los servidores de la
organización que deben permanecer accesibles desde la red exterior.
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
15
Ejemplo de cómo sería un esquema de red típica que usa una DMZ con un cortafuego de tres patas.
Un cortafuego correctamente configurado añade una protección necesaria a la red, pero que en
ningún caso debe considerarse suficiente. La seguridad informática abarca más ámbitos y más niveles
de trabajo y protección.
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
16
2. LA WORLD WIDE WEB
El término hipertexto fue utilizado por Ted Nelson en 1965 para definir un modelo para la
interconexión de documentos electrónicos. Aquel proyecto inicial fue el germen de lo que
actualmente conocemos como World Wide Web.
2.1. Breve historia de la World Wide Web
En los años se definió el NLS (oNLine System) que era un entorno de trabajo para ordenadores con
un sistema para almacenar publicaciones formadas por catálogos e índices para facilitar la búsqueda.
La clave era la utilización de reglas definidas previamente que permitía citar documentos facilitando
el poder acceder a los documentos referenciados.
Consistía básicamente en un teclado, pantalla, ratón e impresora con posibilidad novedosa de
teleconferencia y correo electrónico a través de una red de ordenadores que permitía una
comunicación entre profesionales.
Los ficheros se guardaban jerárquicamente para su mejor organización y el trabajo con los
documentos era en modo multiventana que permitía visualizar varios documentos a la vez en
ventanas diferentes y se podían copiar objetos seleccionados de una ventana a otra, por ejemplo.
La World Wide Web fue creada en 1989 por el CERN (Organización Europea de Investigación Nuclear)
como un sistema de hipertexto para compartir información basada en Internet. Al principio fue
ideado para ser usado como herramienta de comunicación entre los científicos nucleares del CERN. A
finales de 1990 el primer browser de la historia de la World Wide Web ya tenía forma.
Los documentos necesitaban un formato adecuado y casi todos los entornos usaban TeX y PostScript
pero éstos eran demasiado complicados teniendo en cuenta que debían ser leídos por todo tipo de
ordenadores. Es por eso que tanto el lenguaje (HTML) como el protocolo de red (HTTP) se diseñaron
para ser realmente muy simples.
A principios de 1993 había alrededor de 50 servidores y con dos tipos de navegadores: el original,
gráfico, pero sólo para plataformas NeXT, y el visualizador en modo de línea preparado para
cualquier plataforma pero muy limitado.
En la actualidad, la Web es algo cotidiano para una gran parte de los más de 600 millones de usuarios
de Internet que hay en todo el mundo y las posibilidades y alcance de sus funciones son diversas así
como su impacto en la economía mundial es apreciable.
No sólo hay documentos de texto, hay imágenes, vídeos, música, se pueden comprar cosas, se
pueden hacer reservas...
HTML se corresponde con las siglas de HyperText Mark-up Language en inglés. Donde Mark-up es un
término de imprenta que significa el conjunto de instrucciones estilísticas detalladas escritas en un
manuscrito que debe ser tipografiado por lo que realmente HTML podría ser traducido como
lenguaje de formato de documentos para Hipertexto.
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
17
2.2. Arquitectura general de la Web
Principios para el diseño de sistemas web.
La arquitectura, en su más amplia definición, podemos describirla como el arte de planear, diseñar y
construir espacios habitables, y engloba, por tanto, no sólo la capacidad de diseñar los espacios, sino
también la ciencia de construir los volúmenes necesarios.
A partir de esta definición general podemos extrapolarlo a la llamada arquitectura web centrándonos
en tres conceptos fundamentales:
Planear,
Diseñar.
Construir.
Es importante subrayar que el adecuado tratamiento de cada una de estas fases permitirá la creación
de sitios y aplicaciones webs más profesionales.
Componentes básicos de un sistema web.
El hosting es el lugar físico donde se almacenan los datos y los sistemas necesarios para que todo
funcione.
Las funciones principales de estos componentes son:
Guardar datos.
Protegerlos contra ataques.
Hacer una copia de respaldo.
Mantener y reparar sistemas y equipos.
Asegurar el funcionamiento constante de los servidores.
Procurar la accesibilidad a los datos en todo momento.
Brindar asistencia técnica a clientes.
Administrar cuentas de correo electrónico.
Un dominio de Internet es una red de identificación asociada a un grupo de dispositivos o equipos
conectados a la red Internet.
Hay algunos organismos internacionales que administran los dominios en Internet de primer nivel.
Por ejemplo, los terminados en. com, .edu, .gov, .mil, .org, .net, .int, etc.
Hay dominios de segundo nivel que han sido delegados a cada país para su administración.
Por ejemplo, .ar para Argentina, .pt para Portugal, .mx para México, .co para Colombia, .es para
España, etc.
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
18
Como ocurre en cualquier sistema informático la información dentro del servidor debe estar
organizada en un formato que el sistema pueda interpretar y obviamente compatible con programas
de navegación web como Chrome, Explorer, Firefox, etc.
División en capas.
La arquitectura tradicional de cliente/servidor también es conocida como arquitectura de dos capas y
necesita una interfaz de usuario que se instala y se ejecuta en un ordenador o estación de trabajo
enviando solicitudes a un servidor para ejecutar operaciones complejas.
Por ejemplo, una estación de trabajo utilizada como cliente puede ejecutar una aplicación de interfaz
de usuario que interroga a un servidor central de bases de datos.
La arquitectura de tres capas es un diseño reciente que introduce una capa intermedia en el proceso.
En este sistema cada capa es un proceso separado y bien definido corriendo (siendo ejecutado) en
plataformas separadas.
En la arquitectura tradicional de tres capas se instala una interfaz de usuario en el ordenador del
usuario final (el cliente).
La arquitectura de las aplicaciones Web suelen presentar un esquema de tres niveles.
1. El primer nivel consiste en la capa de presentación que incluye no sólo el navegador sino
también el servidor web que es el responsable de presentar los datos un formato adecuado.
2. El segundo nivel está referido en la mayoría de los casos a algún tipo de programa o script.
3. Finalmente, el tercer nivel proporciona al segundo los datos necesarios para su ejecución.
Por ejemplo, una aplicación web convencional recogerá datos del usuario (primer nivel), los enviará al
servidor que ejecutará un programa (segundo y tercer nivel) y cuyo resultado será formateado y
presentado al usuario en el navegador (primer nivel otra vez).
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
19
Las diferentes capas suelen ser:
Capa 1: Cliente de aplicación: Navegador Web
Capa 2: Servidor de Aplicaciones: Apache, Servidor Tomcat.
Capa 3: Servidor de Datos: Base de datos, servidor SMTP.
2.3. El cliente web
El cliente web es una aplicación informática o un ordenador que consume un servicio remoto en otro
ordenador, conocido como servidor, normalmente a través de una red de telecomunicaciones.
El término se usó inicialmente para los llamados terminales tontos que eran dispositivos incapaces
de ejecutar programas por sí mismos pero podían conectarse e interactuar con ordenadores remotos
por medio de una red que realiza todas las operaciones requeridas mostrando luego los resultados al
usuario.
Se utilizaban sobre todo porque su costo en esos momentos era mucho menor que el de un
ordenador. Estos terminales tontos eran clientes de un equipo mainframe por medio de la técnica de
tiempo compartido.
En la actualidad se suele utilizar para referirse a programas que requieren específicamente una
conexión a otro programa, al que se denomina servidor y que suele estar en otra máquina.
Ya no se utilizan por criterios de costo, sino para obtener datos externos (por ejemplo páginas web,
información bursatil o bases de datos), interactuar con otros usuarios a través de un gestor central
(como por ejemplo los protocolos BitTorrent o IRC), compartir información con otros usuarios
(servidores de archivos y otras aplicaciones Groupware) o utilizar recursos de los que no se dispone
en la máquina local (por ejemplo impresión)
Uno de los clientes más utilizados, sobre todo por su versatilidad, es el navegador web. Muchos
servidores son capaces de ofrecer sus servicios a través de un navegador web en lugar de requerir la
instalación de un programa específico.
Hardware básico. Dispositivos fijos y móviles.
Para conectarse a Internet se requiere un ISP y un determinado hardware.
Un ISP proporciona acceso a Internet. El modo de contratar una cuenta con un ISP es igual
que el utilizado para contratar el servicio telefónico u otros servicios públicos.
Un proveedor de acceso a Internet (ISP) es una compañía que ofrece acceso a Internet,
normalmente por una cuota.
Hardware. Para una conexión de banda ancha, como ADSL o cable, se necesita un módem
ADSL o por cable. El ISP podría incluirlo como parte del hardware de inicio cuando se suscribe
a una cuenta de banda ancha. Cuando se quiere configurar una red para compartir el acceso
a Internet con varios equipos también será necesario un router.
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
20
Sistemas operativos de uso común
Un sistema operativo es un conjunto de programas y archivos auxiliares que permiten la
interactividad entre el usuario y la computadora, comportándose como un intérprete entre el
lenguaje humano y el lenguaje máquina. También se encarga de la administración de los dispositivos,
así como la carga y ejecución de aplicaciones.
La clasificación de los tipos de sistemas operativos es:
1. Sistemas operativos estructurales. se definen a partir de los requisitos de los usuarios y del
software.
2. Sistemas operativos de estructura monolítica. Se basa en un solo programa que gestiona un
conjunto de rutinas.
3. Sistemas operativos de estructura jerárquica. Sus diversos elementos cumplen funciones
jerárquicas o de grado.
4. Sistemas operativos por servicios. Se basan en la experiencia final del usuario y cómo se
relaciona con el hardware. Entre estos existen los de monousuarios, multiusuarios,
multitareas, monotareas, uniproceso y multiproceso.
5. Sistemas operativos de red. Este tipo de sistemas operativos se enfocan a la forma como
ofrecen sus servicios. Lo realizan a través de la red y usando servidores.
Navegadores. Características y comparativa.
Internet Explorer.
Windows Internet Explorer (anteriormente Microsoft Internet Explorer), conocido comúnmente
como IE, es un navegador web desarrollado por Microsoft para el sistema operativo Microsoft
Windows desde 1995.
Las nuevas versiones de Internet Explorer incorporan muchos de los avances de los estándares web
que sus precursores obviaron, como el soporte para CSS3, SVG, HTML5 (incluyendo las etiquetas
<AUDIO>, <VIDEO> y <CANVAS>), el formato de archivo tipográfico web WOFF, además de incluir
mejoras de rendimiento como la aceleración por hardware para el proceso de renderizado de
páginas web y un nuevo motor de JavaScript denominado Chakra.
Renderizar es el proceso de generar una imagen (imagen en 3D o una animación en 3D) a partir de
un modelo, usando una aplicación de computadora.
Mozilla Firefox.
Usa el motor Gecko para renderizar páginas webs que implementa estándares web. Mozilla Firefox
es un navegador web libre y de código abierto desarrollado para Microsoft Windows, Mac OS X y
GNU/Linux coordinado por la Corporación Mozilla y la Fundación Mozilla.
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
21
Ventajas:
Verifica las actualizaciones de los antivirus con regularidad.
Presenta muchas extensiones útiles que se pueden descargar ofreciendo funcionalidades
adicionales. Es posible la personalización del entorno.
El uso de marcadores es rápido y fácil gracias al icono correspondiente. También se pueden
asignar palabras clave a los marcadores y favoritos que pueden ser organizados y
gestionados desde una biblioteca.
Firefox es rápido y se actualiza de forma automática.
Inconvenientes:
Firefox no utiliza procesos separados para cada pestaña lo que puede provocar un bloqueo.
Desafortunadamente no todos los sitios web tienen un diseño optimizado para Firefox lo que
puede provocar problemas de visualización
Safari.
Safari es un navegador web de código cerrado desarrollado por Apple Inc. Está disponible para OS X,
iOS (el sistema usado por el iPhone, el iPod Touch y el iPad) y Windows (sin soporte desde el 2012).
Incluye navegación por pestañas, corrector ortográfico, búsqueda progresiva, vista del historial en
CoverFlow, administrador de descargas y un sistema de búsqueda integrado.
Opera.
Es un navegador web y suite de Internet creado por la empresa noruega Opera Software capaz de
realizar múltiples tareas como navegar por sitios web, gestionar correo electrónico, contactos,
fuentes web, charlar vía IRC y funcionar como cliente BitTorrent.
Opera ha sido pionero en incorporar muchas de las características que hoy en día se pueden ver en el
resto de los navegadores web como el zoom y la búsqueda integrada y popularizar otras como las
pestañas.
Sus características de seguridad incluyen protección integrada contra phishing y malware, cifrado de
alta seguridad al navegar, y la capacidad de eliminar fácilmente datos privados, como por ejemplo
cookies, caché y datos de inicios de sesión.
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
22
Chrome.
Google Chrome es un navegador web desarrollado por Google y compilado con base en varios
componentes e infraestructuras de desarrollo de aplicaciones frameworks de código abierto. Está
disponible gratuitamente bajo condiciones de servicio específicas. El nombre del navegador deriva
del término en inglés usado para el marco de la interfaz gráfica de usuario (chrome).
Funcionalidades avanzadas: extensiones, aplicaciones específicas, etc.
Los exploradores de internet pueden ser más que una simple herramienta para navegar por la web
gracias a las llamadas extensiones que son unos programas o aplicaciones que se instalan en el
navegador y amplían sus funcionalidades.
Los complementos varían según el navegador que se esté usando (Google Chrome, Internet Explorer,
Mozilla Firefox, Safari y Opera). Hay que tener en cuenta que una misma extensión no funcionará en
dos navegadores distintos. No obstante, existe la opción de sincronizar las extensiones de un mismo
navegador para diferentes computadoras, para así evitar tener que descargarlas desde varios
dispositivos.
Los también llamados complementos o addons pueden ser desde aplicaciones prácticas, como dar el
pronóstico del tiempo y traducciones a diferentes idiomas, hasta servicios especializados como
almacenamiento en la nube, trazadores de planos y reproductores de música, pasando por juegos y
simuladores de cirugías.
Las extensiones se pueden deshabilitar en cualquier momento y se administran desde el mismo
navegador. Cada explorador ofrece una suerte de catálogo de complementos, agrupados por
categorías, con una selección de las más tal como sucede en las tiendas de aplicaciones App Store y
Google Play, por ejemplo.
El proceso para instalarlas depende de cada navegador aunque siguen un mismo patrón y no
presentan dificultades reseñables.
2.4. Servidores web
Servidores web de uso común.
Apache. Es el más utilizado en todo el mundo. Es gratuito y de código abierto y puede ser
instalad (informáticamente decimos correr) sobre cualquier plataforma.
Microsoft IIS. Sólo funciona sobre sistemas Windows.
Sun Java System Web Server. Este producto pertenece a la casa Sun y suele montarse sobre
entorno de este sistema. Aunque, como Apache, es multiplataforma, y recientemente Sun ha
decidido distribuirlo con licencias de código abierto (BSD concretamente).
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
23
Ngnix. Este es un servidor Web muy ligero y corre sobre sistemas Unix y Windows. Se ha
convertido en el 4º servidor HTTP más popular de la red y también se distribuye bajo licencia
BSD.
Lighttp. Este servidor Web es otro de los más ligeros que hay en el mercado. Está especialmente
pensado para hacer cargas pesadas sin perder balance, utilizando poca RAM y poca de CPU. Algunas
páginas populares que lo usan son Youtube, Wikipedia y otras que soportan gran tráfico diariamente.
También es gratuito y se distribuye bajo licencia BSD.
Características básicas de un servidor web.
Procesador. Habitualmente suelen ser de las empresas Intel o AMD, con doble núcleo ó 4 núcleos. Si
el servidor web no va a ser utilizado para vender hosting, ni se instalará VPS en él puede bastar un
modelo sencillo, sin excesos.
Un servidor virtual privado (VPS, del inglés virtual private server) es un método de particionar un
servidor físico en varios servidores de tal forma que todo funcione como si se estuviese ejecutando
en una única máquina. Cada servidor virtual es capaz de funcionar bajo su propio sistema operativo y
además cada servidor puede ser reiniciado de forma independiente.
Memoria RAM. Muy importante es dar todo el peso que se pueda a esta variable. Cuando la RAM se
agota se tira de memoria virtual (disco duro) y se ralentiza todo pudiendo incluso colapsar el servidor
y provocar caída de servicios en el mismo.
Modelo de disco duro. Buscando siempre el máximo equilibrio entre la velocidad y el rendimiento.
Configuración de servidores web.
En la práctica Apache se instala de varias formas:
El programa exclusivo, al que después se le agregan manualmente distintos módulos.
El paquete XAMPP que incluye Apache, la base de datos MySQL, PHP y Perl.
Otras distribuciones como LAMP o MAMP.
La instalación de la aplicación es sencilla: descargar de Apache.org. la última versión para Windows,
por ejemplo.
Habitualmente se crean dos carpetas en la unidad C, la primera de nombre Apache y la segunda
servidor web. Tras descomprimir el archivo descargado y ejecutarlo sólo queda seguir los pasos de la
instalación y de los datos.
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
24
El programa de instalación crea un icono en el área de notificación que permitirá iniciar, detener y
reiniciar Apache. Hay que tener en cuenta que cualquier cambio que se realice en el archivo de
configuración no tendrá efecto hasta que se reinicie el servidor.
Toda la configuración para el funcionamiento de Apache se guarda en un archivo de texto
denominado httpd.conf que se encuentra en la ruta C:Apacheconf. Puede ser modificado en
cualquier editor de texto como el bloc de notas pero un programa recomendado es Notepad++,
software libre que es inmejorable.
Seguridad en servidores web.
Los servidores web deben estar protegidos frente a cualquier tipo de amenaza.
La mayor parte de estos ataques, en la actualidad, vienen como consecuencia de una mala
configuración del servidor o un mal diseño del mismo, así como de fallos de programación.
Las grandes corporaciones tienen sistemas más complejos y, por lo tanto, más difíciles de
administrar. Las pequeñas empresas tienen servidores simples y con una configuración escasamente
elaborada por lo que en su gran mayoría estos servidores son susceptibles de ser atacados sin mucha
dificultad.
Se pueden tomar dos caminos en cuanto a la aplicación de la seguridad en los servidores:
Intentar realizar una configuración correcta de los servidores web y de los elementos que lo
componen.
Utilizar herramientas de seguridad dedicadas exclusivamente a la securizacion de estos servidores.
En el mercado existen herramientas dedicadas para proteger servidores web, es decir, dispositivos
de seguridad capaces de ofrecer multitud de funcionalidades que, sin lugar a dudas, nos serán de
gran utilidad a la hora de proteger nuestro entorno web.
Estos dispositivos son capaces de realizar funciones que van desde firewall de aplicación web hasta la
aceleración de las propias aplicaciones y el balanceo de carga entre los servidores e IPS.
Entre los beneficios que nos ofrecen este tipo de dispositivos, podemos destacar:
Protección de firewall e IPS sobre aplicaciones web.
Firewall de aplicaciones XML, implementando las capacidades IPS, sobre el código XML.
Balanceo de carga entre los servidores web, con el fin de conseguir una descongestión de los
mismos.
Bloqueo de amenazas sobre las aplicaciones que corren en el servidor web como cross site,
inyección SQL o ataques de buffer overflow.
Soporte para comunicaciones SSL y procesamiento de cifrado XML.
Cumplimiento de normativas de seguridad.
Reducción de la complejidad en la administración.
Las empresas deberán concienciarse de la importancia de tener servidores web seguros que
garanticen la navegación, la confidencialidad y la integridad de los datos que pasan por el servidor así
como la información mostrada en el mismo.
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
25
Funcionalidades avanzadas: extensiones, servidores virtuales, etc.
Extensiones del servidor.
Un ejemplo de extensiones podemos tenerlo en las que ofrece el Internet Information Server (IIS): SSI,
ISAPI, IDC y ASP.
La mayoría de los servidores de internet ofrecen extensiones en el servidor para extender la
funcionalidad de las aplicaciones Web, dando posibilidad de acceder a bases de datos, presentar
anuncios rotativos, etc.
SSI.
El uso de archivos incluidos es una forma cómoda de almacenar en un único archivo información que
se utiliza en varias páginas.
Por ejemplo, podría utilizar directivas SSI para insertar un aviso de copyright en todos los documentos
de su sitio Web.
Las directivas de inclusión del servidor (SSI) están presentes en la mayoría de los servidores Web
indicando al servidor Web cuando debe incluir en una página HTML el contenido de otro archivo.
ISAPI.
Internet Server Application Programming Interface (ISAPI) proporciona una serie de interfaces que
pueden usarse para crear extensiones y filtros para el IIS.
ISAPI es una librería de funciones para programar extensiones en forma de librería DLL que extiende
la funcionalidad del servidor.
Microsoft afirma que ISAPI tiene una serie de ventajas sobre el modelo CGI: mejora el rendimiento,
baja sobrecarga, carga rápida y mejor escalabilidad.
Funcionalmente hace lo mismo que un CGI, por ejemplo, si el cliente HTTP demanda una
funcionalidad ISAPI, la DLL es cargada (el lugar del ejecutable .EXE de un CGI) siempre que ya no lo
esté y la DLL realiza el trabajo pedido por el cliente.
Una DLL (Dinamic Link Library, biblioteca de enlace dinámico) es una característica de la familia de
sistemas operativos Microsoft Windows que permite almacenar las rutinas ejecutables, que
normalmente cumplen una función o un conjunto de funciones específicos, independientemente
como archivos con la extensión .dll y cargarlas sólo cuando el programa las necesita. Esto ahorra
memoria durante la ejecución del programa y permite volver a utilizar el código.
La mejora viene porque a la hora de atender una petición la DLL está ya en memoria y no es
necesario crear un nuevo proceso y gestionarlo, sólo se crea un ECB con los datos de la petición para
procesarlos, un CGI tomaría los datos de las variables de entorno del sistema a través de un nuevo
proceso creado.
La desventaja más notoria es que muchos sistemas operativos comparten código en memoria, es
decir, no repiten el código del programa en memoria con el consiguiente consumo de memoria extra
lo que hace que la diferencia entre gestionar un ECB (Extension Control Block) y un proceso nuevo
pueda ser muy pequeña, y entonces el modelo ISAPI quedaría como una extensión ideada para el IIS
que no presenta grandes diferencias de rendimiento con el modelo CGI en otros sistemas operativos.
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
26
IDC.
El IDC o conector de bases de datos de Internet es una herramienta que puede utilizarse para enviar
consultas a una base de datos, dar formato a los datos devueltos en una página HTML y devolver la
página a un explorador. Los exploradores de Web (como Internet Explorer u otros exploradores)
emiten peticiones al servidor de Internet mediante HTTP. El servidor Web responde con un
documento en formato HTML.
IDC sirve para insertar, actualizar y eliminar información de la base de datos según la información
proporcionada por el usuario en una página Web. Esta funcionalidad ha sido incluida en las páginas
ASP, con lo que se espera un detrimento del uso del IDC en favor de ASP, por ofrecer mayor potencia
y flexibilidad.
ASP.
Las Active Server Pages (ASP) permiten ejecutar código (VBScript o JavaScript) en el servidor. Son
archivos que contienen etiquetas HTML, texto y comandos de secuencias de comandos y pueden
llamar a componentes ActiveX del servidor para que realicen tareas, como la conexión con bases de
datos o contenidos interactivos.
Las secuencias de comandos ASP comienzan a ejecutarse cuando un explorador solicita un archivo
.asp al servidor Web. El servidor Web llama a ASP, que lee el archivo solicitado desde el principio
hasta el final, ejecuta los comandos que encuentre y envía una página Web al explorador, es lo
mismo que un CGI pero ejecutado en forma de código VBScript o JavaScript con objetos ActiveX.
ASP utiliza los delimitadores <% y %> para enmarcar los comandos. Dentro de los delimitadores
puede incluir cualquier comando válido dentro del lenguaje de secuencia de comandos que esté
utilizando.
El siguiente ejemplo muestra una página HTML sencilla que contiene un comando de secuencia de
comandos:
<HTML>
<BODY>
Esta página se actualizó por última vez el <%= Now %>.
</BODY>
</HTML>
La función Now de VBScript devuelve la fecha y la hora actuales. Cuando el servidor Web procesa
esta página, reemplaza <%= Now %> con la fecha y la hora actuales y devuelve la página al
explorador:
Visualmente el resultado sería,
Esta página se actualizó el 8/1/97 2:20:00 PM.
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
27
Servidores virtuales.
Se conoce como servidor virtual a una partición dentro de un servidor que habilita varias máquinas
virtuales dentro de dicha máquina por medio de varias tecnologías.
Los servidores dedicados virtuales (SDV) usan una avanzada tecnología de virtualización que le
permite proveer acceso y la capacidad de reiniciarlo cuando desee, igual que un servidor dedicado.
Aportando la posibilidad de instalar sus propias aplicaciones y controlar completamente la
configuración de su servidor, los SDV representan una alternativa económica y eficiente para
aquellos que desean disfrutar los beneficios de un servidor dedicado pero aun no poseen el
presupuesto para hacerlo.
Cada SDV tiene asignado un límite del uso de la CPU y la memoria RAM (entre otros), así por tanto,
cada uno de los SDV funciona independientemente dentro del mismo servidor físico; es decir que
actúan como cajas dentro de un mismo equipo.
Por ejemplo, si uno de ellos está mal administrado y trabaja en forma sobrecargada, no afectará el
funcionamiento del resto.
Se conoce como servidor virtual SPEC a una solución especialmente dirigida al sector profesional que
permite gestionar virtualmente un servidor y optimizar recursos gracias a la utilización de una
potente infraestructura redundada, clusterizada y con posibilidad de montar VPN. Permite configurar
sistemas o aplicaciones, soportar cualquier tipo de servicio y determinar cómo desarrollarlo y
definirlo.
Si necesita alojar múltiples sitios web, un Servidor Virtual Privado (VPS) es la opción más económica.
Puede alojar numerosos sitios web en un VPS sin los gastos derivados de tener que adquirir su propio
servidor físico independiente.
2.5. Servidores de aplicaciones
Concepto de servidor de aplicaciones.
En informática, se denomina servidor de aplicaciones a un equipo informático que dentro de una red
de ordenadores ejecuta ciertas aplicaciones.
Habitualmente se trata de un dispositivo de software que proporciona servicios de aplicación a los
ordenadores cliente. Un servidor de aplicaciones generalmente gestiona la mayor parte (o la
totalidad) de las funciones de lógica de negocio y de acceso a los datos de la aplicación. Los
principales beneficios de la aplicación de la tecnología de servidores de aplicación son la
centralización y la disminución de la complejidad en el desarrollo de aplicaciones.
Características de los servidores de aplicaciones.
Los servidores de aplicación incluyen también middleware (o software de conectividad) que les
permite intercomunicarse con variados servicios buscando especialmente mejoras en la
confiabilidad, seguridad, el no-repudio, etc. Los servidores de aplicación también ofrecen a los
desarrolladores una interfaz para programación de aplicaciones (API) de tal manera que no tengan
que preocuparse por el sistema operativo o por la gran cantidad de interfaces requeridas en una
aplicación web moderna.
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
28
Los servidores de aplicación también brindan soporte a una gran variedad de estándares, tales como
HTML, XML, IIOP, JDBC, SSL, etc., que les permiten su funcionamiento en ambientes web (como
Internet) y la conexión a una gran variedad de fuentes de datos, sistemas y dispositivos.
Un ejemplo común del uso de servidores de aplicación (y de sus componentes) son los portales de
Internet, que permiten a las empresas la gestión y divulgación de su información, y un punto único de
entrada a los usuarios internos y externos. Teniendo como base un servidor de aplicación, dichos
portales permiten tener acceso a información y servicios (como servicios Web) de manera segura y
transparente, desde cualquier dispositivo.
Comparativa de servidores de aplicaciones de uso común.
Un servidor de aplicaciones ayuda en el proceso de creación e implementación de aplicaciones de
programas.
Ventajas:
Como toda la información y los datos se almacenan en una ubicación centralizada, por lo
tanto, actualizar y ampliar las aplicaciones se vuelven mucho más fácil.
Un punto central de almacenamiento de datos también garantiza un alto nivel de seguridad
en donde el servicio sólo se ofrece puede tener acceso a los datos.
El rendimiento de las aplicaciones de gran mejora drásticamente desde el tráfico de red se
limita al tráfico de rendimiento de nivel.
Desventajas:
Dado que toda la información se almacena en una ubicación centralizada en los servidores si
hubiera una falla o caída técnica en los servidores la aplicación no sería accesible.
Configuración de un servidor de aplicaciones.
En una configuración estándar de un servidor de aplicaciones, éste contiene todos los archivos
binarios y de configuración asociados con la aplicación, que incluyen:
El ejecutable(s) de la aplicación.
Los archivos estándar de configuración de la aplicación, como archivos de valores
predeterminados de la aplicación, catálogos de mensajes y bibliotecas compartidas.
Archivos de configuración de escritorio:
o Archivos de definición de acciones y tipos de datos.
o Archivos de imágenes de iconos.
o Archivos de datos de ayuda del escritorio.
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
29
Seguridad en servidores de aplicaciones.
La seguridad de un servidor web debe estar diseñada en capas donde cada capa superpone a la
anterior.
Todo esquema de seguridad debe incluir al menos cuatro tipos de medidas de seguridad:
Preventivas. Su objetivo es prevenir o dificultar la intrusión.
Por ejemplo, los firewalls.
Reactivas. Reaccionan ante la amenaza tomando contra medidas.
Por ejemplo, firewall de aplicaciones, Mod_security, Sistemas de detección de ataques de
fuerza bruta, etc.
Detección. Ayudan a detectar si una intrusión ha ocurrido o está en proceso.
Por ejemplo, HIDS como Tripwire, chkrootkit.
Recuperación. Ayudan a recuperar la operabilidad tras una intrusión.
Por ejemplo, backups e imágenes de disco.
Al implementar un esquema de seguridad se deben planear las líneas defensivas. Cada una de las
líneas refuerza la anterior, de modo que el fallo o la vulnerabilidad de una línea no comprometan la
instalación. Según muchos autores el éxito está en pensar como el enemigo, monitoreando los logs e
investigando cualquier indicio sospechoso.
Funcionalidades avanzadas: conceptos de escalabilidad, balanceo de carga, alta disponibilidad, etc.
Escalabilidad.
En telecomunicaciones y en ingeniería informática, la escalabilidad es la propiedad que indica su
habilidad para reaccionar y adaptarse sin perder calidad.
La escabilidad nos permite manejar el crecimiento continuo de trabajo de manera fluida, o bien para
estar preparado para hacerse más grande sin perder calidad en los servicios ofrecidos.
La escalabilidad como propiedad de los sistemas es generalmente difícil de definir en cualquier caso,
en particular es necesario definir los requerimientos específicos para la escalabilidad en esas
dimensiones donde se crea que son importantes.
En general, también se podría definir como la capacidad del sistema informático de cambiar su
tamaño o configuración para adaptarse a las circunstancias cambiantes. Por ejemplo, una
Universidad que establece una red de usuarios por Internet para un edificio de docentes y no
solamente quiere que su sistema informático tenga capacidad para acoger a los actuales clientes que
son todos profesores, sino también a los clientes que pueda tener en el futuro dado que hay
profesores visitantes que requieren de la red por algunas aplicaciones académicas, para esto es
necesario implementar soluciones que permitan el crecimiento de la red sin que la posibilidad de su
uso y reutilización disminuya o que pueda cambiar su configuración si es necesario.
Balanceo de carga.
El balance o balanceo de carga es un concepto usado en informática que se refiere a la técnica usada
para compartir el trabajo a realizar entre varios procesos, ordenadores, discos u otros recursos.
Está íntimamente ligado a los sistemas de multiprocesamiento, o que hacen uso de más de una
unidad de procesamiento para realizar labores útiles. El balance de carga emplea un algoritmo que
divide de la manera más equitativa posible el trabajo y de esta forma evitar los temidos cuellos de
botella.
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
30
Uno de los principales problemas de los mayores sitios web en Internet es cómo gestionar las
solicitudes de un gran número de usuarios. Se trata de un problema de escalabilidad que surge con el
continuo crecimiento del número de usuarios activos en el sistema. Este servicio se puede brindar
tanto con un enrutador como con una computadora con dos placas de red y software específico.
Hay balanceadores de carga tipo round-robin (uno a uno) y por pesos (que son capaces de saber cuál
de los nodos está más libre y lanzarle la petición).
El más conocido es LVS, sin embargo hay otros, como el Red Hat Piranha.
Y en la plataforma para Windows Server se tiene al ISA Server (Microsoft Internet Security and
Acceleration Server).
Alta disponibilidad.
La alta disponibilidad (High availability) es un protocolo de diseño del sistema que lleva asociada una
implementación para asegurar un elevado grado de continuidad operacional durante un período de
medición dado.
El concepto disponibilidad se refiere a la habilidad de la comunidad de usuarios para acceder al
sistema, someter nuevos trabajos, actualizar o alterar trabajos existentes o recoger los resultados de
trabajos previos.
Si un usuario no puede acceder al sistema se dice que está no disponible. El término tiempo de
inactividad (downtime) es usado para definir cuándo el sistema no está disponible.
2.6. Servidores de bases de datos
Estos servidores proveen servicios de base de datos a otros programas u otros ordenadores como
parte del modelo cliente-servidor. También puede hacer referencia a aquellas computadoras
(servidores) dedicadas a ejecutar esos programas, prestando el servicio.
Servidores de bases de datos para Internet de uso común.
Algunos de los servidores de base de datos más comunes son:
MySQL server. Base de datos de código abierto muy popular, pequeños y rápidos.
PostgreSQL server. Base de datos de código abierto. Se trata de un servidor de base de datos
relacional orientada a objeto publicado bajo licencia libre BSD.
Oracle-XE. Versión lite del RDBMS de Oracle (gratuita pero no de código abierto).
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
31
Características básicas de un servidor de bases de datos.
Un servidor de bases de datos se utiliza para almacenar, recuperar y administrar los datos de una
base de datos. El servidor gestiona las actualizaciones de datos permitiendo el acceso simultáneo de
muchos servidores o usuarios web y garantizando la seguridad y la integridad de los datos.
Cuando hablamos de datos podemos estar refiriéndonos a millones de elementos a los que acceden
al mismo tiempo miles de usuarios.
Así como sus funciones básicas, el software de servidores de bases de datos ofrece herramientas
para facilitar y acelerar la administración de bases de datos. Algunas funciones son la exportación de
datos, la configuración del acceso de los usuarios y el respaldo de datos.
Las bases de datos tienen todo tipo de usos, como gestión de documentos, gestión de registros,
índices de motores de búsqueda, para servidores de correo electrónico y para brindar contenido
dinámico de páginas web.
Los servidores de bases de datos se usan en el alojamiento de páginas web para insertar contenido
en páginas web dinámicas. Dicho tipo de páginas dinámicas utilizan diseños de tipo estándar que se
completan con información en función de la dirección URL de la página o de otras variables como las
credenciales de usuario o las acciones que se realicen en la página.
Algunos ejemplos de páginas dinámicas que utilizan bases de datos son los siguientes:
- Contenido en publicaciones de blogs o páginas de categoría de blogs.
- Anuncios clasificados de empleos o sitios web de clasificados.
- Información de directorios web y mapas.
- El contenido de su actividad en Facebook.
- Resultados de Google y otras búsquedas.
- Secciones de contenido administrable en sitios web.
- Listas de productos de sitios de comercio electrónico y detalles de procesos de compra.
- Detalles y configuración de la cuenta cuando inició sesión en un sitio web.
Funcionalidades avanzadas: conceptos de escalabilidad, alta disponibilidad, etc.
Escalabilidad.
Si se tiene previsión de escalar de forma continuada el entorno web es mejor optar por un escalado
de forma horizontal. Escalar verticalmente tendría unos costes mucho más elevados que escalar de
forma horizontal debido a la especialización necesaria del hardware al necesitar servidores de
altísimo rendimiento.
Al escalar de forma horizontal las páginas web que contienen la información deben ser replicadas a
todos los servidores web. Para poder obtener mejoras después de añadir más servidores, las
peticiones de los distintos clientes se deben repartir de forma equilibrada entre los servidores.
Por ejemplo, el caso más sencillo es cuando se necesita escalar un entorno web estático. En este caso,
los ficheros que contienen las diferentes páginas HTML deben ser replicados a todos los servidores. El
balanceador de tráfico se encarga de redirigir las peticiones de cada cliente a los distintos servidores.
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
32
En un entorno web escalado de forma horizontal se debe tener muy en cuenta el tratamiento y
persistencia de las sesiones. Tener sesiones almacenadas de forma local en cada servidor es una
mala práctica. La solución pasa por tener sesiones centralizadas o, incluso mejor, no tener sesiones
en absoluto.
Alta disponibilidad.
Escalando de forma horizontal los servidores web mediante el uso de un balanceador de tráfico se
aumenta la disponibilidad del servicio ya que si un servidor falla, el servicio no se ve afectado. En este
caso, se sigue contando con un único punto de fallo, el balanceador de tráfico y será necesario un
servicio web de alta disponibilidad con dos balanceadores de tráfico.
La arquitectura más sencilla es utilizar dos balanceadores en configuración de maestro/esclavo. De
esta forma, el esclavo únicamente trabajará si el servidor maestro tiene algún problema.
Los balanceadores de tráfico hardware suelen venir preparados para su uso conjunto.
2.7. Servidores complementarios en una arquitectura web
Servidores de correo. Características.
Cuando se envía un correo electrónico el mensaje se va enrutando de servidor en servidor hasta
llegar al servidor de correo electrónico del receptor. Concretamente el mensaje se envía al servidor
del correo electrónico (llamado MTA, del inglés Mail Transport Agent) que tiene la tarea de
transportarlos hacia el MTA del destinatario.
En Internet, los MTA se comunican entre sí usando el protocolo SMTP, y por lo tanto usan los llama
servidores SMTP (conocidos también como servidores de correo saliente).
Luego el MTA del destinatario entrega el correo electrónico al servidor del correo entrante (llamado
MDA, del inglés Mail Delivery Agent) el cual almacena el correo electrónico mientras espera que el
usuario lo acepte. Existen dos protocolos principales utilizados para recuperar un correo electrónico
de un MDA:
POP3. Post Office Protocol, Protocolo de Oficina de Correo, es el más antiguo de los dos
utilizados y es el que emplea para recuperar el correo electrónico y, en algunos casos, dejar una
copia en el servidor.
IMAP. Internet Message Access Protocol, Protocolo de Acceso a Mensajes de Internet, se emplea
para coordinar el estado de los correos electrónicos (leído, eliminado, movido) a través de
múltiples clientes de correo electrónico. Con IMAP, se guarda una copia de cada mensaje en el
servidor, de manera que esta tarea de sincronización se pueda completar.
Por esta razón, los servidores de correo entrante se llaman servidores POP o servidores IMAP, según
el protocolo usado.
Servidores de direccionamiento (DNS). Características.
Domain Name System o DNS (en español, sistema de nombres de dominio) es un sistema de
nomenclatura jerárquica para computadoras, servicios o cualquier recurso conectado a Internet o a
una red privada. Este sistema asocia información variada con nombres de dominios asignado a cada
uno de los participantes.
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
33
El servidor DNS utiliza una base de datos distribuida y jerárquica que almacena información asociada
a nombres de dominio en redes como Internet. Como base de datos el DNS asocia diferentes tipos de
información a cada nombre. Los usos más comunes son la asignación de nombres de dominio a
direcciones IP y la localización de los servidores de correo electrónico de cada dominio.
Por ejemplo, si la dirección IP del sitio FTP de prox.mx es 200.64.128.4, la mayoría de la gente llega a
este equipo especificando ftp.prox.mx y no la dirección IP. Además de ser más fácil de recordar, el
nombre es más fiable. La dirección numérica podría cambiar por muchas razones, sin que tenga que
cambiar el nombre.
Para la operación práctica del sistema DNS se utilizan tres componentes principales:
1. Los clientes. Un programa cliente DNS que se ejecuta en el ordenador del usuario y que
genera peticiones DNS de resolución de nombres a un servidor DNS.
Por ejemplo, ¿Qué dirección IP corresponde a nombre.dominio?.
2. Los Servidores DNS. Que contesten las peticiones de los clientes. Los servidores recursivos
tienen la capacidad de reenviar la petición a otro servidor si no disponen de la dirección
solicitada.
3. Las zonas de autoridad. Porciones del espacio de nombres raros de dominio que almacenan
los datos. Cada zona de autoridad abarca al menos un dominio y posiblemente sus
subdominios, si estos últimos no son delegados a otras zonas de autoridad.
Proxies.
Los proxies son máquinas que tienen como objetivo distribuir el tráfico en la red haciendo que las
conexiones que se solicitan desde un ordenador local a Internet, pueden dirigirse hacia un servidor o
hacia otro según la carga solicitada.
Los proxies instalados en una red también tienen una función caché. Cuando se solicita una conexión
a la red (URL) la página que se ha bajado hasta el ordenador a través del navegador se guarda en la
memoria de ese servidor proxy durante un periodo de tiempo y así, cuando se vuelve a solicitar esa
dirección desde otro ordenador de la red, el servidor proxy le ofrece la página que tiene guardada en
la memoria, consiguiendo una mayor velocidad de respuesta y un ahorro en el tráfico de la red.
Un proxy permite a otros equipos conectarse a una red de forma indirecta a través de él.
Cuando un equipo de la red desea acceder a una información o recurso es realmente el proxy quien
realiza la comunicación y a continuación traslada el resultado al equipo inicial. En unos casos esto se
hace así porque no es posible la comunicación directa y en otros casos porque el proxy añade una
funcionalidad adicional, como puede ser la de mantener los resultados obtenidos (por ejemplo, una
página web) en una cache que permita acelerar sucesivas consultas coincidentes.
Servidores de directorio. Características de LDAP.
Es como una base de datos pero esta contiene información más descriptiva y basada en atributos.
Los directorios están afinados para dar una respuesta rápida a operaciones de búsqueda o consultas,
puede tener la capacidad de replicar información de forma amplia, con el fin de aumentar la
disponibilidad y la fiabilidad.
Hay muchas maneras distintas de proporcionar un servidor de directorio. Estos métodos permiten
almacenar en el directorio diferentes tipos de información y de esta forma establecer requisitos
diferentes para hacer referencia a la información, consultarla y actualizarla.
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
34
LDAP son las siglas de Lightweight Directory Access Protocol (en español, Protocolo Ligero de Acceso
a Directorios) que hacen referencia a un protocolo a nivel de aplicación que permite el acceso a un
servicio de directorio ordenado y distribuido para buscar diversa información en un entorno de red.
LDAP también se considera una base de datos (aunque su sistema de almacenamiento puede ser
diferente) a la que pueden realizarse consultas.
Ejemplo de árbol de directorio LDAP,
Un árbol de directorio LDAP a veces refleja varios límites políticos, geográficos u organizacionales,
dependiendo del modelo elegido.
Los despliegues actuales de LDAP tienden a usar nombres de Sistema de Nombres de Dominio (DNS
por sus siglas en inglés) para estructurar los niveles más altos de la jerarquía. Conforme se desciende
en el directorio pueden aparecer entradas que representan personas, unidades organizacionales,
impresoras, documentos, grupos de personas o cualquier cosa que representa una entrada dada en
el árbol (o múltiples entradas).
Servidores de mensajería.
La mensajería instantánea (conocida también en inglés como IM) es una forma de comunicación en
tiempo real entre dos o más personas basada en texto. El texto es enviado a través de dispositivos
conectados a una red como Internet.
La mensajería instantánea requiere el uso de un cliente de mensajería instantánea que realiza el
servicio y se diferencia del correo electrónico.
Los clientes de mensajería instantánea más utilizados son ICQ, Yahoo! Messenger, Windows Live
Messenger, Pidgin, AIM (AOL Instant Messenger) y Google Talk (que usa el protocolo abierto XMPP).
Estos servicios han heredado algunas ideas del viejo, aunque de altísima popularidad, sistema de
conversación IRC. Cada uno de estos mensajeros permite enviar y recibir mensajes de otros usuarios
usando los mismos software clientes, sin embargo, últimamente han aparecido algunos clientes de
mensajerías que ofrecen la posibilidad de conectarse a varias redes al mismo tiempo.
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
35
Servidores de antivirus, filtrado de contenidos, etc.
Un servidor antivirus y antispam aliado con el servidor de correo electrónico forman la pareja
perfecta si estamos hablando de seguridad en el filtrado de correo entrante y saliente. Puede
instalarse en el mismo servidor de correo.
Su funcionamiento sigue el siguiente esquema de trabajo:
Escaneado de tráfico de correo mejorado
Escaneo de correo entrante y saliente.
Escaneó por "asunto", "cuerpo" y "adjunto".
Optimizado para el mínimo uso de recursos del sistema.
Prevención sobre el filtrado de información
Filtro de contenido. Podrá definir qué hacer con los mensajes, tengan o no tengan virus.
Definición de parámetros de actuación en función de patrón establecido.
Protección anti spam contra envíos masivos y abusivos.
Filtro AntiSpam
Bloquea correo que proviene de ciertas direcciones predefinidas.
Consulta en tiempo real de listas de direcciones consideradas como spam.
Análisis de cabecera, asunto y cuerpo para determinar contenido considerado como spam.
Otros servidores complementarios.
Servidores de Audio/Video (Audio/Video Servers). Los servidores de Audio/Video añaden
capacidades multimedia a los sitios web permitiéndoles mostrar contenido multimedia en forma
de flujo continuo (streaming) desde el servidor.
Servidores de Chat (Chat Servers). Los servidores de chat permiten intercambiar información a
una gran cantidad de usuarios ofreciendo la posibilidad de llevar a cabo discusiones en tiempo
real.
Servidores de Fax (Fax Servers). Un servidor de fax es una solución ideal para organizaciones que
tratan de reducir el uso del teléfono pero necesitan enviar documentos por fax. Ha quedado
desfasado en el tiempo.
2.8. Infraestructura hardware y software para servidores de Internet
Servicios en la nube (Cloud).
En este tipo los usuarios puedan acceder a los servicios disponibles en la nube de Internet sin
conocimientos (o, al menos sin ser expertos) en la gestión de los recursos que usan.
Según el IEEE Computer Society es un paradigma en el que la información se almacena de manera
permanente en servidores de Internet y se envía a cachés temporales de cliente, lo que incluye
equipos de escritorio, centros de ocio, portátiles, etc.
La computación en la nube está formada por servidores desde internet encargados de atender las
peticiones en cualquier momento. Se puede tener acceso a su información o servicio mediante una
conexión a internet desde cualquier dispositivo móvil o fijo ubicado en cualquier lugar. Sirven a sus
usuarios desde varios proveedores de alojamiento repartidos frecuentemente por todo el mundo.
Esta medida reduce los costes, garantiza un mejor tiempo de actividad y que los sitios web sean
invulnerables a los hackers, a los gobiernos locales y a sus redadas policiales.
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
36
Cloud computing es un nuevo modelo de prestación de servicios de negocio y tecnología, que
permite incluso al usuario acceder a un catálogo de servicios estandarizados y responder con ellos a
las necesidades de su negocio, de forma flexible y adaptativa, en caso de demandas no previsibles o
de picos de trabajo, pagando únicamente por el consumo efectuado, o incluso gratuitamente en caso
de proveedores que se financian mediante publicidad o de organizaciones sin ánimo de lucro.
El cambio que ofrece la computación desde la nube es que permite aumentar el número de servicios
basados en la red y ahorrar los costes salariales o los costes en inversión económica (locales, material
especializado, etc.)
La computación en nube es un concepto que incorpora el software como servicio, como en la Web
2.0 y otros conceptos recientes también conocidos como tendencias tecnológicas que tienen en
común el que confían en Internet para satisfacer las necesidades de cómputo de los usuarios.
Tipos de servicios: infraestructura como servicio, plataforma como servicio y aplicación como
servicio.
Infraestructura como servicio.
Con una Infraestructura como servicio (Iaas) lo que se tiene es una solución basada en virtualización
en la que se paga por consumo de recursos: espacio en disco utilizado, tiempo de CPU, espacio en
base de datos, transferencia de datos.
Un ejemplo de IAAS son los web services de Amazon.
Las ventaja más inmediata de elegir este tipo de soluciones es la desplazar una serie de problemas al
proveedor relacionados con la gestión de las máquinas.
Las Infraestructura como Servicio permiten una escalabilidad automática o semiautomática, de
forma que podamos contratar más recursos según los vayamos necesitando.
Plataforma como servicio.
La idea principal de una plataforma como servicio es la cantidad de capas que ofrece al desarrollador
a la hora de construir una aplicación sobre un tercero: no sólo resuelve el problema de la
infraestructura hardware sino también varias capas de infraestructura software.
El cliente de este tipo de soluciones no necesita instalar, configurar y mantener sistemas operativos,
sistemas de bases de datos y servidores de aplicaciones… todos ellos vienen por defecto en la
plataforma de servicio.
Ejemplos de plataformas como servicio podemos considerar a Google App Engine, que recientemente
incorporó Java como lenguaje soportado, y también a Force de Salesforce o el futuro Azure de
Microsoft. Incluso, estirando un poco la definición, algunos web services de Amazon como Simple DB
podrían acercarse a ella.
Ventajas e inconvenientes de los servicios de infraestructura en la nube.
Los servicios en la nube o cloud computing están en pleno desarrollo y comienzan a extenderse entre
usuarios domésticos, profesionales y empresas. La nube pone a nuestra disposición interesantes
herramientas alojadas en internet, a las que se puede acceder desde cualquier lugar y con cualquier
dispositivo siempre y cuando contemos con conexión.
Este es un handicap importante, si no hay internet no hay servicio.
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
37
Las ventajas de los servicios en la nube son muchas:
Facilidad, simplicidad y rapidez. No es necesario instalar programas en nuestro equipo.
Basta con acceder a la web en cuestión para empezar a funcionar. Los servicios más
conocidos y reputados son extremadamente fáciles de usar.
Ahorro. En el caso de las empresas, también se produce un ahorro considerable de energía e
incluso de personal (el encargado de mantenimiento de los equipos que ya no se necesitan).
Seguridad. Los proveedores utilizan infraestructuras con gran capacidad de adaptación y
recuperación completa de datos perdidos. La información se aloja en varios servidores lo que
multiplica las copias de seguridad.
Actualización inteligente. Las aplicaciones se actualizan respetando la personalización previa
del usuario.
Ubicuidad y multidispositivo: podemos acceder a la aplicación y nuestros datos desde
cualquier punto del planeta y con cualquier dispositivo (ordenador, smartphone, tablet…).
Aliados frente a imprevistos. Los servicios en la nube pueden sacar de un apuro a empresas
que necesiten un refuerzo ante un encargo imprevisto o en momentos de picos altos de
trabajo (se pagan por consumo realizado).
Inconvenientes:
Necesidad de conexión. En el caso de profesionales y empresas en momentos puntuales
puede ser un gravísimo problema.
Dependencia: Puede ser complicado migrar los datos de sitio a otro.
Falta de control. El usuario se expone a la incertidumbre. Si hay un problema (por ejemplo, la
reciente pérdida de correos de Google) no tenemos control sobre nuestros datos.
Inseguridad. Los servicios en la nube cuentan con seguridad de alto nivel, nada es 100%
fiable con internet por medio. La nube aún tiene un gran desarrollo por delante así que es
conveniente no subir información sensible para el usuario.
Diversidad legislativa. La información alojada en la nube se rige bajo la legislación del país (o
países) en el que se encuentra el servidor (o servidores).
Tecnología inmadura. Son habituales los cambios en las aplicaciones lo que obliga a una
continua adaptación por parte del usuario.
Overbooking. Con la popularización de estos servicios la nube tendrá que ser capaz de
atender a un número cada vez mayor de usuarios.
Comparativa de los servicios de infraestructura en la nube de uso común.
En la siguiente tabla se puede observar una comparativa entre algunos servicios populares en cuanto
almacenamiento en la nube se refiere. Constantemente aparecen nuevos servicios de este tipo
confirmando la tendencia hacia la movilidad y los servicios online.
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
38
Recuerda…
El Middleware se conoce habitualmente al software de conectividad.
La extranet siempre tiene un acceso semiprivado.
Una plataforma como servicio resuelve más problemas que una solución que sólo ofrezca
infraestructura hardware.
El Script es como se denomina al conjunto de instrucciones almacenadas en un archivo de texto que
deben ser interpretados línea a línea en tiempo real.
Los servidores de chat es como se denominan los servidores que permiten intercambiar información
a una gran cantidad de usuarios ofreciendo la posibilidad de llevar a cabo discusiones en tiempo real.
Un ataque pasivo es aquel donde el atacante supervisa el tráfico de red e intenta conocer
información secreta sin realizar acciones.
El servidor DNS utiliza una base de datos distribuida y jerárquica.
La zona desmilitarizada es como se denomina la zona en que suelen encontrarse los servidores de la
organización que deben permanecer accesibles desde la red exterior.
Los cortafuegos pueden ser implementados en hardware o software.
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
39
3. APLICACIONES WEB
Aunque existen diferentes composiciones, generalmente una aplicación web está normalmente
estructurada como una aplicación de tres capas. En su forma más habitual, el navegador web ofrece
la primera capa, y un motor capaz de usar alguna tecnología web dinámica (por ejemplo: PHP, Java
Servlets o ASP, ASP.NET, CGI, ColdFusion, embPerl, Python o Ruby on Rails) constituiría la capa
intermedia. Una base de datos constituye la tercera y última capa.
El navegador web manda peticiones a la capa intermedia que ofrece servicios valiéndose de
consultas y actualizaciones a la base de datos y a su vez proporciona una interfaz de usuario.
3.1. Evolución y tipos de aplicaciones informáticas
Aplicaciones de terminal. Servidores de terminales virtuales.
Un servidor de terminales proporciona una interfaz gráfica de usuario (GUI) de Windows o un tablero
del escritorio en Linux a los terminales del usuario que no tienen esta capacidad por ellos mismos.
Los protocolos que el cliente y el servidor utilizan para comunicarse entre sí se conocen como
protocolos de escritorio alejado.
Por ejemplo, Citrix ICA, Systancia-AppliDis, GoGlobal y tecnología de NX.
La conexión con el servidor de terminales se realiza a través de Internet (WAN). Normalmente el
manejo de las ventanas se realiza en el cliente que sólo transmite las modificaciones de pantalla, de
tal forma que se optimiza el tiempo de refresco y por tanto la velocidad de acceso a los datos.
Puesto que todo el proceso y almacenamiento ocurre en el servidor los requisitos para los
dispositivos del cliente son mínimos. Estos dispositivos del cliente pueden ser desde ordenadores en
red con limitadas configuraciones a un ordenador personal de configuración completa. La velocidad y
la energía de la computadora del cliente importan muy poco puesto que no trabaja mucho en el
proceso.
Los servidores de terminales se ponen en ejecución generalmente con un servidor de terminales que
pueda emular hasta 40 o 50 máquinas simultáneamente. El usuario final utiliza un sitio de trabajo
para conectar con el servidor de terminales. El puesto de trabajo actúa como si funcionara una
versión completa de Linux o de Windows (usando servicios terminales). Esto aporta muchas ventajas:
Sólo es necesario comprar un servidor de terminales y no muchas máquinas costosas.
En cualquier momento, el cliente ligero tiene acceso a los recursos que no están siendo utilizados por
el servidor de terminales. esta situación es ideal en los casos en que el usuario final necesite realizar
tareas intensivas del recurso pero de forma intermitente.
El servidor de terminales puede tener especificaciones altas lo que sin duda pone a disposición del
cliente recursos que por otros medios serían inalcanzables.
La configuración del ordenador de cada usuario se guarda en el servidor de terminales.
El usuario del cliente puede conectarse a su sitio de trabajo desde cualquier localización que tenga
acceso a la red.
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
40
Aplicaciones de escritorio.
Será un programa el encargado de realizar la funcionalidad del software implementado que se instala
en cada puesto de trabajo y se conecta a través de Internet con la base de datos. La principal ventaja
de este sistema es la rapidez de uso ya que es posible incorporar todos los controles de escritorio y
todos los eventos asociados a ellos.
Como principal desventaja está la mala gestión de actualizaciones que obliga a actualizar todos los
programas instalados a ser actualizados en cada puesto de la empresa cuando se implementan
evoluciones o se solucionan fallos. Será necesario diseñar un sistema automático complementario
que cubra la gestión de las actualizaciones ya que un usuario con un software obsoleto puede dañar
la base de datos.
Otra desventaja importante es la escasa portabilidad.
Por ejemplo, si lo implementamos para un entorno Windows sólo en equipos con esta familia de
sistemas operativos funcionará y no se podrá usar en una tablet o un teléfono.
Aplicaciones cliente/servidor.
Las aplicaciones cliente/servidor permiten realizar diferentes tipos de tareas de manera remota o lo
que es lo mismo, ofrecen la posibilidad de trabajar desde un terminal con comodidad y sin
complicaciones.
Una aplicación cliente/servidor es un programa que cuenta con un frontend que establece una
conexión directa a través de una red y con un servidor que aloja el programa, servicio o desarrollo
informático al cual deseamos acceder.
Una vez establecida la conexión, el mismo cliente (software que se ejecuta del lado del usuario)
expone la interfaz de trabajo que permite al usuario realizar la tarea de manera cómoda y eficiente.
Directamente desde el terminal, y en tiempo real, envía toda la información suministrada por el
usuario al servidor y este mismo devuelve el resultado a la máquina cliente desde donde se ha
introducido los datos. Finalmente muestra por pantalla toda la información que ha sido procesada.
Por ejemplo,
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
41
Entre las principales utilidades que nos ofrecen las aplicaciones cliente/servidor destacan las
siguientes:
Toda la carga y consumo de recursos se hace directamente en el servidor. Esto aporta lo que
en términos de sistemas informáticos se denomina ligereza.
Facilidad de mantenimiento. El mantenimiento general se hace en el código principal en el
servidor.
Posibilidad de realizar trabajos dinámicos y en grupo.
Servicio de trabajo incluso en zonas remotas.
Posibilidad de ser desarrolladas en diversos lenguajes de programación.
Capacidad de trabajar en diferentes plataformas de manera simultánea.
La tendencia actual parece que va encaminada hacia desarrollo de aplicaciones
cliente/servidor de bajo consumo que ofrecen la posibilidad de realizar el trabajo
rápidamente.
Un ejemplo de este tipo de aplicaciones son los clientes de e-mail, las aplicaciones en la nube y
algunos sistemas de base de datos que podemos encontrar en Internet.
Aplicaciones web.
La principal ventaja será la disponibilidad de la aplicación a través de dispositivos que tengan un
navegador web como son ordenadores, teléfonos móviles, tablets, etc.
Por ejemplo, un comercial de una empresa que cierra un pedido en el domicilio de su cliente y a través
de una tablet lo tramita y confirma con el cliente un plazo de entrega. En ese caso el equipo que
tramite los pedidos ubicado en la empresa tendrá constancia del pedido en el momento y podrá
tramitarlo rápidamente.
Otra ventaja muy importante será la gestión de actualizaciones que con simplemente actualizar la
aplicación del servidor todos los usuarios la tendrán en el momento. Será únicamente necesario
poner la aplicación en modo mantenimiento para que no haya ningún usuario conectado en ese
momento (y no se pierdan datos) y poder realizar la mejora. Este tipo de actualizaciones podría
hacerse fuera del horario de oficina de la empresa.
Ejemplos de aplicaciones web,
La interfaz de una aplicación web no es una desventaja frente a la interfaz de una aplicación de
escritorio ya que actualmente los controles web cuentan con una funcionalidad y cercanía al usuario
muy amplias.
En la actualidad resulta más práctico y aconsejable el uso de aplicaciones web siempre que
necesitemos un trabajo en diferentes ubicaciones.
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
42
Ventajas e inconvenientes de los tipos de aplicaciones. Comparativa.
Una aplicación que funciona en el lado del cliente y accede al servidor remoto por información es lo
que se denomina aplicación cliente/servidor mientras que una aplicación que funciona enteramente
en un navegador web es conocida como una aplicación web.
Las diferencias principales entre los dos tipos más destacados son:
Cliente / servidor Aplicación web
Arquitectura de dos niveles. Arquitectura multinivel.
La interacción del usuario con el servidor se da
principalmente a través de una interfaz de
usuario.
La interacción de usuario se realiza a través de un
navegador web compatible.
No tiene solidez ya que si un servidor falla los
pedidos pueden ser completados.
Exhibe solidez.
Debe ser instalada en la máquina del cliente.
Puede ejecutarse directamente desde un
navegador web.
El servidor puede verse sobrecargado con el
incremento de pedidos del cliente lo que conlleva
un bajo rendimiento.
Múltiples usuarios pueden usar una aplicación
web al mismo tiempo.
3.2. Tecnologías de desarrollo de aplicaciones
Características por tipo de aplicación. Comparativa.
1. Aplicación web estática.
Si optamos por crear una app web estática lo primero que se tiene que tener en cuenta es que este
tipo de web app muestran poca información y sin muchas modificaciones.
Se suelen desarrollar en HTML y CSS aunque también pueden mostrar en alguna parte de la
aplicación web objetos en movimiento como por ejemplo banners, GIF animados, vídeos, etc.
También es habitual que se trabajen aplicaciones web con jQuery y Ajax.
Un inconveniente es que modificar los contenidos de las apps estáticas no es sencillo. Para hacerlo,
habría que descargar el HTML, modificarlo y volver a subirlo al servidor. Acciones que sólo puede
ejecutar el webmaster o la empresa de desarrollo que programó y diseñó la web app en su
momento.
Algunos ejemplos de desarrollo de aplicaciones web estáticas podrían ser por ejemplo portfolios de
profesionales o bien un curriculum digital. Del mismo modo una página de presentación de empresa
podría tener también este tipo de aplicación web para mostrar sus datos de contacto, etc.
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
43
2. Aplicación web dinámica.
Las aplicaciones web dinámicas son mucho más complejas a nivel técnico ya que emplean bases de
datos para cargar a información que se va actualizando cada vez que el usuario accede a la web app.
Generalmente cuentan con un panel de administración (llamado CMS) desde dónde los
administrados pueden corregir o modificar los contenidos, ya sean textos o imágenes.
Existen muchos lenguajes de programación para desarrollar aplicaciones web dinámicas. Los
lenguajes PHP y ASP son los más comunes porque permiten una buena estructuración del contenido.
El proceso de actualización es muy sencillo y ni siquiera necesita entrar en el servidor para
modificarlo además permite implementar muchas funcionalidades como foros o bases de datos.
3. Tienda virtual o comercio electrónico.
Si la aplicación web es una tienda o comercio digital el desarrollo estará catalogado dentro de lo que
se conoce como un m-commerce o un e-commerce. El desarrollo s más complicado porque debe
permitir pagos electrónicos a través de tarjeta de crédito, PayPal, u otro método de pago. En estos
casos el desarrollador deberá crear un panel de gestión para el administrador. La gestión consistirá
en subir los productos, actualizarlos, eliminarlos y en general lo relacionad con la gestión de pedidos
y pagos.
4. Portal web app.
Un portal es un tipo de aplicación en el que la página principal permite el acceso a diversos
apartados, categorías o secciones. Puede incluir diversos elementos como foros, chats, correo
electrónico, un buscador, zona de acceso con registro, contenido más reciente, etc.
IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET
Y EXTRANET
44
5. Aplicación web animada.
La animación se asocia a la tecnología FLASH. Este tipo de programación permite presentar
contenidos con efectos animados y crear diseños más creativos.
El inconveniente de desarrollar aplicaciones web animadas es que para temas de posicionamiento
web y optimización SEO este tipo de tecnología no es la más adecuada ya que los buscadores no
pueden leer correctamente las informaciones.
6. Aplicación web con Gestor de Contenidos.
En el caso del desarrollo de aplicaciones web en las que el contenido se debe ir actualizando
continuamente lo recomendable es instalar un gestor de contenidos (CMS) en el que el
administrador podrá realizar los cambios y actualizaciones de forma sencilla.
Estos gestores son intuitivos y muy cómodos de gestionar.
Algunos ejemplos de gestores de contenidos son:
WordPress. El más extendido de los gestores de contenidos. Existe mucha información en la red,
tutoriales y guías para personalizarlo, entenderlo y es gratuito.
Joomla. Es el segundo en popularidad aunque no tiene tantos usuarios sí que tiene una
comunidad potente y es también muy intuitivo.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.
Implantación de aplicaciones web en entornos internet, intranet y extranet.

Más contenido relacionado

La actualidad más candente

Diseño de interfaz de usuario
Diseño de interfaz de usuarioDiseño de interfaz de usuario
Diseño de interfaz de usuarioYesith Valencia
 
Modelo vista controlador vas Programacion por n capas
Modelo vista controlador vas Programacion por n capasModelo vista controlador vas Programacion por n capas
Modelo vista controlador vas Programacion por n capasAlex Uhu Colli
 
Integridad, robustez y estabilidad.
Integridad, robustez y estabilidad.Integridad, robustez y estabilidad.
Integridad, robustez y estabilidad.William Devia
 
Capas del modelo OSI y Protocolos que intervienen en cada capa
Capas del modelo OSI y Protocolos que intervienen en cada capaCapas del modelo OSI y Protocolos que intervienen en cada capa
Capas del modelo OSI y Protocolos que intervienen en cada capaaeross
 
Ejemplo soa
Ejemplo soaEjemplo soa
Ejemplo soabrccq
 
Investigación de tecnologías de sistemas distribuidos
Investigación de tecnologías de sistemas distribuidosInvestigación de tecnologías de sistemas distribuidos
Investigación de tecnologías de sistemas distribuidosYolanda Mora
 
Como realizar una red lan básica con packet tracer
Como realizar una red lan básica con packet tracerComo realizar una red lan básica con packet tracer
Como realizar una red lan básica con packet tracerJenny Lophezz
 
PROTOCOLOS SIMPLES PARA GESTIÓN DE REDES
PROTOCOLOS SIMPLES PARA GESTIÓN DE REDESPROTOCOLOS SIMPLES PARA GESTIÓN DE REDES
PROTOCOLOS SIMPLES PARA GESTIÓN DE REDESEquipoSCADA
 
Interoperabilidad en redes
Interoperabilidad en redesInteroperabilidad en redes
Interoperabilidad en redesJess Ortiz
 
25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de Software25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de SoftwareCamila Arbelaez
 
Funcion de la tabla de enrutamiento
Funcion de la tabla de enrutamientoFuncion de la tabla de enrutamiento
Funcion de la tabla de enrutamientoJose Hernandez Landa
 
Metodologías de desarrollo de software
Metodologías de desarrollo de softwareMetodologías de desarrollo de software
Metodologías de desarrollo de softwareWilfredo Mogollón
 
Banco de temas de tesis para la carrera de ing. de sistemas
Banco de temas de tesis para la carrera de ing. de sistemasBanco de temas de tesis para la carrera de ing. de sistemas
Banco de temas de tesis para la carrera de ing. de sistemasbrccq
 
Unidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De RequerimientosUnidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De RequerimientosSergio Sanchez
 
Proyecto de Redes Cableado Estructurado
Proyecto de Redes Cableado EstructuradoProyecto de Redes Cableado Estructurado
Proyecto de Redes Cableado EstructuradoCarlos Catturini
 

La actualidad más candente (20)

Diseño de interfaz de usuario
Diseño de interfaz de usuarioDiseño de interfaz de usuario
Diseño de interfaz de usuario
 
Modelo vista controlador vas Programacion por n capas
Modelo vista controlador vas Programacion por n capasModelo vista controlador vas Programacion por n capas
Modelo vista controlador vas Programacion por n capas
 
Integridad, robustez y estabilidad.
Integridad, robustez y estabilidad.Integridad, robustez y estabilidad.
Integridad, robustez y estabilidad.
 
Diseño de redes de computadoras
Diseño de redes de computadorasDiseño de redes de computadoras
Diseño de redes de computadoras
 
Planteamiento del problema
Planteamiento del problemaPlanteamiento del problema
Planteamiento del problema
 
Capas del modelo OSI y Protocolos que intervienen en cada capa
Capas del modelo OSI y Protocolos que intervienen en cada capaCapas del modelo OSI y Protocolos que intervienen en cada capa
Capas del modelo OSI y Protocolos que intervienen en cada capa
 
Ejemplo soa
Ejemplo soaEjemplo soa
Ejemplo soa
 
Investigación de tecnologías de sistemas distribuidos
Investigación de tecnologías de sistemas distribuidosInvestigación de tecnologías de sistemas distribuidos
Investigación de tecnologías de sistemas distribuidos
 
Como realizar una red lan básica con packet tracer
Como realizar una red lan básica con packet tracerComo realizar una red lan básica con packet tracer
Como realizar una red lan básica con packet tracer
 
PROTOCOLOS SIMPLES PARA GESTIÓN DE REDES
PROTOCOLOS SIMPLES PARA GESTIÓN DE REDESPROTOCOLOS SIMPLES PARA GESTIÓN DE REDES
PROTOCOLOS SIMPLES PARA GESTIÓN DE REDES
 
Cliente - Servidor
Cliente - ServidorCliente - Servidor
Cliente - Servidor
 
Interoperabilidad en redes
Interoperabilidad en redesInteroperabilidad en redes
Interoperabilidad en redes
 
25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de Software25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de Software
 
Funcion de la tabla de enrutamiento
Funcion de la tabla de enrutamientoFuncion de la tabla de enrutamiento
Funcion de la tabla de enrutamiento
 
Metodologías de desarrollo de software
Metodologías de desarrollo de softwareMetodologías de desarrollo de software
Metodologías de desarrollo de software
 
Ejemplo rup
Ejemplo rupEjemplo rup
Ejemplo rup
 
Banco de temas de tesis para la carrera de ing. de sistemas
Banco de temas de tesis para la carrera de ing. de sistemasBanco de temas de tesis para la carrera de ing. de sistemas
Banco de temas de tesis para la carrera de ing. de sistemas
 
Arquitectura distribuida
Arquitectura distribuidaArquitectura distribuida
Arquitectura distribuida
 
Unidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De RequerimientosUnidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De Requerimientos
 
Proyecto de Redes Cableado Estructurado
Proyecto de Redes Cableado EstructuradoProyecto de Redes Cableado Estructurado
Proyecto de Redes Cableado Estructurado
 

Similar a Implantación de aplicaciones web en entornos internet, intranet y extranet.

Similar a Implantación de aplicaciones web en entornos internet, intranet y extranet. (20)

Intro internet
Intro internetIntro internet
Intro internet
 
1. introducción a internet
1.  introducción a internet1.  introducción a internet
1. introducción a internet
 
Intro internet
Intro internetIntro internet
Intro internet
 
Intro internet
Intro internetIntro internet
Intro internet
 
EXpocicion
EXpocicionEXpocicion
EXpocicion
 
E Xpo
E XpoE Xpo
E Xpo
 
Conceptos basicos de las redes e internet
Conceptos basicos de las redes e internetConceptos basicos de las redes e internet
Conceptos basicos de las redes e internet
 
Multiusuario jimmy calva
Multiusuario jimmy calvaMultiusuario jimmy calva
Multiusuario jimmy calva
 
TRABAJO DE INVESTIGACIÓN FUNDAMENTOS TÉCNICOS DE INTERNET.
TRABAJO DE INVESTIGACIÓN FUNDAMENTOS TÉCNICOS DE INTERNET.TRABAJO DE INVESTIGACIÓN FUNDAMENTOS TÉCNICOS DE INTERNET.
TRABAJO DE INVESTIGACIÓN FUNDAMENTOS TÉCNICOS DE INTERNET.
 
Internet elisa
Internet  elisaInternet  elisa
Internet elisa
 
Heider el mejor
Heider el mejorHeider el mejor
Heider el mejor
 
Osmel mul
Osmel mulOsmel mul
Osmel mul
 
TCP
TCPTCP
TCP
 
Conceptos basicos de redes e internet
Conceptos basicos de redes e internetConceptos basicos de redes e internet
Conceptos basicos de redes e internet
 
Conceptos basicos de redes e internet
Conceptos basicos de redes e internetConceptos basicos de redes e internet
Conceptos basicos de redes e internet
 
Conceptos basicos de redes e internet
Conceptos basicos de redes e internetConceptos basicos de redes e internet
Conceptos basicos de redes e internet
 
Conceptos basicos de redes e internet
Conceptos basicos de redes e internetConceptos basicos de redes e internet
Conceptos basicos de redes e internet
 
Leccion4 f redes
Leccion4 f redesLeccion4 f redes
Leccion4 f redes
 
Cuestinario
CuestinarioCuestinario
Cuestinario
 
Internet
InternetInternet
Internet
 

Más de Jomicast

Técnicas para la reparación de equipos electrónicos
Técnicas para la reparación de equipos electrónicosTécnicas para la reparación de equipos electrónicos
Técnicas para la reparación de equipos electrónicosJomicast
 
Montaje de un termostato electrónico
Montaje de un termostato electrónicoMontaje de un termostato electrónico
Montaje de un termostato electrónicoJomicast
 
Proyecto BOTTLER
Proyecto BOTTLERProyecto BOTTLER
Proyecto BOTTLERJomicast
 
Montaje de un grillo electrónico
Montaje de un grillo electrónicoMontaje de un grillo electrónico
Montaje de un grillo electrónicoJomicast
 
Medida de condensadores y bobinas
Medida de condensadores y bobinasMedida de condensadores y bobinas
Medida de condensadores y bobinasJomicast
 
Montaje de un indicador de la tensión de la bateria
Montaje de un indicador de la tensión de la bateriaMontaje de un indicador de la tensión de la bateria
Montaje de un indicador de la tensión de la bateriaJomicast
 
Montaje de una sirena de alarma electronica
Montaje de una sirena de alarma electronicaMontaje de una sirena de alarma electronica
Montaje de una sirena de alarma electronicaJomicast
 
Montaje de un sistema de carga de bateria
Montaje de un sistema de carga de bateriaMontaje de un sistema de carga de bateria
Montaje de un sistema de carga de bateriaJomicast
 
Montaje de un capacimetro digital
Montaje de un capacimetro digitalMontaje de un capacimetro digital
Montaje de un capacimetro digitalJomicast
 
Montaje de un interruptor crepuscular
Montaje de un interruptor crepuscularMontaje de un interruptor crepuscular
Montaje de un interruptor crepuscularJomicast
 
Montaje de un generador de funciones
Montaje de un generador de funcionesMontaje de un generador de funciones
Montaje de un generador de funcionesJomicast
 
Montaje de control de tonos y volumen
Montaje de control de tonos y volumenMontaje de control de tonos y volumen
Montaje de control de tonos y volumenJomicast
 
Montaje de un amplificador para sonorización
Montaje de un amplificador para sonorizaciónMontaje de un amplificador para sonorización
Montaje de un amplificador para sonorizaciónJomicast
 
Montaje de un temporizador de uso general
Montaje de un temporizador de uso generalMontaje de un temporizador de uso general
Montaje de un temporizador de uso generalJomicast
 
Montaje de un interruptor activado por sonido
Montaje de un interruptor activado por sonidoMontaje de un interruptor activado por sonido
Montaje de un interruptor activado por sonidoJomicast
 
Montaje de una fuente de alimentacion de laboratorio
Montaje de una fuente de alimentacion de laboratorioMontaje de una fuente de alimentacion de laboratorio
Montaje de una fuente de alimentacion de laboratorioJomicast
 
Montaje de un imitador de disparo de arma de fuego
Montaje de un imitador de disparo de arma de fuegoMontaje de un imitador de disparo de arma de fuego
Montaje de un imitador de disparo de arma de fuegoJomicast
 
Los circuitos hibridos
Los circuitos hibridosLos circuitos hibridos
Los circuitos hibridosJomicast
 
Montaje de un detector de movimientos
Montaje de un detector de movimientosMontaje de un detector de movimientos
Montaje de un detector de movimientosJomicast
 
El micrófono
El micrófonoEl micrófono
El micrófonoJomicast
 

Más de Jomicast (20)

Técnicas para la reparación de equipos electrónicos
Técnicas para la reparación de equipos electrónicosTécnicas para la reparación de equipos electrónicos
Técnicas para la reparación de equipos electrónicos
 
Montaje de un termostato electrónico
Montaje de un termostato electrónicoMontaje de un termostato electrónico
Montaje de un termostato electrónico
 
Proyecto BOTTLER
Proyecto BOTTLERProyecto BOTTLER
Proyecto BOTTLER
 
Montaje de un grillo electrónico
Montaje de un grillo electrónicoMontaje de un grillo electrónico
Montaje de un grillo electrónico
 
Medida de condensadores y bobinas
Medida de condensadores y bobinasMedida de condensadores y bobinas
Medida de condensadores y bobinas
 
Montaje de un indicador de la tensión de la bateria
Montaje de un indicador de la tensión de la bateriaMontaje de un indicador de la tensión de la bateria
Montaje de un indicador de la tensión de la bateria
 
Montaje de una sirena de alarma electronica
Montaje de una sirena de alarma electronicaMontaje de una sirena de alarma electronica
Montaje de una sirena de alarma electronica
 
Montaje de un sistema de carga de bateria
Montaje de un sistema de carga de bateriaMontaje de un sistema de carga de bateria
Montaje de un sistema de carga de bateria
 
Montaje de un capacimetro digital
Montaje de un capacimetro digitalMontaje de un capacimetro digital
Montaje de un capacimetro digital
 
Montaje de un interruptor crepuscular
Montaje de un interruptor crepuscularMontaje de un interruptor crepuscular
Montaje de un interruptor crepuscular
 
Montaje de un generador de funciones
Montaje de un generador de funcionesMontaje de un generador de funciones
Montaje de un generador de funciones
 
Montaje de control de tonos y volumen
Montaje de control de tonos y volumenMontaje de control de tonos y volumen
Montaje de control de tonos y volumen
 
Montaje de un amplificador para sonorización
Montaje de un amplificador para sonorizaciónMontaje de un amplificador para sonorización
Montaje de un amplificador para sonorización
 
Montaje de un temporizador de uso general
Montaje de un temporizador de uso generalMontaje de un temporizador de uso general
Montaje de un temporizador de uso general
 
Montaje de un interruptor activado por sonido
Montaje de un interruptor activado por sonidoMontaje de un interruptor activado por sonido
Montaje de un interruptor activado por sonido
 
Montaje de una fuente de alimentacion de laboratorio
Montaje de una fuente de alimentacion de laboratorioMontaje de una fuente de alimentacion de laboratorio
Montaje de una fuente de alimentacion de laboratorio
 
Montaje de un imitador de disparo de arma de fuego
Montaje de un imitador de disparo de arma de fuegoMontaje de un imitador de disparo de arma de fuego
Montaje de un imitador de disparo de arma de fuego
 
Los circuitos hibridos
Los circuitos hibridosLos circuitos hibridos
Los circuitos hibridos
 
Montaje de un detector de movimientos
Montaje de un detector de movimientosMontaje de un detector de movimientos
Montaje de un detector de movimientos
 
El micrófono
El micrófonoEl micrófono
El micrófono
 

Último

dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 

Último (20)

dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 

Implantación de aplicaciones web en entornos internet, intranet y extranet.

  • 1. Implantación de aplicaciones web en entornos internet, intranet y extranet Programación web en el entorno servidor 03/01/2018 José Miguel Castillo Castillo
  • 2. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 1 INDICE DE CONTENIDO. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 1. INTERNET 1.1 Breve historia y origen de internet 1.2 Principales servicios ofrecidos por internet 1.3 La tecnología de internet 1.4 Redes TCP-IP 2. LA WORLD WIDE WEB 2.1 Breve historia de la World Wide Web 2.2 Arquitectura general de la web 2.3 El cliente web 2.4 Servidores web 2.5 Servidores de aplicaciones 2.6 Servidores de bases de datos 2.7 Servidores complementarios en una arquitectura web 2.8 Infraestructura hardware y software 3. APLICACIONES WEB 3.1 Evolución y tipos de aplicaciones informáticas 3.2 Tecnologías de desarrollo de aplicaciones 3.3 Tecnologías específicas para el desarrollo web 4. DESARROLLO Y DESPLIEGUE DE APLICACIONES WEB 4.1 Modelos básicos de desarrollo de aplicaciones web 4.2 Herramientas de desarrollo web de uso común 4.3 Políticas de desarrollo y pruebas de aplicaciones web 4.4 Organización de recursos en una aplicación web 4.5 Seguridad en una aplicación web 4.6 Despliegue de aplicaciones web 5. VERIFICACIÓN DE APLICACIONES WEB 5.1 Características de un proceso de pruebas 5.2 Tipos de pruebas 5.3 Diseño y planificación de pruebas 5.4 Consideraciones de confidencialidad 5.5 Automatización de pruebas
  • 3. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 2 6. CONTROL DE VERSIONES 6.1 Definición 6.2 Características generales 6.3 Tipos de control de versiones 6.4 Mecanismos de control de versiones 6.5 Buenas prácticas en control de versiones 6.6 Herramientas de control de versiones de uso común 6.7 Integración del control de versiones 7. DOCUMENTACIÓN DE APLICACIONES WEB 7.1 Características generales de la documentación 7.2 Organización y estructura básica de documentos 7.3 Gestión de versiones de documentos 7.4 Tipos de documentación 7.5 Formatos de documentación 7.6 Estándares de documentación 7.7 Herramientas de documentación 7.8 Buenas prácticas en documentación
  • 4. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 3 1. INTERNET La primera descripción documentada acerca de las interacciones sociales que podrían ser propiciadas a través del networking (trabajo en red) está contenida en una serie de memorándums del Massachusetts Institute of Technology, en 1962, donde se discute sobre el concepto de Galactic Network (Red Galáctica). 1.1. Breve historia y origen de Internet Las implementaciones prácticas de la idea que ahora conocemos y manejamos de forma habitual empezaron a finales de los ochenta y a lo largo de los noventa. En la década de 1980, tecnologías que reconoceríamos como las bases de la moderna Internet, empezaron a expandirse por todo el mundo. Fue en los noventa cuando apareció la World Wide Web (WWW). Un pionero fundamental en lo que se refiere a una red mundial, J.C.R. Licklider, comprendió la necesidad de una red mundial, según consta en su documento de enero, 1960, Man-Computer Symbiosis (Simbiosis Hombre-Computadora). En octubre de 1962, Licklider fue nombrado jefe de la oficina de procesado de información DARPA, y empezó a formar un grupo informal dentro del DARPA del Departamento de Defensa de los Estados Unidos para investigaciones sobre ordenadores más avanzadas. El problema principal que se planteaba era el referido a la conexión de diferentes redes físicas para formar una sola red lógica. y es durante los años 60 cuando varios grupos trabajaron en el concepto de la conmutación de paquetes. Habitualmente se considera que Donald Davies (National Physical Laboratory), Paul Baran (Rand Corporation) y Leonard Kleinrock (MIT) lo han inventado simultáneamente. La conmutación de paquetes es una técnica que nos sirve para hacer un uso eficiente de los enlaces físicos en una red de computadoras. Un paquete es un grupo de información formado por os partes bien diferenciadas: los datos propiamente dichos y la información de control que contiene la ruta a seguir a lo largo de la red hasta el destino del paquete. Los paquetes tenían un límite de longitud que si se superaba se fragmentaba en otros paquetes.
  • 5. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 4 1.2. Principales servicios ofrecidos por Internet La oferta de la red de redes sigue creciendo con el paso del tiempo y es que los servicios que ofrece son innumerables cubriendo plenamente las necesidades cada vez más exigentes de usuarios y empresas. World Wide Web. World Wide Web (WWW) o Red informática mundial es un sistema de distribución de información basado en hipertexto o hipermedios enlazados y accesibles a través de la red. Con un navegador web se pueden visitar sitios web formados por texto, imágenes, vídeos u otros contenidos multimedia así como elementos interactivos, y navegar a través de esas páginas usando hiperenlaces. Ejemplo de sitio web en la WWW, Correo electrónico. Correo electrónico o e-mail (del inglés, electronic mail), es un servicio de red que permite a los usuarios enviar y recibir mensajes y archivos mediante sistemas de comunicación electrónicos. Ha evolucionado mucho este servicio permitiendo actualmente crear textos formateados y seguir hilos de correspondencia mediantes servicios de gestión avanzados. La base de este servicio es el protocolo SMTP. Su eficiencia, conveniencia y bajo coste ha conseguido desplazar al correo ordinario para uso habitual incluidos correspondencia y certificados digitales. Actualmente el servicio de correo electrónico se usa mayoritariamente bajo servicio web aunque siguen conservándose el servicio propio con gestores de correo específicos como Outlook o Thunderbird.
  • 6. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 5 Transferencia de ficheros (ftp). FTP son las siglas en inglés de File Transfer Protocol lo que conocemos como Protocolo de Transferencia de Archivos. Es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP (Transmission Control Protocol) basado en la arquitectura cliente-servidor. Desde un equipo cliente se puede conectar a un servidor para descargar archivos desde él o para enviarle archivos, independientemente del sistema operativo utilizado en cada equipo. El servicio FTP es ofrecido por la capa de aplicación del modelo de capas de red TCP/IP al usuario, utilizando normalmente el puerto de red 20 y el 21 Un problema básico de FTP es que está pensado para ofrecer la máxima velocidad en la conexión pero no la máxima seguridad ya que todo el intercambio de información, desde el login y password (clave) del usuario en el servidor hasta la transferencia de cualquier archivo, se realiza en texto plano sin ningún tipo de cifrado. Para solucionar este problema son de gran utilidad aplicaciones como SCP y SFTP, que permiten transferir archivos pero cifrando todo el tráfico. Ejemplo de conexión con SCP y SFTP, Otros servicios. Grupos de discusión o newsgroups. La información publicada en estos foros permanece visible durante un tiempo determinado garantizando una amplia participación de las personas sin necesidad de horarios comunes explotando al máximo esta ventaja de internet. Los foros tratan sobre temas específicos de un área temática o referente a una zona geográfica.
  • 7. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 6 Ejemplo de panel de gestión de un foro, Listas de correo. Proporcionan un mecanismo sencillo para el intercambio de mensajes electrónicos entre personas interesadas en un mismo tema. Los mensajes enviados a la lista son distribuidos a todos sus suscriptores. A diferencia de los foros, no es necesario dirigirse a ningún lugar en la red, ya que los mensajes nos llegan automáticamente a nuestro buzón virtual, junto al resto de nuestro correo electrónico normal. 1.3. La tecnología de Internet Arquitectura TCP/IP. Comparación con OSI. Fue implantado en la red ARPANET, la primera red de área ancha, desarrollada por encargo de DARPA por lo que este modelo TCP/IP es reconocido por muchos autores como Internet Model, Modelo DoD o Modelo DARPA. El modelo TCP/IP describe un conjunto de guías generales de diseño e implementación de protocolos de red específicos para permitir que un equipo pueda comunicarse en una red. TCP/IP ofrece conectividad de extremo a extremo marcando cómo los datos deberían ser formateados, transmitidos, enrutados y recibidos por el destinatario. Existen protocolos para los diferentes tipos de servicios de comunicación entre equipos. TCP/IP tiene cinco capas de que en muchas ocasiones comparada con el Modelo OSI de siete capas. El modelo TCP/IP y los protocolos relacionados son mantenidos por la IETF. Un modelo en capas jerarquizadas o niveles resulta más sencillo agrupar funciones relacionadas e implementar el software de comunicaciones modular. Es decir, cada capa se construye sobre su predecesora. El número de capas y, en cada una de ellas, sus servicios y funciones son variables con cada tipo de red. La misión de cada capa es proveer servicios a las capas superiores haciéndoles transparentes el modo en que esos servicios se llevan a cabo.
  • 8. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 7 Cada capa debe ocuparse exclusivamente de su nivel inmediatamente inferior, a quien solicita servicios, y del nivel inmediatamente superior, a quien devuelve resultados: Capa 5 o capa de seguridad es la encargada de asimilar y comprender la seguridad en el transporte de información. Capa 4 o capa de aplicación, asimilable a las capas 5 (sesión), 6 (presentación) y 7 (aplicación) del modelo OSI. Este nivel debe incluir los detalles de las capas de sesión y presentación OSI. Capa 3 o capa de transporte, asimilable a la capa 4 (transporte) del modelo OSI. Capa 2 o capa de red: Internet, asimilable a la capa 3 (red) del modelo OSI. Capa 1 o capa de enlace, conocida como capa del acceso al medio, asimilable a la capa 2 (enlace de datos) y a la capa 1 (física) del modelo OSI. Protocolos de Internet: TCP, UDP, SMNP, SMTP, etc. TCP. Este protocolo garantiza que los datos serán entregados en su destino sin errores y en el mismo orden en que se transmitieron. También proporciona un mecanismo para distinguir distintas aplicaciones dentro de una misma máquina usando los diferentes puertos. Su nombre proviene del inglés, Transmission Control Protocol (en español Protocolo de Control de Transmisión). TCP da soporte a muchas de las aplicaciones más populares de Internet (navegadores, intercambio de ficheros, clientes FTP, etc.) y a protocolos de aplicación HTTP, SMTP, SSH y FTP. UDP. El Protocolo Simple de Administración de Red o SNMP (del inglés Simple Network Management Protocol) es un protocolo de la capa de aplicación que facilita el intercambio de información de administración entre dispositivos de red.
  • 9. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 8 UDP permite a los administradores supervisar el funcionamiento de la red, buscar y resolver sus problemas, y planear su crecimiento. Es un protocolo del nivel de transporte basado en el intercambio de datagramas (Encapsulado de capa 4 Modelo OSI). Permite el envío de datagramas a través de la red sin que se haya establecido previamente una conexión porque el propio datagrama incorpora suficiente información de direccionamiento en su cabecera. No aporta confirmación ni control de flujo por lo que los paquetes pueden adelantarse unos a otros y tampoco se sabe si ha llegado correctamente. Su uso principal es para protocolos como DHCP, BOOTP, DNS y demás protocolos en los que el intercambio de paquetes de la conexión/desconexión son mayores, o no son rentables con respecto a la información transmitida, así como para la transmisión de audio y vídeo en tiempo real. SNMP. El Protocolo Simple de Administración de Red o SNMP (del inglés Simple Network Management Protocol) es un protocolo de la capa de aplicación que facilita el intercambio de información de administración entre dispositivos de red. Los dispositivos que normalmente soportan SNMP incluyen routers, switches, servidores, estaciones de trabajo, impresoras, etc. permitiendo a los administradores supervisar el funcionamiento de la red y especialmente resolver problemas. SNMP en su última versión aporta cambios significativos sobre todo en aspectos de seguridad sin embargo no ha sido mayoritariamente aceptado en la industria. SMTP. El Simple Mail Transfer Protocol (SMTP, Protocolo para la transferencia simple de correo electrónico) es un protocolo de la capa de aplicación. Se trata de un protocolo de red basado en texto que se usa en el intercambio de mensajes de correo electrónico entre computadoras u otros dispositivos (por ejemplo, PDA, teléfonos móviles, etc.). SMTP está definido en el RFC 2821 y es un estándar oficial de Internet. Este protocolo presenta algunas limitaciones relacionadas con la recepción de mensajes en el servidor de destino (la llamada cola de mensajes recibidos). Para cubrir esta desventaja se suele asociar este protocolo con otros, como el POP o IMAP, otorgando a SMTP la tarea específica de enviar correo, y recibirlos empleando los otros protocolos ante mencionados (POP O IMAP). El protocolo HTTP. El Hypertext Transfer Protocol o HTTP (en español, protocolo de transferencia de hipertexto) es el protocolo usado en cada transacción que se lleva a cabo en la World Wide Web. HTTP define la sintaxis y la semántica que utilizan los elementos de software de la arquitectura web (como son los clientes, servidores, proxies) para comunicarse. Es por tanto un protocolo orientado a las transacciones y funciona con el esquema petición- respuesta entre un cliente y un servidor. El cliente que efectúa la petición (un navegador web o un spider) se le conoce como user agent (agente del usuario). A la información transmitida se la llama recurso y se la identifica mediante un localizador uniforme de recursos (URL). Los recursos pueden ser archivos, el resultado de la ejecución de un programa, una consulta a una base de datos, la traducción automática de un documento, etc.
  • 10. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 9 HTTP no almacena ninguna información sobre conexiones anteriores. Como el desarrollo de aplicaciones web necesita almacenar información del estado en que se encuentra la transacción necesita emplear las llamadas cookies, que es información que un servidor puede almacenar en el sistema cliente. Esto le permite a las aplicaciones web instituir la noción de sesión y rastrear usuarios. Una transacción HTTP está formada por un encabezado seguido, opcionalmente, por una línea en blanco y algún dato. El encabezado especificará aspectos como la acción requerida del servidor, el tipo de dato retornado o el código de estado. El uso de campos de encabezados enviados en las transacciones HTTP le da gran flexibilidad al protocolo. Estos campos permiten que se envíe información descriptiva en la transacción, permitiendo así la autenticación, cifrado e identificación de usuario. Un encabezado es un bloque de datos que precede a la información propiamente dicha por lo que habitualmente se le suele denominar metadato. Si se reciben líneas de encabezado del cliente, el servidor las coloca en las variables de entorno de CGI con el prefijo HTTP_ seguido del nombre del encabezado. Cualquier carácter guion ( - ) del nombre del encabezado se convierte a caracteres "_". 1.4. Redes TCP/IP La estrategia que un gran número de protocolos de red utilizan de forma ya establecida se llama conmutación de paquetes. Un paquete es un pequeño trozo de datos que se transfiere de una máquina a otra a través de una red. Esta transferencia ocurre a medida que el datagrama es transmitido a través de cada enlace en la red. Una red de conmutación de paquetes comparte un único enlace con muchos usuarios, enviando los paquetes alternadamente, desde un usuario a otro, a través de ese enlace. La siguiente imagen puede verse el formato de la dirección IP de 32 bits, Muchos sistemas basados en Unix, (y posteriormente muchas otras plataformas), lo integraron conociéndose como TCP/IP. Cuando se habla de redes TCP/IP, siempre estará presente el término datagrama. Técnicamente, este término tiene un significado especial, pero habitualmente se usa como sinónimo de paquete.
  • 11. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 10 El direccionamiento IP. Evolución. El direccionamiento IP ha ido evolucionando desde el IP classful de 32 bits (base en que se ha construido mecanismos de direccionamientos más sofisticados, subnetting, VSLM, CIDR) hasta llegar a la tecnología IPV6. Las más antiguas de la red son las clases A, B y C en los comienzos a partir de donde empezaron los problemas por la demanda de direcciones que se requería pasando por varias versiones de IP. El direccionamiento Classful fue el primer intento por definir un método universal para hacer frente a una gran interconexión de Redes IP. Apareció en 1.981 sin pensar en ningún momento que Internet llegaría al tamaño actual por lo que fueron apareciendo problemas en el mecanismo de asignación de direcciones IP que se mostraba insuficiente e ineficiente. El problema principal fue la pérdida de espacio de direcciones y el crecimiento de entrada al router. En 1985 el subnetting resolvió temas importantes con el direccionamiento convencional de dos niveles basado en clases facilitando el direccionamiento IP de manera que permite a cada red tener su propia jerarquía de dos niveles. Realmente el subnetting, no resolvía por completo el problema de demanda que se tenía en ese momento porque se seguían utilizando las clases incluso dentro de las subredes. La técnica del Enmascaramiento de Subredes IP de Longitud variable (VLSM, del inglés Variable Length Subnet Masking) es una técnica donde el subnetting es ejecutado en múltiples y repetidas veces, para permitir que una red se divida en una jerarquía de subredes que varían de tamaño. Esto permite a una organización poder adecuar mejor, optimizando el tamaño de subredes a las necesidades de su Red. Tampoco fue la solución apropiada por lo que surgió la eliminación de la noción de clases de direcciones por completo lo que permitió la aparición de un nuevo esquema de direccionamiento moderno y sin clases, el Classless Inter ( del inglés, Domian Routing, CIDR) que requería el uso de la máscara de subred para mostrar donde se traza la línea entre el ID de host y el ID de red. Se suele decir que CIDR direcciona e IP enruta, resolviendo muchos de los problemas de enfoque classful mediante la eliminación de las clases de dirección fija y la utilización de estructura jerárquica flexible, de varios niveles y de tamaños diferentes. Subnetting es dividir una red IP física en subredes lógicas para que cada una de estas trabaje el envío y recepción de paquetes como redes individuales. Con el CIDR se consiguió asignación eficiente de espacio de direcciones, eliminación del equilibrio de clases, entradas de ruteos eficientes. Una cuestión importante es que CIDR permite a una organización poder utilizar el mismo método utilizado en internet para subdividir su red interna en subredes. Al no contar con bloques de clases A, B, o C divididos por los primeros bits de la dirección bajo CIDR, todos los bloques de internet pueden ser de tamaño variable. La técnica de direccionamiento CIDR se asemeja a la de forma en que se hace el direccionamiento y enrutamiento VLSM aunque la diferencia es que ambos le dan un enfoque diferente.
  • 12. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 11 Ejemplo de CIDR, El Protocolo de Internet versión 4 (en inglés, Internet Protocol version 4, IPv4) es la cuarta versión del Internet Protocol (IP) y la primera en ser implementada a gran escala y usando direcciones de 32 bits. Por el crecimiento enorme que ha tenido Internet unido a que hay una mala distribución de las direcciones en muchos casos ya hace varios años se vio que escaseaban las direcciones IPv4. Esta limitación ayudó a estimular el impulso hacia IPv6. La versión IPV6 aumenta el tamaño de la dirección de IP de 32 bits a 128 bits con la idea de optimizar mejor la jerarquía de direccionamiento. El IPV6 ofrece tres diferentes tipos de direcciones: unicast, anycast y multicast. La dirección completa del IPV6 se da en valores hexadecimales X:X:X:X:X:X:X:X entero hexadecimal de 4 dígitos (16 bits). Cada digito se compone de 4 bits. Dominios. Jerarquía de dominios. Los dominios se organizan en un esquema de árbol partiendo siempre de un dominio base sobre el que se pueden declarar otros dominios que heredarán los valores del dominio base, salvo especificación de lo contrario. Un dominio puede estar encima de cualquier otro. Por ejemplo,
  • 13. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 12 El objetivo principal de los nombres de dominio en Internet y del sistema de nombres de dominio (conocido como DNS) es traducir las direcciones IP de cada nodo activo en la red, a términos memorizables y fáciles de encontrar. Esta abstracción hace posible que cualquier servicio pueda moverse de un lugar geográfico a otro en la red Internet. Sin la ayuda del sistema de nombres de dominio los usuarios de Internet tendrían que acceder a cada servicio web utilizando la dirección IP del nodo. Por ejemplo, sería necesario utilizar http://192.0.32.10 en vez de http://example.com. Hay varios razonamientos para justificar una jerarquía de dominios: Puede emplearse el dominio base como el dominio donde las protecciones son mínimas y después agregar otras protecciones en los dominios superiores. Es conocido como jerarquía de fuera hacia dentro. Puede utilizarse el dominio base como el dominio donde las protecciones son máximas y después relajar seguridad mientras que agrega dominios superiores. Es conocido como jerarquía de dentro hacia fuera. Cada dominio es un mundo en sí mismo. Es una jerarquía sin relación. Servicios de identificación de dominios: DNS. Domain Name System o DNS es un sistema de nomenclatura jerárquica para ordenadores, servicios o cualquier recurso conectado a Internet o a una red privada. Este sistema asocia información variada con nombres de dominios asignado a cada uno de los participantes. Su trabajo más conocido y fundamental es traducir (resolver en terminología específica) nombres inteligibles para las personas en identificadores binarios asociados con los equipos conectados a la red con el objetivo de poder localizar y direccionar estos equipos mundialmente. El servidor DNS utiliza una base de datos distribuida y jerárquica que almacena información asociada a nombres de dominio en redes como Internet. La base de datos el DNS es capaz de asociar diferentes tipos de información a cada nombre, asignar nombres de dominio a direcciones IP y localizar los servidores de correo electrónico en cada dominio. La asignación de nombres a direcciones IP es la función más conocida de los protocolos DNS. Por ejemplo, si la dirección IP del sitio FTP de controlyarchivos.com es 203.61.132.2, la mayoría de la gente llega a este equipo especificando ftp.controlyarchivos.com y no la propia dirección IP. Además de ser más fácil de recordar, el nombre es más fiable. La dirección numérica podría cambiar por muchos motivos sin que por ello tenga que cambiar el nombre.
  • 14. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 13 Ámbitos: Intranet, Internet y Extranet. Consideraciones de seguridad. Cortafuegos. Intranet. Internet es un conjunto descentralizado de redes de comunicación interconectadas que utilizan la familia de protocolos TCP/IP para asegurar que las redes físicas heterogéneas que la componen funcionen como una red lógica única. Sus orígenes se remontan a 1969, cuando se estableció la primera conexión de computadoras, conocida como ARPANET, entre tres universidades en California y una en Utah. Según Wikipedia, una intranet es una red de ordenadores privados que utiliza tecnología Internet para compartir dentro de una organización parte de sus sistemas de información y sistemas operacionales. Internet. Internet puede definirse como un conjunto descentralizado de redes de comunicación interconectadas bajo los protocolos de la familia TCP/IP que garantiza que las redes físicas heterogéneas que la componen funcionen como una red lógica única, de alcance mundial. Existen muchos servicios y protocolos en Internet además de la popularísima Web: El envío de correo electrónico (SMTP). La transmisión de archivos (FTP y P2P). Las conversaciones en línea (IRC). La mensajería instantánea. La transmisión de contenido y comunicación multimedia. Otros: televisión (IPTV), boletines electrónicos (NNTP), acceso remoto a otros dispositivos (SSH y Telnet), juegos en línea. El género de la palabra Internet es ambiguo, según el Diccionario de la lengua española de la Real Academia Española. Extranet. Una extranet es una red privada que utiliza protocolos de Internet, protocolos de comunicación e infraestructura pública de comunicación para compartir de forma segura parte de la información de una organización. Se puede considerar que una extranet es parte de la Intranet de una organización que se extiende a usuarios fuera de ella. La extranet suele tener un acceso semiprivado. Una red de esta índole requiere un grado de seguridad específico. Otra característica de la extranet es que se puede utilizar como una Intranet de colaboración con otras compañías. Consideraciones de seguridad. Un ataque pasivo, donde el atacante supervisa el tráfico de red e intenta conocer información secreta sin realizar acciones, puede tener como base el rastreo de enlaces de comunicaciones o sustituciones de componentes del sistema por un caballo de Troya que se dedique a obtener datos. Por otro lado, en un ataque activo el atacante intenta superar las defensas que el sistema ha establecido.
  • 15. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 14 Algunos de los riesgos en la seguridad más habituales son los siguientes: Ataques pasivos. Los ataques pasivos son los más difíciles de detectar porque se debe partir de la idea que alguien puede estar curioseando todo lo que se envíe por Internet. Ataques activos. Existen varios tipos de ataques activos: o Intentos de acceso al sistema en los que el atacante pretende aprovechar las fisuras en la seguridad y obtener el control de un sistema cliente o servidor. o Camuflaje en el cual el atacante se hace pasar por un sistema seguro e intenta persuadir a los usuarios para que transmitan información secreta. o Ataques criptográficos en los cuales el atacante intenta forzar las contraseñas o descifrar parte de los datos. Ataques de denegación de servicio. En este tipo de ataque el atacante intenta interferir o terminar las operaciones redireccionando el tráfico o bombardeando el sistema con datos basura. Algunos servicios de Internet son más vulnerables que otros a ciertos tipos de ataques por lo que es fundamental analizar los riesgos que comporta cada servicio que se piense utilizar.. Cortafuegos. Un cortafuego (firewall, en inglés) es una parte de un sistema o una red que está diseñada para bloquear el acceso no autorizado permitiendo al mismo tiempo comunicaciones autorizadas. Se trata de un dispositivo o conjunto de dispositivos configurados para gestionar y controlar el tráfico teniendo como referencia un conjunto de normas y criterios. En la siguiente gráfica podemos ver la ubicación física de un cortafuego dentro del sistema, Los cortafuegos pueden ser implementados mediante hardware o software, o una combinación de ambos. Los cortafuegos se utilizan con frecuencia para evitar que los usuarios de Internet no autorizados tengan acceso a redes privadas conectadas a Internet especialmente intranets. Los cortafuegos examinan cada mensaje que les llega y bloquea aquellos que no cumplen los criterios de seguridad especificados. También es frecuente conectar a los cortafuegos a una tercera red conocida habitualmente como zona desmilitarizada (DMZ) en la que se hallan los servidores de la organización que deben permanecer accesibles desde la red exterior.
  • 16. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 15 Ejemplo de cómo sería un esquema de red típica que usa una DMZ con un cortafuego de tres patas. Un cortafuego correctamente configurado añade una protección necesaria a la red, pero que en ningún caso debe considerarse suficiente. La seguridad informática abarca más ámbitos y más niveles de trabajo y protección.
  • 17. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 16 2. LA WORLD WIDE WEB El término hipertexto fue utilizado por Ted Nelson en 1965 para definir un modelo para la interconexión de documentos electrónicos. Aquel proyecto inicial fue el germen de lo que actualmente conocemos como World Wide Web. 2.1. Breve historia de la World Wide Web En los años se definió el NLS (oNLine System) que era un entorno de trabajo para ordenadores con un sistema para almacenar publicaciones formadas por catálogos e índices para facilitar la búsqueda. La clave era la utilización de reglas definidas previamente que permitía citar documentos facilitando el poder acceder a los documentos referenciados. Consistía básicamente en un teclado, pantalla, ratón e impresora con posibilidad novedosa de teleconferencia y correo electrónico a través de una red de ordenadores que permitía una comunicación entre profesionales. Los ficheros se guardaban jerárquicamente para su mejor organización y el trabajo con los documentos era en modo multiventana que permitía visualizar varios documentos a la vez en ventanas diferentes y se podían copiar objetos seleccionados de una ventana a otra, por ejemplo. La World Wide Web fue creada en 1989 por el CERN (Organización Europea de Investigación Nuclear) como un sistema de hipertexto para compartir información basada en Internet. Al principio fue ideado para ser usado como herramienta de comunicación entre los científicos nucleares del CERN. A finales de 1990 el primer browser de la historia de la World Wide Web ya tenía forma. Los documentos necesitaban un formato adecuado y casi todos los entornos usaban TeX y PostScript pero éstos eran demasiado complicados teniendo en cuenta que debían ser leídos por todo tipo de ordenadores. Es por eso que tanto el lenguaje (HTML) como el protocolo de red (HTTP) se diseñaron para ser realmente muy simples. A principios de 1993 había alrededor de 50 servidores y con dos tipos de navegadores: el original, gráfico, pero sólo para plataformas NeXT, y el visualizador en modo de línea preparado para cualquier plataforma pero muy limitado. En la actualidad, la Web es algo cotidiano para una gran parte de los más de 600 millones de usuarios de Internet que hay en todo el mundo y las posibilidades y alcance de sus funciones son diversas así como su impacto en la economía mundial es apreciable. No sólo hay documentos de texto, hay imágenes, vídeos, música, se pueden comprar cosas, se pueden hacer reservas... HTML se corresponde con las siglas de HyperText Mark-up Language en inglés. Donde Mark-up es un término de imprenta que significa el conjunto de instrucciones estilísticas detalladas escritas en un manuscrito que debe ser tipografiado por lo que realmente HTML podría ser traducido como lenguaje de formato de documentos para Hipertexto.
  • 18. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 17 2.2. Arquitectura general de la Web Principios para el diseño de sistemas web. La arquitectura, en su más amplia definición, podemos describirla como el arte de planear, diseñar y construir espacios habitables, y engloba, por tanto, no sólo la capacidad de diseñar los espacios, sino también la ciencia de construir los volúmenes necesarios. A partir de esta definición general podemos extrapolarlo a la llamada arquitectura web centrándonos en tres conceptos fundamentales: Planear, Diseñar. Construir. Es importante subrayar que el adecuado tratamiento de cada una de estas fases permitirá la creación de sitios y aplicaciones webs más profesionales. Componentes básicos de un sistema web. El hosting es el lugar físico donde se almacenan los datos y los sistemas necesarios para que todo funcione. Las funciones principales de estos componentes son: Guardar datos. Protegerlos contra ataques. Hacer una copia de respaldo. Mantener y reparar sistemas y equipos. Asegurar el funcionamiento constante de los servidores. Procurar la accesibilidad a los datos en todo momento. Brindar asistencia técnica a clientes. Administrar cuentas de correo electrónico. Un dominio de Internet es una red de identificación asociada a un grupo de dispositivos o equipos conectados a la red Internet. Hay algunos organismos internacionales que administran los dominios en Internet de primer nivel. Por ejemplo, los terminados en. com, .edu, .gov, .mil, .org, .net, .int, etc. Hay dominios de segundo nivel que han sido delegados a cada país para su administración. Por ejemplo, .ar para Argentina, .pt para Portugal, .mx para México, .co para Colombia, .es para España, etc.
  • 19. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 18 Como ocurre en cualquier sistema informático la información dentro del servidor debe estar organizada en un formato que el sistema pueda interpretar y obviamente compatible con programas de navegación web como Chrome, Explorer, Firefox, etc. División en capas. La arquitectura tradicional de cliente/servidor también es conocida como arquitectura de dos capas y necesita una interfaz de usuario que se instala y se ejecuta en un ordenador o estación de trabajo enviando solicitudes a un servidor para ejecutar operaciones complejas. Por ejemplo, una estación de trabajo utilizada como cliente puede ejecutar una aplicación de interfaz de usuario que interroga a un servidor central de bases de datos. La arquitectura de tres capas es un diseño reciente que introduce una capa intermedia en el proceso. En este sistema cada capa es un proceso separado y bien definido corriendo (siendo ejecutado) en plataformas separadas. En la arquitectura tradicional de tres capas se instala una interfaz de usuario en el ordenador del usuario final (el cliente). La arquitectura de las aplicaciones Web suelen presentar un esquema de tres niveles. 1. El primer nivel consiste en la capa de presentación que incluye no sólo el navegador sino también el servidor web que es el responsable de presentar los datos un formato adecuado. 2. El segundo nivel está referido en la mayoría de los casos a algún tipo de programa o script. 3. Finalmente, el tercer nivel proporciona al segundo los datos necesarios para su ejecución. Por ejemplo, una aplicación web convencional recogerá datos del usuario (primer nivel), los enviará al servidor que ejecutará un programa (segundo y tercer nivel) y cuyo resultado será formateado y presentado al usuario en el navegador (primer nivel otra vez).
  • 20. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 19 Las diferentes capas suelen ser: Capa 1: Cliente de aplicación: Navegador Web Capa 2: Servidor de Aplicaciones: Apache, Servidor Tomcat. Capa 3: Servidor de Datos: Base de datos, servidor SMTP. 2.3. El cliente web El cliente web es una aplicación informática o un ordenador que consume un servicio remoto en otro ordenador, conocido como servidor, normalmente a través de una red de telecomunicaciones. El término se usó inicialmente para los llamados terminales tontos que eran dispositivos incapaces de ejecutar programas por sí mismos pero podían conectarse e interactuar con ordenadores remotos por medio de una red que realiza todas las operaciones requeridas mostrando luego los resultados al usuario. Se utilizaban sobre todo porque su costo en esos momentos era mucho menor que el de un ordenador. Estos terminales tontos eran clientes de un equipo mainframe por medio de la técnica de tiempo compartido. En la actualidad se suele utilizar para referirse a programas que requieren específicamente una conexión a otro programa, al que se denomina servidor y que suele estar en otra máquina. Ya no se utilizan por criterios de costo, sino para obtener datos externos (por ejemplo páginas web, información bursatil o bases de datos), interactuar con otros usuarios a través de un gestor central (como por ejemplo los protocolos BitTorrent o IRC), compartir información con otros usuarios (servidores de archivos y otras aplicaciones Groupware) o utilizar recursos de los que no se dispone en la máquina local (por ejemplo impresión) Uno de los clientes más utilizados, sobre todo por su versatilidad, es el navegador web. Muchos servidores son capaces de ofrecer sus servicios a través de un navegador web en lugar de requerir la instalación de un programa específico. Hardware básico. Dispositivos fijos y móviles. Para conectarse a Internet se requiere un ISP y un determinado hardware. Un ISP proporciona acceso a Internet. El modo de contratar una cuenta con un ISP es igual que el utilizado para contratar el servicio telefónico u otros servicios públicos. Un proveedor de acceso a Internet (ISP) es una compañía que ofrece acceso a Internet, normalmente por una cuota. Hardware. Para una conexión de banda ancha, como ADSL o cable, se necesita un módem ADSL o por cable. El ISP podría incluirlo como parte del hardware de inicio cuando se suscribe a una cuenta de banda ancha. Cuando se quiere configurar una red para compartir el acceso a Internet con varios equipos también será necesario un router.
  • 21. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 20 Sistemas operativos de uso común Un sistema operativo es un conjunto de programas y archivos auxiliares que permiten la interactividad entre el usuario y la computadora, comportándose como un intérprete entre el lenguaje humano y el lenguaje máquina. También se encarga de la administración de los dispositivos, así como la carga y ejecución de aplicaciones. La clasificación de los tipos de sistemas operativos es: 1. Sistemas operativos estructurales. se definen a partir de los requisitos de los usuarios y del software. 2. Sistemas operativos de estructura monolítica. Se basa en un solo programa que gestiona un conjunto de rutinas. 3. Sistemas operativos de estructura jerárquica. Sus diversos elementos cumplen funciones jerárquicas o de grado. 4. Sistemas operativos por servicios. Se basan en la experiencia final del usuario y cómo se relaciona con el hardware. Entre estos existen los de monousuarios, multiusuarios, multitareas, monotareas, uniproceso y multiproceso. 5. Sistemas operativos de red. Este tipo de sistemas operativos se enfocan a la forma como ofrecen sus servicios. Lo realizan a través de la red y usando servidores. Navegadores. Características y comparativa. Internet Explorer. Windows Internet Explorer (anteriormente Microsoft Internet Explorer), conocido comúnmente como IE, es un navegador web desarrollado por Microsoft para el sistema operativo Microsoft Windows desde 1995. Las nuevas versiones de Internet Explorer incorporan muchos de los avances de los estándares web que sus precursores obviaron, como el soporte para CSS3, SVG, HTML5 (incluyendo las etiquetas <AUDIO>, <VIDEO> y <CANVAS>), el formato de archivo tipográfico web WOFF, además de incluir mejoras de rendimiento como la aceleración por hardware para el proceso de renderizado de páginas web y un nuevo motor de JavaScript denominado Chakra. Renderizar es el proceso de generar una imagen (imagen en 3D o una animación en 3D) a partir de un modelo, usando una aplicación de computadora. Mozilla Firefox. Usa el motor Gecko para renderizar páginas webs que implementa estándares web. Mozilla Firefox es un navegador web libre y de código abierto desarrollado para Microsoft Windows, Mac OS X y GNU/Linux coordinado por la Corporación Mozilla y la Fundación Mozilla.
  • 22. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 21 Ventajas: Verifica las actualizaciones de los antivirus con regularidad. Presenta muchas extensiones útiles que se pueden descargar ofreciendo funcionalidades adicionales. Es posible la personalización del entorno. El uso de marcadores es rápido y fácil gracias al icono correspondiente. También se pueden asignar palabras clave a los marcadores y favoritos que pueden ser organizados y gestionados desde una biblioteca. Firefox es rápido y se actualiza de forma automática. Inconvenientes: Firefox no utiliza procesos separados para cada pestaña lo que puede provocar un bloqueo. Desafortunadamente no todos los sitios web tienen un diseño optimizado para Firefox lo que puede provocar problemas de visualización Safari. Safari es un navegador web de código cerrado desarrollado por Apple Inc. Está disponible para OS X, iOS (el sistema usado por el iPhone, el iPod Touch y el iPad) y Windows (sin soporte desde el 2012). Incluye navegación por pestañas, corrector ortográfico, búsqueda progresiva, vista del historial en CoverFlow, administrador de descargas y un sistema de búsqueda integrado. Opera. Es un navegador web y suite de Internet creado por la empresa noruega Opera Software capaz de realizar múltiples tareas como navegar por sitios web, gestionar correo electrónico, contactos, fuentes web, charlar vía IRC y funcionar como cliente BitTorrent. Opera ha sido pionero en incorporar muchas de las características que hoy en día se pueden ver en el resto de los navegadores web como el zoom y la búsqueda integrada y popularizar otras como las pestañas. Sus características de seguridad incluyen protección integrada contra phishing y malware, cifrado de alta seguridad al navegar, y la capacidad de eliminar fácilmente datos privados, como por ejemplo cookies, caché y datos de inicios de sesión.
  • 23. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 22 Chrome. Google Chrome es un navegador web desarrollado por Google y compilado con base en varios componentes e infraestructuras de desarrollo de aplicaciones frameworks de código abierto. Está disponible gratuitamente bajo condiciones de servicio específicas. El nombre del navegador deriva del término en inglés usado para el marco de la interfaz gráfica de usuario (chrome). Funcionalidades avanzadas: extensiones, aplicaciones específicas, etc. Los exploradores de internet pueden ser más que una simple herramienta para navegar por la web gracias a las llamadas extensiones que son unos programas o aplicaciones que se instalan en el navegador y amplían sus funcionalidades. Los complementos varían según el navegador que se esté usando (Google Chrome, Internet Explorer, Mozilla Firefox, Safari y Opera). Hay que tener en cuenta que una misma extensión no funcionará en dos navegadores distintos. No obstante, existe la opción de sincronizar las extensiones de un mismo navegador para diferentes computadoras, para así evitar tener que descargarlas desde varios dispositivos. Los también llamados complementos o addons pueden ser desde aplicaciones prácticas, como dar el pronóstico del tiempo y traducciones a diferentes idiomas, hasta servicios especializados como almacenamiento en la nube, trazadores de planos y reproductores de música, pasando por juegos y simuladores de cirugías. Las extensiones se pueden deshabilitar en cualquier momento y se administran desde el mismo navegador. Cada explorador ofrece una suerte de catálogo de complementos, agrupados por categorías, con una selección de las más tal como sucede en las tiendas de aplicaciones App Store y Google Play, por ejemplo. El proceso para instalarlas depende de cada navegador aunque siguen un mismo patrón y no presentan dificultades reseñables. 2.4. Servidores web Servidores web de uso común. Apache. Es el más utilizado en todo el mundo. Es gratuito y de código abierto y puede ser instalad (informáticamente decimos correr) sobre cualquier plataforma. Microsoft IIS. Sólo funciona sobre sistemas Windows. Sun Java System Web Server. Este producto pertenece a la casa Sun y suele montarse sobre entorno de este sistema. Aunque, como Apache, es multiplataforma, y recientemente Sun ha decidido distribuirlo con licencias de código abierto (BSD concretamente).
  • 24. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 23 Ngnix. Este es un servidor Web muy ligero y corre sobre sistemas Unix y Windows. Se ha convertido en el 4º servidor HTTP más popular de la red y también se distribuye bajo licencia BSD. Lighttp. Este servidor Web es otro de los más ligeros que hay en el mercado. Está especialmente pensado para hacer cargas pesadas sin perder balance, utilizando poca RAM y poca de CPU. Algunas páginas populares que lo usan son Youtube, Wikipedia y otras que soportan gran tráfico diariamente. También es gratuito y se distribuye bajo licencia BSD. Características básicas de un servidor web. Procesador. Habitualmente suelen ser de las empresas Intel o AMD, con doble núcleo ó 4 núcleos. Si el servidor web no va a ser utilizado para vender hosting, ni se instalará VPS en él puede bastar un modelo sencillo, sin excesos. Un servidor virtual privado (VPS, del inglés virtual private server) es un método de particionar un servidor físico en varios servidores de tal forma que todo funcione como si se estuviese ejecutando en una única máquina. Cada servidor virtual es capaz de funcionar bajo su propio sistema operativo y además cada servidor puede ser reiniciado de forma independiente. Memoria RAM. Muy importante es dar todo el peso que se pueda a esta variable. Cuando la RAM se agota se tira de memoria virtual (disco duro) y se ralentiza todo pudiendo incluso colapsar el servidor y provocar caída de servicios en el mismo. Modelo de disco duro. Buscando siempre el máximo equilibrio entre la velocidad y el rendimiento. Configuración de servidores web. En la práctica Apache se instala de varias formas: El programa exclusivo, al que después se le agregan manualmente distintos módulos. El paquete XAMPP que incluye Apache, la base de datos MySQL, PHP y Perl. Otras distribuciones como LAMP o MAMP. La instalación de la aplicación es sencilla: descargar de Apache.org. la última versión para Windows, por ejemplo. Habitualmente se crean dos carpetas en la unidad C, la primera de nombre Apache y la segunda servidor web. Tras descomprimir el archivo descargado y ejecutarlo sólo queda seguir los pasos de la instalación y de los datos.
  • 25. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 24 El programa de instalación crea un icono en el área de notificación que permitirá iniciar, detener y reiniciar Apache. Hay que tener en cuenta que cualquier cambio que se realice en el archivo de configuración no tendrá efecto hasta que se reinicie el servidor. Toda la configuración para el funcionamiento de Apache se guarda en un archivo de texto denominado httpd.conf que se encuentra en la ruta C:Apacheconf. Puede ser modificado en cualquier editor de texto como el bloc de notas pero un programa recomendado es Notepad++, software libre que es inmejorable. Seguridad en servidores web. Los servidores web deben estar protegidos frente a cualquier tipo de amenaza. La mayor parte de estos ataques, en la actualidad, vienen como consecuencia de una mala configuración del servidor o un mal diseño del mismo, así como de fallos de programación. Las grandes corporaciones tienen sistemas más complejos y, por lo tanto, más difíciles de administrar. Las pequeñas empresas tienen servidores simples y con una configuración escasamente elaborada por lo que en su gran mayoría estos servidores son susceptibles de ser atacados sin mucha dificultad. Se pueden tomar dos caminos en cuanto a la aplicación de la seguridad en los servidores: Intentar realizar una configuración correcta de los servidores web y de los elementos que lo componen. Utilizar herramientas de seguridad dedicadas exclusivamente a la securizacion de estos servidores. En el mercado existen herramientas dedicadas para proteger servidores web, es decir, dispositivos de seguridad capaces de ofrecer multitud de funcionalidades que, sin lugar a dudas, nos serán de gran utilidad a la hora de proteger nuestro entorno web. Estos dispositivos son capaces de realizar funciones que van desde firewall de aplicación web hasta la aceleración de las propias aplicaciones y el balanceo de carga entre los servidores e IPS. Entre los beneficios que nos ofrecen este tipo de dispositivos, podemos destacar: Protección de firewall e IPS sobre aplicaciones web. Firewall de aplicaciones XML, implementando las capacidades IPS, sobre el código XML. Balanceo de carga entre los servidores web, con el fin de conseguir una descongestión de los mismos. Bloqueo de amenazas sobre las aplicaciones que corren en el servidor web como cross site, inyección SQL o ataques de buffer overflow. Soporte para comunicaciones SSL y procesamiento de cifrado XML. Cumplimiento de normativas de seguridad. Reducción de la complejidad en la administración. Las empresas deberán concienciarse de la importancia de tener servidores web seguros que garanticen la navegación, la confidencialidad y la integridad de los datos que pasan por el servidor así como la información mostrada en el mismo.
  • 26. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 25 Funcionalidades avanzadas: extensiones, servidores virtuales, etc. Extensiones del servidor. Un ejemplo de extensiones podemos tenerlo en las que ofrece el Internet Information Server (IIS): SSI, ISAPI, IDC y ASP. La mayoría de los servidores de internet ofrecen extensiones en el servidor para extender la funcionalidad de las aplicaciones Web, dando posibilidad de acceder a bases de datos, presentar anuncios rotativos, etc. SSI. El uso de archivos incluidos es una forma cómoda de almacenar en un único archivo información que se utiliza en varias páginas. Por ejemplo, podría utilizar directivas SSI para insertar un aviso de copyright en todos los documentos de su sitio Web. Las directivas de inclusión del servidor (SSI) están presentes en la mayoría de los servidores Web indicando al servidor Web cuando debe incluir en una página HTML el contenido de otro archivo. ISAPI. Internet Server Application Programming Interface (ISAPI) proporciona una serie de interfaces que pueden usarse para crear extensiones y filtros para el IIS. ISAPI es una librería de funciones para programar extensiones en forma de librería DLL que extiende la funcionalidad del servidor. Microsoft afirma que ISAPI tiene una serie de ventajas sobre el modelo CGI: mejora el rendimiento, baja sobrecarga, carga rápida y mejor escalabilidad. Funcionalmente hace lo mismo que un CGI, por ejemplo, si el cliente HTTP demanda una funcionalidad ISAPI, la DLL es cargada (el lugar del ejecutable .EXE de un CGI) siempre que ya no lo esté y la DLL realiza el trabajo pedido por el cliente. Una DLL (Dinamic Link Library, biblioteca de enlace dinámico) es una característica de la familia de sistemas operativos Microsoft Windows que permite almacenar las rutinas ejecutables, que normalmente cumplen una función o un conjunto de funciones específicos, independientemente como archivos con la extensión .dll y cargarlas sólo cuando el programa las necesita. Esto ahorra memoria durante la ejecución del programa y permite volver a utilizar el código. La mejora viene porque a la hora de atender una petición la DLL está ya en memoria y no es necesario crear un nuevo proceso y gestionarlo, sólo se crea un ECB con los datos de la petición para procesarlos, un CGI tomaría los datos de las variables de entorno del sistema a través de un nuevo proceso creado. La desventaja más notoria es que muchos sistemas operativos comparten código en memoria, es decir, no repiten el código del programa en memoria con el consiguiente consumo de memoria extra lo que hace que la diferencia entre gestionar un ECB (Extension Control Block) y un proceso nuevo pueda ser muy pequeña, y entonces el modelo ISAPI quedaría como una extensión ideada para el IIS que no presenta grandes diferencias de rendimiento con el modelo CGI en otros sistemas operativos.
  • 27. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 26 IDC. El IDC o conector de bases de datos de Internet es una herramienta que puede utilizarse para enviar consultas a una base de datos, dar formato a los datos devueltos en una página HTML y devolver la página a un explorador. Los exploradores de Web (como Internet Explorer u otros exploradores) emiten peticiones al servidor de Internet mediante HTTP. El servidor Web responde con un documento en formato HTML. IDC sirve para insertar, actualizar y eliminar información de la base de datos según la información proporcionada por el usuario en una página Web. Esta funcionalidad ha sido incluida en las páginas ASP, con lo que se espera un detrimento del uso del IDC en favor de ASP, por ofrecer mayor potencia y flexibilidad. ASP. Las Active Server Pages (ASP) permiten ejecutar código (VBScript o JavaScript) en el servidor. Son archivos que contienen etiquetas HTML, texto y comandos de secuencias de comandos y pueden llamar a componentes ActiveX del servidor para que realicen tareas, como la conexión con bases de datos o contenidos interactivos. Las secuencias de comandos ASP comienzan a ejecutarse cuando un explorador solicita un archivo .asp al servidor Web. El servidor Web llama a ASP, que lee el archivo solicitado desde el principio hasta el final, ejecuta los comandos que encuentre y envía una página Web al explorador, es lo mismo que un CGI pero ejecutado en forma de código VBScript o JavaScript con objetos ActiveX. ASP utiliza los delimitadores <% y %> para enmarcar los comandos. Dentro de los delimitadores puede incluir cualquier comando válido dentro del lenguaje de secuencia de comandos que esté utilizando. El siguiente ejemplo muestra una página HTML sencilla que contiene un comando de secuencia de comandos: <HTML> <BODY> Esta página se actualizó por última vez el <%= Now %>. </BODY> </HTML> La función Now de VBScript devuelve la fecha y la hora actuales. Cuando el servidor Web procesa esta página, reemplaza <%= Now %> con la fecha y la hora actuales y devuelve la página al explorador: Visualmente el resultado sería, Esta página se actualizó el 8/1/97 2:20:00 PM.
  • 28. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 27 Servidores virtuales. Se conoce como servidor virtual a una partición dentro de un servidor que habilita varias máquinas virtuales dentro de dicha máquina por medio de varias tecnologías. Los servidores dedicados virtuales (SDV) usan una avanzada tecnología de virtualización que le permite proveer acceso y la capacidad de reiniciarlo cuando desee, igual que un servidor dedicado. Aportando la posibilidad de instalar sus propias aplicaciones y controlar completamente la configuración de su servidor, los SDV representan una alternativa económica y eficiente para aquellos que desean disfrutar los beneficios de un servidor dedicado pero aun no poseen el presupuesto para hacerlo. Cada SDV tiene asignado un límite del uso de la CPU y la memoria RAM (entre otros), así por tanto, cada uno de los SDV funciona independientemente dentro del mismo servidor físico; es decir que actúan como cajas dentro de un mismo equipo. Por ejemplo, si uno de ellos está mal administrado y trabaja en forma sobrecargada, no afectará el funcionamiento del resto. Se conoce como servidor virtual SPEC a una solución especialmente dirigida al sector profesional que permite gestionar virtualmente un servidor y optimizar recursos gracias a la utilización de una potente infraestructura redundada, clusterizada y con posibilidad de montar VPN. Permite configurar sistemas o aplicaciones, soportar cualquier tipo de servicio y determinar cómo desarrollarlo y definirlo. Si necesita alojar múltiples sitios web, un Servidor Virtual Privado (VPS) es la opción más económica. Puede alojar numerosos sitios web en un VPS sin los gastos derivados de tener que adquirir su propio servidor físico independiente. 2.5. Servidores de aplicaciones Concepto de servidor de aplicaciones. En informática, se denomina servidor de aplicaciones a un equipo informático que dentro de una red de ordenadores ejecuta ciertas aplicaciones. Habitualmente se trata de un dispositivo de software que proporciona servicios de aplicación a los ordenadores cliente. Un servidor de aplicaciones generalmente gestiona la mayor parte (o la totalidad) de las funciones de lógica de negocio y de acceso a los datos de la aplicación. Los principales beneficios de la aplicación de la tecnología de servidores de aplicación son la centralización y la disminución de la complejidad en el desarrollo de aplicaciones. Características de los servidores de aplicaciones. Los servidores de aplicación incluyen también middleware (o software de conectividad) que les permite intercomunicarse con variados servicios buscando especialmente mejoras en la confiabilidad, seguridad, el no-repudio, etc. Los servidores de aplicación también ofrecen a los desarrolladores una interfaz para programación de aplicaciones (API) de tal manera que no tengan que preocuparse por el sistema operativo o por la gran cantidad de interfaces requeridas en una aplicación web moderna.
  • 29. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 28 Los servidores de aplicación también brindan soporte a una gran variedad de estándares, tales como HTML, XML, IIOP, JDBC, SSL, etc., que les permiten su funcionamiento en ambientes web (como Internet) y la conexión a una gran variedad de fuentes de datos, sistemas y dispositivos. Un ejemplo común del uso de servidores de aplicación (y de sus componentes) son los portales de Internet, que permiten a las empresas la gestión y divulgación de su información, y un punto único de entrada a los usuarios internos y externos. Teniendo como base un servidor de aplicación, dichos portales permiten tener acceso a información y servicios (como servicios Web) de manera segura y transparente, desde cualquier dispositivo. Comparativa de servidores de aplicaciones de uso común. Un servidor de aplicaciones ayuda en el proceso de creación e implementación de aplicaciones de programas. Ventajas: Como toda la información y los datos se almacenan en una ubicación centralizada, por lo tanto, actualizar y ampliar las aplicaciones se vuelven mucho más fácil. Un punto central de almacenamiento de datos también garantiza un alto nivel de seguridad en donde el servicio sólo se ofrece puede tener acceso a los datos. El rendimiento de las aplicaciones de gran mejora drásticamente desde el tráfico de red se limita al tráfico de rendimiento de nivel. Desventajas: Dado que toda la información se almacena en una ubicación centralizada en los servidores si hubiera una falla o caída técnica en los servidores la aplicación no sería accesible. Configuración de un servidor de aplicaciones. En una configuración estándar de un servidor de aplicaciones, éste contiene todos los archivos binarios y de configuración asociados con la aplicación, que incluyen: El ejecutable(s) de la aplicación. Los archivos estándar de configuración de la aplicación, como archivos de valores predeterminados de la aplicación, catálogos de mensajes y bibliotecas compartidas. Archivos de configuración de escritorio: o Archivos de definición de acciones y tipos de datos. o Archivos de imágenes de iconos. o Archivos de datos de ayuda del escritorio.
  • 30. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 29 Seguridad en servidores de aplicaciones. La seguridad de un servidor web debe estar diseñada en capas donde cada capa superpone a la anterior. Todo esquema de seguridad debe incluir al menos cuatro tipos de medidas de seguridad: Preventivas. Su objetivo es prevenir o dificultar la intrusión. Por ejemplo, los firewalls. Reactivas. Reaccionan ante la amenaza tomando contra medidas. Por ejemplo, firewall de aplicaciones, Mod_security, Sistemas de detección de ataques de fuerza bruta, etc. Detección. Ayudan a detectar si una intrusión ha ocurrido o está en proceso. Por ejemplo, HIDS como Tripwire, chkrootkit. Recuperación. Ayudan a recuperar la operabilidad tras una intrusión. Por ejemplo, backups e imágenes de disco. Al implementar un esquema de seguridad se deben planear las líneas defensivas. Cada una de las líneas refuerza la anterior, de modo que el fallo o la vulnerabilidad de una línea no comprometan la instalación. Según muchos autores el éxito está en pensar como el enemigo, monitoreando los logs e investigando cualquier indicio sospechoso. Funcionalidades avanzadas: conceptos de escalabilidad, balanceo de carga, alta disponibilidad, etc. Escalabilidad. En telecomunicaciones y en ingeniería informática, la escalabilidad es la propiedad que indica su habilidad para reaccionar y adaptarse sin perder calidad. La escabilidad nos permite manejar el crecimiento continuo de trabajo de manera fluida, o bien para estar preparado para hacerse más grande sin perder calidad en los servicios ofrecidos. La escalabilidad como propiedad de los sistemas es generalmente difícil de definir en cualquier caso, en particular es necesario definir los requerimientos específicos para la escalabilidad en esas dimensiones donde se crea que son importantes. En general, también se podría definir como la capacidad del sistema informático de cambiar su tamaño o configuración para adaptarse a las circunstancias cambiantes. Por ejemplo, una Universidad que establece una red de usuarios por Internet para un edificio de docentes y no solamente quiere que su sistema informático tenga capacidad para acoger a los actuales clientes que son todos profesores, sino también a los clientes que pueda tener en el futuro dado que hay profesores visitantes que requieren de la red por algunas aplicaciones académicas, para esto es necesario implementar soluciones que permitan el crecimiento de la red sin que la posibilidad de su uso y reutilización disminuya o que pueda cambiar su configuración si es necesario. Balanceo de carga. El balance o balanceo de carga es un concepto usado en informática que se refiere a la técnica usada para compartir el trabajo a realizar entre varios procesos, ordenadores, discos u otros recursos. Está íntimamente ligado a los sistemas de multiprocesamiento, o que hacen uso de más de una unidad de procesamiento para realizar labores útiles. El balance de carga emplea un algoritmo que divide de la manera más equitativa posible el trabajo y de esta forma evitar los temidos cuellos de botella.
  • 31. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 30 Uno de los principales problemas de los mayores sitios web en Internet es cómo gestionar las solicitudes de un gran número de usuarios. Se trata de un problema de escalabilidad que surge con el continuo crecimiento del número de usuarios activos en el sistema. Este servicio se puede brindar tanto con un enrutador como con una computadora con dos placas de red y software específico. Hay balanceadores de carga tipo round-robin (uno a uno) y por pesos (que son capaces de saber cuál de los nodos está más libre y lanzarle la petición). El más conocido es LVS, sin embargo hay otros, como el Red Hat Piranha. Y en la plataforma para Windows Server se tiene al ISA Server (Microsoft Internet Security and Acceleration Server). Alta disponibilidad. La alta disponibilidad (High availability) es un protocolo de diseño del sistema que lleva asociada una implementación para asegurar un elevado grado de continuidad operacional durante un período de medición dado. El concepto disponibilidad se refiere a la habilidad de la comunidad de usuarios para acceder al sistema, someter nuevos trabajos, actualizar o alterar trabajos existentes o recoger los resultados de trabajos previos. Si un usuario no puede acceder al sistema se dice que está no disponible. El término tiempo de inactividad (downtime) es usado para definir cuándo el sistema no está disponible. 2.6. Servidores de bases de datos Estos servidores proveen servicios de base de datos a otros programas u otros ordenadores como parte del modelo cliente-servidor. También puede hacer referencia a aquellas computadoras (servidores) dedicadas a ejecutar esos programas, prestando el servicio. Servidores de bases de datos para Internet de uso común. Algunos de los servidores de base de datos más comunes son: MySQL server. Base de datos de código abierto muy popular, pequeños y rápidos. PostgreSQL server. Base de datos de código abierto. Se trata de un servidor de base de datos relacional orientada a objeto publicado bajo licencia libre BSD. Oracle-XE. Versión lite del RDBMS de Oracle (gratuita pero no de código abierto).
  • 32. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 31 Características básicas de un servidor de bases de datos. Un servidor de bases de datos se utiliza para almacenar, recuperar y administrar los datos de una base de datos. El servidor gestiona las actualizaciones de datos permitiendo el acceso simultáneo de muchos servidores o usuarios web y garantizando la seguridad y la integridad de los datos. Cuando hablamos de datos podemos estar refiriéndonos a millones de elementos a los que acceden al mismo tiempo miles de usuarios. Así como sus funciones básicas, el software de servidores de bases de datos ofrece herramientas para facilitar y acelerar la administración de bases de datos. Algunas funciones son la exportación de datos, la configuración del acceso de los usuarios y el respaldo de datos. Las bases de datos tienen todo tipo de usos, como gestión de documentos, gestión de registros, índices de motores de búsqueda, para servidores de correo electrónico y para brindar contenido dinámico de páginas web. Los servidores de bases de datos se usan en el alojamiento de páginas web para insertar contenido en páginas web dinámicas. Dicho tipo de páginas dinámicas utilizan diseños de tipo estándar que se completan con información en función de la dirección URL de la página o de otras variables como las credenciales de usuario o las acciones que se realicen en la página. Algunos ejemplos de páginas dinámicas que utilizan bases de datos son los siguientes: - Contenido en publicaciones de blogs o páginas de categoría de blogs. - Anuncios clasificados de empleos o sitios web de clasificados. - Información de directorios web y mapas. - El contenido de su actividad en Facebook. - Resultados de Google y otras búsquedas. - Secciones de contenido administrable en sitios web. - Listas de productos de sitios de comercio electrónico y detalles de procesos de compra. - Detalles y configuración de la cuenta cuando inició sesión en un sitio web. Funcionalidades avanzadas: conceptos de escalabilidad, alta disponibilidad, etc. Escalabilidad. Si se tiene previsión de escalar de forma continuada el entorno web es mejor optar por un escalado de forma horizontal. Escalar verticalmente tendría unos costes mucho más elevados que escalar de forma horizontal debido a la especialización necesaria del hardware al necesitar servidores de altísimo rendimiento. Al escalar de forma horizontal las páginas web que contienen la información deben ser replicadas a todos los servidores web. Para poder obtener mejoras después de añadir más servidores, las peticiones de los distintos clientes se deben repartir de forma equilibrada entre los servidores. Por ejemplo, el caso más sencillo es cuando se necesita escalar un entorno web estático. En este caso, los ficheros que contienen las diferentes páginas HTML deben ser replicados a todos los servidores. El balanceador de tráfico se encarga de redirigir las peticiones de cada cliente a los distintos servidores.
  • 33. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 32 En un entorno web escalado de forma horizontal se debe tener muy en cuenta el tratamiento y persistencia de las sesiones. Tener sesiones almacenadas de forma local en cada servidor es una mala práctica. La solución pasa por tener sesiones centralizadas o, incluso mejor, no tener sesiones en absoluto. Alta disponibilidad. Escalando de forma horizontal los servidores web mediante el uso de un balanceador de tráfico se aumenta la disponibilidad del servicio ya que si un servidor falla, el servicio no se ve afectado. En este caso, se sigue contando con un único punto de fallo, el balanceador de tráfico y será necesario un servicio web de alta disponibilidad con dos balanceadores de tráfico. La arquitectura más sencilla es utilizar dos balanceadores en configuración de maestro/esclavo. De esta forma, el esclavo únicamente trabajará si el servidor maestro tiene algún problema. Los balanceadores de tráfico hardware suelen venir preparados para su uso conjunto. 2.7. Servidores complementarios en una arquitectura web Servidores de correo. Características. Cuando se envía un correo electrónico el mensaje se va enrutando de servidor en servidor hasta llegar al servidor de correo electrónico del receptor. Concretamente el mensaje se envía al servidor del correo electrónico (llamado MTA, del inglés Mail Transport Agent) que tiene la tarea de transportarlos hacia el MTA del destinatario. En Internet, los MTA se comunican entre sí usando el protocolo SMTP, y por lo tanto usan los llama servidores SMTP (conocidos también como servidores de correo saliente). Luego el MTA del destinatario entrega el correo electrónico al servidor del correo entrante (llamado MDA, del inglés Mail Delivery Agent) el cual almacena el correo electrónico mientras espera que el usuario lo acepte. Existen dos protocolos principales utilizados para recuperar un correo electrónico de un MDA: POP3. Post Office Protocol, Protocolo de Oficina de Correo, es el más antiguo de los dos utilizados y es el que emplea para recuperar el correo electrónico y, en algunos casos, dejar una copia en el servidor. IMAP. Internet Message Access Protocol, Protocolo de Acceso a Mensajes de Internet, se emplea para coordinar el estado de los correos electrónicos (leído, eliminado, movido) a través de múltiples clientes de correo electrónico. Con IMAP, se guarda una copia de cada mensaje en el servidor, de manera que esta tarea de sincronización se pueda completar. Por esta razón, los servidores de correo entrante se llaman servidores POP o servidores IMAP, según el protocolo usado. Servidores de direccionamiento (DNS). Características. Domain Name System o DNS (en español, sistema de nombres de dominio) es un sistema de nomenclatura jerárquica para computadoras, servicios o cualquier recurso conectado a Internet o a una red privada. Este sistema asocia información variada con nombres de dominios asignado a cada uno de los participantes.
  • 34. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 33 El servidor DNS utiliza una base de datos distribuida y jerárquica que almacena información asociada a nombres de dominio en redes como Internet. Como base de datos el DNS asocia diferentes tipos de información a cada nombre. Los usos más comunes son la asignación de nombres de dominio a direcciones IP y la localización de los servidores de correo electrónico de cada dominio. Por ejemplo, si la dirección IP del sitio FTP de prox.mx es 200.64.128.4, la mayoría de la gente llega a este equipo especificando ftp.prox.mx y no la dirección IP. Además de ser más fácil de recordar, el nombre es más fiable. La dirección numérica podría cambiar por muchas razones, sin que tenga que cambiar el nombre. Para la operación práctica del sistema DNS se utilizan tres componentes principales: 1. Los clientes. Un programa cliente DNS que se ejecuta en el ordenador del usuario y que genera peticiones DNS de resolución de nombres a un servidor DNS. Por ejemplo, ¿Qué dirección IP corresponde a nombre.dominio?. 2. Los Servidores DNS. Que contesten las peticiones de los clientes. Los servidores recursivos tienen la capacidad de reenviar la petición a otro servidor si no disponen de la dirección solicitada. 3. Las zonas de autoridad. Porciones del espacio de nombres raros de dominio que almacenan los datos. Cada zona de autoridad abarca al menos un dominio y posiblemente sus subdominios, si estos últimos no son delegados a otras zonas de autoridad. Proxies. Los proxies son máquinas que tienen como objetivo distribuir el tráfico en la red haciendo que las conexiones que se solicitan desde un ordenador local a Internet, pueden dirigirse hacia un servidor o hacia otro según la carga solicitada. Los proxies instalados en una red también tienen una función caché. Cuando se solicita una conexión a la red (URL) la página que se ha bajado hasta el ordenador a través del navegador se guarda en la memoria de ese servidor proxy durante un periodo de tiempo y así, cuando se vuelve a solicitar esa dirección desde otro ordenador de la red, el servidor proxy le ofrece la página que tiene guardada en la memoria, consiguiendo una mayor velocidad de respuesta y un ahorro en el tráfico de la red. Un proxy permite a otros equipos conectarse a una red de forma indirecta a través de él. Cuando un equipo de la red desea acceder a una información o recurso es realmente el proxy quien realiza la comunicación y a continuación traslada el resultado al equipo inicial. En unos casos esto se hace así porque no es posible la comunicación directa y en otros casos porque el proxy añade una funcionalidad adicional, como puede ser la de mantener los resultados obtenidos (por ejemplo, una página web) en una cache que permita acelerar sucesivas consultas coincidentes. Servidores de directorio. Características de LDAP. Es como una base de datos pero esta contiene información más descriptiva y basada en atributos. Los directorios están afinados para dar una respuesta rápida a operaciones de búsqueda o consultas, puede tener la capacidad de replicar información de forma amplia, con el fin de aumentar la disponibilidad y la fiabilidad. Hay muchas maneras distintas de proporcionar un servidor de directorio. Estos métodos permiten almacenar en el directorio diferentes tipos de información y de esta forma establecer requisitos diferentes para hacer referencia a la información, consultarla y actualizarla.
  • 35. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 34 LDAP son las siglas de Lightweight Directory Access Protocol (en español, Protocolo Ligero de Acceso a Directorios) que hacen referencia a un protocolo a nivel de aplicación que permite el acceso a un servicio de directorio ordenado y distribuido para buscar diversa información en un entorno de red. LDAP también se considera una base de datos (aunque su sistema de almacenamiento puede ser diferente) a la que pueden realizarse consultas. Ejemplo de árbol de directorio LDAP, Un árbol de directorio LDAP a veces refleja varios límites políticos, geográficos u organizacionales, dependiendo del modelo elegido. Los despliegues actuales de LDAP tienden a usar nombres de Sistema de Nombres de Dominio (DNS por sus siglas en inglés) para estructurar los niveles más altos de la jerarquía. Conforme se desciende en el directorio pueden aparecer entradas que representan personas, unidades organizacionales, impresoras, documentos, grupos de personas o cualquier cosa que representa una entrada dada en el árbol (o múltiples entradas). Servidores de mensajería. La mensajería instantánea (conocida también en inglés como IM) es una forma de comunicación en tiempo real entre dos o más personas basada en texto. El texto es enviado a través de dispositivos conectados a una red como Internet. La mensajería instantánea requiere el uso de un cliente de mensajería instantánea que realiza el servicio y se diferencia del correo electrónico. Los clientes de mensajería instantánea más utilizados son ICQ, Yahoo! Messenger, Windows Live Messenger, Pidgin, AIM (AOL Instant Messenger) y Google Talk (que usa el protocolo abierto XMPP). Estos servicios han heredado algunas ideas del viejo, aunque de altísima popularidad, sistema de conversación IRC. Cada uno de estos mensajeros permite enviar y recibir mensajes de otros usuarios usando los mismos software clientes, sin embargo, últimamente han aparecido algunos clientes de mensajerías que ofrecen la posibilidad de conectarse a varias redes al mismo tiempo.
  • 36. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 35 Servidores de antivirus, filtrado de contenidos, etc. Un servidor antivirus y antispam aliado con el servidor de correo electrónico forman la pareja perfecta si estamos hablando de seguridad en el filtrado de correo entrante y saliente. Puede instalarse en el mismo servidor de correo. Su funcionamiento sigue el siguiente esquema de trabajo: Escaneado de tráfico de correo mejorado Escaneo de correo entrante y saliente. Escaneó por "asunto", "cuerpo" y "adjunto". Optimizado para el mínimo uso de recursos del sistema. Prevención sobre el filtrado de información Filtro de contenido. Podrá definir qué hacer con los mensajes, tengan o no tengan virus. Definición de parámetros de actuación en función de patrón establecido. Protección anti spam contra envíos masivos y abusivos. Filtro AntiSpam Bloquea correo que proviene de ciertas direcciones predefinidas. Consulta en tiempo real de listas de direcciones consideradas como spam. Análisis de cabecera, asunto y cuerpo para determinar contenido considerado como spam. Otros servidores complementarios. Servidores de Audio/Video (Audio/Video Servers). Los servidores de Audio/Video añaden capacidades multimedia a los sitios web permitiéndoles mostrar contenido multimedia en forma de flujo continuo (streaming) desde el servidor. Servidores de Chat (Chat Servers). Los servidores de chat permiten intercambiar información a una gran cantidad de usuarios ofreciendo la posibilidad de llevar a cabo discusiones en tiempo real. Servidores de Fax (Fax Servers). Un servidor de fax es una solución ideal para organizaciones que tratan de reducir el uso del teléfono pero necesitan enviar documentos por fax. Ha quedado desfasado en el tiempo. 2.8. Infraestructura hardware y software para servidores de Internet Servicios en la nube (Cloud). En este tipo los usuarios puedan acceder a los servicios disponibles en la nube de Internet sin conocimientos (o, al menos sin ser expertos) en la gestión de los recursos que usan. Según el IEEE Computer Society es un paradigma en el que la información se almacena de manera permanente en servidores de Internet y se envía a cachés temporales de cliente, lo que incluye equipos de escritorio, centros de ocio, portátiles, etc. La computación en la nube está formada por servidores desde internet encargados de atender las peticiones en cualquier momento. Se puede tener acceso a su información o servicio mediante una conexión a internet desde cualquier dispositivo móvil o fijo ubicado en cualquier lugar. Sirven a sus usuarios desde varios proveedores de alojamiento repartidos frecuentemente por todo el mundo. Esta medida reduce los costes, garantiza un mejor tiempo de actividad y que los sitios web sean invulnerables a los hackers, a los gobiernos locales y a sus redadas policiales.
  • 37. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 36 Cloud computing es un nuevo modelo de prestación de servicios de negocio y tecnología, que permite incluso al usuario acceder a un catálogo de servicios estandarizados y responder con ellos a las necesidades de su negocio, de forma flexible y adaptativa, en caso de demandas no previsibles o de picos de trabajo, pagando únicamente por el consumo efectuado, o incluso gratuitamente en caso de proveedores que se financian mediante publicidad o de organizaciones sin ánimo de lucro. El cambio que ofrece la computación desde la nube es que permite aumentar el número de servicios basados en la red y ahorrar los costes salariales o los costes en inversión económica (locales, material especializado, etc.) La computación en nube es un concepto que incorpora el software como servicio, como en la Web 2.0 y otros conceptos recientes también conocidos como tendencias tecnológicas que tienen en común el que confían en Internet para satisfacer las necesidades de cómputo de los usuarios. Tipos de servicios: infraestructura como servicio, plataforma como servicio y aplicación como servicio. Infraestructura como servicio. Con una Infraestructura como servicio (Iaas) lo que se tiene es una solución basada en virtualización en la que se paga por consumo de recursos: espacio en disco utilizado, tiempo de CPU, espacio en base de datos, transferencia de datos. Un ejemplo de IAAS son los web services de Amazon. Las ventaja más inmediata de elegir este tipo de soluciones es la desplazar una serie de problemas al proveedor relacionados con la gestión de las máquinas. Las Infraestructura como Servicio permiten una escalabilidad automática o semiautomática, de forma que podamos contratar más recursos según los vayamos necesitando. Plataforma como servicio. La idea principal de una plataforma como servicio es la cantidad de capas que ofrece al desarrollador a la hora de construir una aplicación sobre un tercero: no sólo resuelve el problema de la infraestructura hardware sino también varias capas de infraestructura software. El cliente de este tipo de soluciones no necesita instalar, configurar y mantener sistemas operativos, sistemas de bases de datos y servidores de aplicaciones… todos ellos vienen por defecto en la plataforma de servicio. Ejemplos de plataformas como servicio podemos considerar a Google App Engine, que recientemente incorporó Java como lenguaje soportado, y también a Force de Salesforce o el futuro Azure de Microsoft. Incluso, estirando un poco la definición, algunos web services de Amazon como Simple DB podrían acercarse a ella. Ventajas e inconvenientes de los servicios de infraestructura en la nube. Los servicios en la nube o cloud computing están en pleno desarrollo y comienzan a extenderse entre usuarios domésticos, profesionales y empresas. La nube pone a nuestra disposición interesantes herramientas alojadas en internet, a las que se puede acceder desde cualquier lugar y con cualquier dispositivo siempre y cuando contemos con conexión. Este es un handicap importante, si no hay internet no hay servicio.
  • 38. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 37 Las ventajas de los servicios en la nube son muchas: Facilidad, simplicidad y rapidez. No es necesario instalar programas en nuestro equipo. Basta con acceder a la web en cuestión para empezar a funcionar. Los servicios más conocidos y reputados son extremadamente fáciles de usar. Ahorro. En el caso de las empresas, también se produce un ahorro considerable de energía e incluso de personal (el encargado de mantenimiento de los equipos que ya no se necesitan). Seguridad. Los proveedores utilizan infraestructuras con gran capacidad de adaptación y recuperación completa de datos perdidos. La información se aloja en varios servidores lo que multiplica las copias de seguridad. Actualización inteligente. Las aplicaciones se actualizan respetando la personalización previa del usuario. Ubicuidad y multidispositivo: podemos acceder a la aplicación y nuestros datos desde cualquier punto del planeta y con cualquier dispositivo (ordenador, smartphone, tablet…). Aliados frente a imprevistos. Los servicios en la nube pueden sacar de un apuro a empresas que necesiten un refuerzo ante un encargo imprevisto o en momentos de picos altos de trabajo (se pagan por consumo realizado). Inconvenientes: Necesidad de conexión. En el caso de profesionales y empresas en momentos puntuales puede ser un gravísimo problema. Dependencia: Puede ser complicado migrar los datos de sitio a otro. Falta de control. El usuario se expone a la incertidumbre. Si hay un problema (por ejemplo, la reciente pérdida de correos de Google) no tenemos control sobre nuestros datos. Inseguridad. Los servicios en la nube cuentan con seguridad de alto nivel, nada es 100% fiable con internet por medio. La nube aún tiene un gran desarrollo por delante así que es conveniente no subir información sensible para el usuario. Diversidad legislativa. La información alojada en la nube se rige bajo la legislación del país (o países) en el que se encuentra el servidor (o servidores). Tecnología inmadura. Son habituales los cambios en las aplicaciones lo que obliga a una continua adaptación por parte del usuario. Overbooking. Con la popularización de estos servicios la nube tendrá que ser capaz de atender a un número cada vez mayor de usuarios. Comparativa de los servicios de infraestructura en la nube de uso común. En la siguiente tabla se puede observar una comparativa entre algunos servicios populares en cuanto almacenamiento en la nube se refiere. Constantemente aparecen nuevos servicios de este tipo confirmando la tendencia hacia la movilidad y los servicios online.
  • 39. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 38 Recuerda… El Middleware se conoce habitualmente al software de conectividad. La extranet siempre tiene un acceso semiprivado. Una plataforma como servicio resuelve más problemas que una solución que sólo ofrezca infraestructura hardware. El Script es como se denomina al conjunto de instrucciones almacenadas en un archivo de texto que deben ser interpretados línea a línea en tiempo real. Los servidores de chat es como se denominan los servidores que permiten intercambiar información a una gran cantidad de usuarios ofreciendo la posibilidad de llevar a cabo discusiones en tiempo real. Un ataque pasivo es aquel donde el atacante supervisa el tráfico de red e intenta conocer información secreta sin realizar acciones. El servidor DNS utiliza una base de datos distribuida y jerárquica. La zona desmilitarizada es como se denomina la zona en que suelen encontrarse los servidores de la organización que deben permanecer accesibles desde la red exterior. Los cortafuegos pueden ser implementados en hardware o software.
  • 40. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 39 3. APLICACIONES WEB Aunque existen diferentes composiciones, generalmente una aplicación web está normalmente estructurada como una aplicación de tres capas. En su forma más habitual, el navegador web ofrece la primera capa, y un motor capaz de usar alguna tecnología web dinámica (por ejemplo: PHP, Java Servlets o ASP, ASP.NET, CGI, ColdFusion, embPerl, Python o Ruby on Rails) constituiría la capa intermedia. Una base de datos constituye la tercera y última capa. El navegador web manda peticiones a la capa intermedia que ofrece servicios valiéndose de consultas y actualizaciones a la base de datos y a su vez proporciona una interfaz de usuario. 3.1. Evolución y tipos de aplicaciones informáticas Aplicaciones de terminal. Servidores de terminales virtuales. Un servidor de terminales proporciona una interfaz gráfica de usuario (GUI) de Windows o un tablero del escritorio en Linux a los terminales del usuario que no tienen esta capacidad por ellos mismos. Los protocolos que el cliente y el servidor utilizan para comunicarse entre sí se conocen como protocolos de escritorio alejado. Por ejemplo, Citrix ICA, Systancia-AppliDis, GoGlobal y tecnología de NX. La conexión con el servidor de terminales se realiza a través de Internet (WAN). Normalmente el manejo de las ventanas se realiza en el cliente que sólo transmite las modificaciones de pantalla, de tal forma que se optimiza el tiempo de refresco y por tanto la velocidad de acceso a los datos. Puesto que todo el proceso y almacenamiento ocurre en el servidor los requisitos para los dispositivos del cliente son mínimos. Estos dispositivos del cliente pueden ser desde ordenadores en red con limitadas configuraciones a un ordenador personal de configuración completa. La velocidad y la energía de la computadora del cliente importan muy poco puesto que no trabaja mucho en el proceso. Los servidores de terminales se ponen en ejecución generalmente con un servidor de terminales que pueda emular hasta 40 o 50 máquinas simultáneamente. El usuario final utiliza un sitio de trabajo para conectar con el servidor de terminales. El puesto de trabajo actúa como si funcionara una versión completa de Linux o de Windows (usando servicios terminales). Esto aporta muchas ventajas: Sólo es necesario comprar un servidor de terminales y no muchas máquinas costosas. En cualquier momento, el cliente ligero tiene acceso a los recursos que no están siendo utilizados por el servidor de terminales. esta situación es ideal en los casos en que el usuario final necesite realizar tareas intensivas del recurso pero de forma intermitente. El servidor de terminales puede tener especificaciones altas lo que sin duda pone a disposición del cliente recursos que por otros medios serían inalcanzables. La configuración del ordenador de cada usuario se guarda en el servidor de terminales. El usuario del cliente puede conectarse a su sitio de trabajo desde cualquier localización que tenga acceso a la red.
  • 41. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 40 Aplicaciones de escritorio. Será un programa el encargado de realizar la funcionalidad del software implementado que se instala en cada puesto de trabajo y se conecta a través de Internet con la base de datos. La principal ventaja de este sistema es la rapidez de uso ya que es posible incorporar todos los controles de escritorio y todos los eventos asociados a ellos. Como principal desventaja está la mala gestión de actualizaciones que obliga a actualizar todos los programas instalados a ser actualizados en cada puesto de la empresa cuando se implementan evoluciones o se solucionan fallos. Será necesario diseñar un sistema automático complementario que cubra la gestión de las actualizaciones ya que un usuario con un software obsoleto puede dañar la base de datos. Otra desventaja importante es la escasa portabilidad. Por ejemplo, si lo implementamos para un entorno Windows sólo en equipos con esta familia de sistemas operativos funcionará y no se podrá usar en una tablet o un teléfono. Aplicaciones cliente/servidor. Las aplicaciones cliente/servidor permiten realizar diferentes tipos de tareas de manera remota o lo que es lo mismo, ofrecen la posibilidad de trabajar desde un terminal con comodidad y sin complicaciones. Una aplicación cliente/servidor es un programa que cuenta con un frontend que establece una conexión directa a través de una red y con un servidor que aloja el programa, servicio o desarrollo informático al cual deseamos acceder. Una vez establecida la conexión, el mismo cliente (software que se ejecuta del lado del usuario) expone la interfaz de trabajo que permite al usuario realizar la tarea de manera cómoda y eficiente. Directamente desde el terminal, y en tiempo real, envía toda la información suministrada por el usuario al servidor y este mismo devuelve el resultado a la máquina cliente desde donde se ha introducido los datos. Finalmente muestra por pantalla toda la información que ha sido procesada. Por ejemplo,
  • 42. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 41 Entre las principales utilidades que nos ofrecen las aplicaciones cliente/servidor destacan las siguientes: Toda la carga y consumo de recursos se hace directamente en el servidor. Esto aporta lo que en términos de sistemas informáticos se denomina ligereza. Facilidad de mantenimiento. El mantenimiento general se hace en el código principal en el servidor. Posibilidad de realizar trabajos dinámicos y en grupo. Servicio de trabajo incluso en zonas remotas. Posibilidad de ser desarrolladas en diversos lenguajes de programación. Capacidad de trabajar en diferentes plataformas de manera simultánea. La tendencia actual parece que va encaminada hacia desarrollo de aplicaciones cliente/servidor de bajo consumo que ofrecen la posibilidad de realizar el trabajo rápidamente. Un ejemplo de este tipo de aplicaciones son los clientes de e-mail, las aplicaciones en la nube y algunos sistemas de base de datos que podemos encontrar en Internet. Aplicaciones web. La principal ventaja será la disponibilidad de la aplicación a través de dispositivos que tengan un navegador web como son ordenadores, teléfonos móviles, tablets, etc. Por ejemplo, un comercial de una empresa que cierra un pedido en el domicilio de su cliente y a través de una tablet lo tramita y confirma con el cliente un plazo de entrega. En ese caso el equipo que tramite los pedidos ubicado en la empresa tendrá constancia del pedido en el momento y podrá tramitarlo rápidamente. Otra ventaja muy importante será la gestión de actualizaciones que con simplemente actualizar la aplicación del servidor todos los usuarios la tendrán en el momento. Será únicamente necesario poner la aplicación en modo mantenimiento para que no haya ningún usuario conectado en ese momento (y no se pierdan datos) y poder realizar la mejora. Este tipo de actualizaciones podría hacerse fuera del horario de oficina de la empresa. Ejemplos de aplicaciones web, La interfaz de una aplicación web no es una desventaja frente a la interfaz de una aplicación de escritorio ya que actualmente los controles web cuentan con una funcionalidad y cercanía al usuario muy amplias. En la actualidad resulta más práctico y aconsejable el uso de aplicaciones web siempre que necesitemos un trabajo en diferentes ubicaciones.
  • 43. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 42 Ventajas e inconvenientes de los tipos de aplicaciones. Comparativa. Una aplicación que funciona en el lado del cliente y accede al servidor remoto por información es lo que se denomina aplicación cliente/servidor mientras que una aplicación que funciona enteramente en un navegador web es conocida como una aplicación web. Las diferencias principales entre los dos tipos más destacados son: Cliente / servidor Aplicación web Arquitectura de dos niveles. Arquitectura multinivel. La interacción del usuario con el servidor se da principalmente a través de una interfaz de usuario. La interacción de usuario se realiza a través de un navegador web compatible. No tiene solidez ya que si un servidor falla los pedidos pueden ser completados. Exhibe solidez. Debe ser instalada en la máquina del cliente. Puede ejecutarse directamente desde un navegador web. El servidor puede verse sobrecargado con el incremento de pedidos del cliente lo que conlleva un bajo rendimiento. Múltiples usuarios pueden usar una aplicación web al mismo tiempo. 3.2. Tecnologías de desarrollo de aplicaciones Características por tipo de aplicación. Comparativa. 1. Aplicación web estática. Si optamos por crear una app web estática lo primero que se tiene que tener en cuenta es que este tipo de web app muestran poca información y sin muchas modificaciones. Se suelen desarrollar en HTML y CSS aunque también pueden mostrar en alguna parte de la aplicación web objetos en movimiento como por ejemplo banners, GIF animados, vídeos, etc. También es habitual que se trabajen aplicaciones web con jQuery y Ajax. Un inconveniente es que modificar los contenidos de las apps estáticas no es sencillo. Para hacerlo, habría que descargar el HTML, modificarlo y volver a subirlo al servidor. Acciones que sólo puede ejecutar el webmaster o la empresa de desarrollo que programó y diseñó la web app en su momento. Algunos ejemplos de desarrollo de aplicaciones web estáticas podrían ser por ejemplo portfolios de profesionales o bien un curriculum digital. Del mismo modo una página de presentación de empresa podría tener también este tipo de aplicación web para mostrar sus datos de contacto, etc.
  • 44. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 43 2. Aplicación web dinámica. Las aplicaciones web dinámicas son mucho más complejas a nivel técnico ya que emplean bases de datos para cargar a información que se va actualizando cada vez que el usuario accede a la web app. Generalmente cuentan con un panel de administración (llamado CMS) desde dónde los administrados pueden corregir o modificar los contenidos, ya sean textos o imágenes. Existen muchos lenguajes de programación para desarrollar aplicaciones web dinámicas. Los lenguajes PHP y ASP son los más comunes porque permiten una buena estructuración del contenido. El proceso de actualización es muy sencillo y ni siquiera necesita entrar en el servidor para modificarlo además permite implementar muchas funcionalidades como foros o bases de datos. 3. Tienda virtual o comercio electrónico. Si la aplicación web es una tienda o comercio digital el desarrollo estará catalogado dentro de lo que se conoce como un m-commerce o un e-commerce. El desarrollo s más complicado porque debe permitir pagos electrónicos a través de tarjeta de crédito, PayPal, u otro método de pago. En estos casos el desarrollador deberá crear un panel de gestión para el administrador. La gestión consistirá en subir los productos, actualizarlos, eliminarlos y en general lo relacionad con la gestión de pedidos y pagos. 4. Portal web app. Un portal es un tipo de aplicación en el que la página principal permite el acceso a diversos apartados, categorías o secciones. Puede incluir diversos elementos como foros, chats, correo electrónico, un buscador, zona de acceso con registro, contenido más reciente, etc.
  • 45. IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNOS INTERNET, INTRANET Y EXTRANET 44 5. Aplicación web animada. La animación se asocia a la tecnología FLASH. Este tipo de programación permite presentar contenidos con efectos animados y crear diseños más creativos. El inconveniente de desarrollar aplicaciones web animadas es que para temas de posicionamiento web y optimización SEO este tipo de tecnología no es la más adecuada ya que los buscadores no pueden leer correctamente las informaciones. 6. Aplicación web con Gestor de Contenidos. En el caso del desarrollo de aplicaciones web en las que el contenido se debe ir actualizando continuamente lo recomendable es instalar un gestor de contenidos (CMS) en el que el administrador podrá realizar los cambios y actualizaciones de forma sencilla. Estos gestores son intuitivos y muy cómodos de gestionar. Algunos ejemplos de gestores de contenidos son: WordPress. El más extendido de los gestores de contenidos. Existe mucha información en la red, tutoriales y guías para personalizarlo, entenderlo y es gratuito. Joomla. Es el segundo en popularidad aunque no tiene tantos usuarios sí que tiene una comunidad potente y es también muy intuitivo.