Universidad de Colima - Dirección General de Servicios Telemáticos

Anuncio
Universidad de Colima
Maestría en Ciencias área Computación
EXÁMENES POR INTERNET
Tesis
Que para obtener el grado de
Maestro en Ciencias área Computación
Presenta
L.I. J. Reyes Benavides Delgado
Asesor
M.C. Rodolfo Gallardo Rosales
Coquimatlán, Colima. Noviembre del 2001
UNIVERSIDAD DE COLIMA
FACULTAD DE I NGENIERÍA M ECÁNICA Y ELÉCTRICA
EXPEDIENTE 359
NUM. 97-0323
C. BENAVIDES DELGADO J. REYES
XALLAN No. 281
VILLA IZCALLI CAXITLAN
VILLA DE ÁLVAREZ, COLIMA
Informo a usted que ha sido aprobado como tema de titulación para obtener
el grado de MAESTRO EN CIENCIAS ÁREA: COMPUTACIÓN.
El solicitado por usted bajo el título:
"EXÁMENES POR INTERNET"
Desarrollado bajo los siguientes puntos:
I
II
III
IV
V
VI
VII
VIII
.- INTRODUCCIÓN
.- INTERNET
.- PROTOCOLO TCP/IP: PROTOCOLOS Y SERVICIOS
.- WINDOWS NT: INTERNET INFORMACIÓN SERVER
.- CGI, WIN-CGI, SERVLETS
.- JAVA: PUENTE ENTRE MÚLTIPLES PLATAFORMAS
.- DESARROLLO DEL PROCESO CLIENTE/SERVIDOR PARA LA
PRESENTACIÓN DE EXÁMENES VÍA INTERNET
.- CONCLUSIONES
BIBLIOGRAFÍA
Al mismo tiempo informo a usted que ha sido designado como asesor de
titulación al suscrito C. M.C. RODOLFO GALLARDO ROSALES.
En cada uno de los ejemplares de titulación que presente para examen,
deberá aparecer en primer término copia del presente oficio.
c.c.p. EXPEDIENTE ALUMNO
AGFC/merv*
Km 9 Carretera Colima-Coquimatlán, Colima, Colima, México, Cp 28400
Tel. 01 (3) 316 1165, Ext. 51451, Ext. Fax 51454
H. CONSEJO TÉCNICO DEL POSGRADO
DE LA FACULTAD DE INGENIERÍA MECÁNICA Y ELÉCTRICA
PRESENTE.
Por
medio
de
este
conducto
informo
que
el
C.
BENAVIDES DELGADO J. REYES_____________________________________
terminó su período de revisión de tesis:
"EXÁMENES POR INTERNET"
Cuyo contenido es el siguiente:
I
II
III
IV
V
VI
VII
VIII
.- INTRODUCCIÓN
.- INTERNET
.- PROTOCOLO TCP/IP: PROTOCOLOS Y SERVICIOS
.- WINDOWS NT: INTERNET INFORMATION SERVER
.- CGI, WIN-CG1, SERVLETS
. - JAVA: PUENTE ENTRE MÚLTIPLES PLATAFORMAS
.- DESARROLLO DEL PROCESO CLIENTE/SERVIDOR PARA LA
PRESENTACIÓN DE EXÁMENES VÍA INTERNET
CONCLUSIONES
BIBLIOGRAFÍA
El cual cumple con los requisitos necesarios para su aprobación, por lo cual
lo autorizo para su impresión.
c.c.p. EXPEDIENTE
RGR/merv*
Exp.No.: _0046______
Fecha: __19-02-2000
Acta No.:__12_______
C. _BENAVIDES DELGADO J. REYES_____
Domicilio: ___LOS REGALADO No. 469____
____COLIMA, COL._____________
Teléfono: ____2-85-16____________________
En cumplimiento al artículo: 13 y 14 del reglamento de titulación, al artículo 40 INCISO
A del reglamento de estudios de Posgrado vigente y al artículo: 46 de las normas complementarias al
reglamento de Posgrado, correspondientes al Posgrado de la Facultad de Ingeniería Mecánica y Eléctrica.
Informamos a usted que ha sido autorizado por este Consejo Técnico del Posgrado su tema de Tesis para
obtener el grado de Maestro en Ciencias Area: Computación titulado: " EXÁMENES POR INTERNET" ______
para ser desarrollado bajo los siguientes puntos:
I
II
III
IV
V
VI
VII
.- INTRODUCCIÓN
.- INTERNET
.- PROTOCOLO TCP/IP: PROTOCOLOS Y SERVICIOS
.- WINDOWS NT: INTERNET INFORMATION SERVER
.- CGI, WIN-CGI, SERVLETS
.- JAVA: PUENTE ENTRE MÚLTIPLES PLATAFORMAS
.- DESARROLLO DEL PROCESO CLIENTE/SERVIDOR PARA LA PRESENTACIÓN DF.
EXÁMENES VÍA INTERNET
VIII .- CONCLUSIONES
BIBLIOGRAFÍA
Así mismo hacemos de su conocimiento que de acuerdo con la línea de investigación en la cual
se enmarca su proyecto ha sido autorizado como asesor de tesis el
C.__________M.C. RODOLFO GALLARDO ROSALES_________________________________________
A partir de la fecha de aprobación tendrá como plazo un año para presentar su examen tic
grado, en caso contrario tendrá usted derecho a una prórroga única de seis meses so pena de perder el registro
de su proyecto.
Una vez concluidos los trámites de revisión de su documento de tesis e integrado su expediente
de titulación deberá recoger el oficio que acompañará a el visto bueno de su asesor de tesis, los cuales
encabezarán cada uno de los ejemplares de su tesis.
A t e n t a me n t e
ÍNDICE
I
Introducción
II
Internet
2.1 Historia del desarrollo de Internet en el mundo
2.2 Desarrollo de Internet en México
III
Protocolo TCP/IP: protocolos y servicios
3.1 Conceptos Básicos
3.2 La familia de protocolos TCP/IP
3.3 Las direcciones TCP/IP
3.4 Estratificación de protocolos
3.5 Servicios de la capa de aplicación
IV
Windows NT: Internet Information Server
4.1 Características del IIS (Internet Information Server)
V
Cgi, win-cgi, Servlets
VI
Java: puente entre múltiples plataformas
VII
Desarrollo del proceso cliente /servidor para la presentación de exámenes
vía Internet
VIII
Conclusiones
Bibliografía
ABSTRACT
Internet has become a medium of transmitting all kind of information. At present a
number of higher education schools have a direct connection allowing them to have a web
site to post information about their activities. This essay presents the idea of the utilization
of a internet connection in schools in order to apply the admission test. This will result in
the benefit of potential students living in remote areas by saving them the transportation
from their communities to the campus of the school they intend to apply for.
I am proposing the use of a data base of questions which randomly would be
selected from each of the different areas in order to create an admission test. This will be
accomplished using a software developed in Java that along with the data base will be
running under Windows NT.
RESUMEN
Internet es un medio de transmisión de todo tipo de información, una gran
cantidad de escuelas de educación superior cuentan con conexión directa a la Internet
que les permite mantener un sitio web para publicar información sobre sus actividades.
Este trabajo presenta la idea de utilizar la conexión a Internet de las escuelas para la
aplicación del examen de admisión, lo que a aspirantes de nuevo ingreso de localidades
alejadas sería de gran ayuda, ya que eliminaría la necesidad de trasladarse hasta las
instalaciones de la escuela para presentar dicho examen.
Se plantea la idea de utilizar una base de datos para almacenar un banco de
reactivos, del cual en forma aleatoria se tomen de cada área del conocimiento a evaluar,
los reactivos para forma r el examen de admisión, usando para esto un programa
elaborado en lenguaje JAVA, y que junto con la base de datos deberán residir en un
servidor de red Windows NT.
CAPÍTULO I
INTRODUCCIÓN
1
INTRODUCCIÓN
Aunque las oportunidades y opciones de estudio en la actualidad se han
incrementado en un buen número para los residentes de una ciudad, aún se genera el
desplazamiento de estud iantes de una cuidad a otra en búsqueda de la institución que
ofrezca la carrera o especialidad deseada, o bien el buen prestigio ganado por la calidad de
estudiantes que egresan de una institución es suficiente para generar la migración de
estudiantes.
El principal problema al que se enfrentan los aspirantes a ingresar es el
desplazamiento que tienen que realizar para los trámites de ingreso, particularmente el
examen de admisión. Una solución a este problema es la Internet (red de redes), ya que
actualmente está al alcance de los alumnos en cualquier escuela.
La solución propuesta es la generación de un examen de admisión que se aplique a
través de la Internet, usando un lenguaje altamente transportable (ej. Lenguaje Java) para
codificar una página HTML dinámica que utilice CGI, Servlets o alguna otra interfaz que
permita el intercambio de datos en HTTP, siendo posible que el mismo programa evalúe el
resultado y genere automáticamente la lista de aspirantes aceptados.
El proyecto estará formado por una aplicación escrita en lenguaje visual para crear y
mantener la base de datos de reactivos para formular los exámenes, de un módulo servidor
que se ejecutará en un Servidor Windows NT y un módulo cliente que se ejecutará en la
computadora cliente.
La aplicación para generar y mantener la base de reactivos para exámenes,
manipulará a través de órdenes SQL, el contenido de una base de datos.
El módulo servidor se ejecutará en el servidor Windows NT, se encargará de
responder las peticiones del módulo cliente. Entre otras cosas se encargará de enviar un
2
número determinado de reactivos seleccionados aleatoriamente de la base de datos, y
recibir y evaluar las respuestas del módulo cliente, estará escrito en JAVA.
El módulo cliente será una página HTML dinámica que visualizará la información
que envíe el módulo servidor, la parte dinámica aquí se realizará por medio de funciones
escritas en lenguaje JavaScript.
El presente trabajo está dividido en los siguientes 9 capítulos:
El capítulo I hace una introducción al presente trabajo.
El capítulo II describe el proceso de desarrollo mundial de la Internet a través del
tiempo, así como su desarrollo en México.
El capítulo III presenta un panorama general del protocolo TCP/IP, explicando su
importancia en el trabajo de las redes de computadoras, la forma en que trabaja, así como
los servicios de red que proporciona a nivel de capa de aplicación.
El capítulo IV nos describe la capacidad del sistema operativo Windows NT para
prestar servicios orientados a Internet a través del producto llamado Internet Information
Server (IIS), como son: la publicación de documentos HTML (HTTP), servicios de
transferencia de archivos (FTP), y la búsqueda en directorios a través de Gopher.
El capítulo V nos explica las opciones para lograr la interacción entre los
visualizadores y los servidores de páginas Web, ésto a través de tecnologías como CGI o
creando procesos servidores codificados en Java (llamados Servlets).
El capítulo VI nos habla de la importancia de Java como puente entre distintas
plataformas de software, y de almacenamiento de base de datos.
El capítulo VII presenta el proyecto de elaboración de las partes cliente y servidor
para lograr la presentación de exámenes a través de la Internet usando los servicios de
publicación en el WWW (World Wide Web), usando procesos servidores codificados en
Java encargados de generar como respuestas páginas HTML dinámicas, lográndose la
interactividad por medio de funciones escritas en el lenguaje JavaScript.
3
CAPÍTULO II
INTERNET
4
2. INTERNET
2.1 Historia del desarrollo de Internet en el mundo
Muchos de los avances tecnológicos han sido resultado de investigaciones de índole
militar, Internet no es la excepción.
Transcurrían los años sesenta, Estados Unidos y Rusia protagonizaban lo que
conocemos hoy como la Guerra Fría, para el gobierno de Estados Unidos era una
preocupación contar con una red de comando y control qué pudiese sobrevivir a una guerra
nuclear, ya que las redes telefónicas tradicionales se consideraban muy vulnerables, ya que
la pérdida de una línea o conmutador terminaría toda conversación que los estuviera
usando. Buscando una solución a esto, el DoD (Departamento de Defensa) acudió a la
ARPA o Advanced Research Projects Agenc y (Agencia de Proyectos de Investigación
Avanzados).
La función de ARPA fue ofrecer financiamientos y contratos a universidades y
compañías con ideas prometedoras.
RAND Corporation, una de las empresas encargadas de la estrategia militar
estadounidense propuso una solución: la creación de una red de comunicaciones que no
dependiera de un organismo central, integrado por nodos ó puntos de enlace de igual rango
y con la misma capacidad de originar, transmitir y recibir mensajes, y que, en caso de que
alguno de estos nodos recibiera un ataque o dejara de funcionar, el resto de la red seguiría
en operación: Los mensajes en esta red se dividirían en paquetes, cada uno con su propia
dirección, originado en algún nodo en particular saltando de lado a lado y finalizando en
otro nodo especifico, de manera individual. No importa La ruta de los paquetes, solamente
importa que lleguen. Si una ruta hubiera sido destruida, el paquete encontraría otra para
llegar a su destino.
5
1967. La planeación de este tipo de redes se expuso durante el simposio realizado
en Inglaterra sobre Principios Operativos, auspiciada por ACM (Asociation of Computer
Machinery).
1968. El primer resultado en este tipo de redes se obtuvo en Gran Bretaña,
utilizando un mainframe IBM.
1969. ARPA (Advanced Research Projects Agency), una agencia del Pentágono
surgida a partir del lanzamiento del satélite Sputnik, decide realizar un proyecto mayor
sobre esta tecnología en redes en Estados Unidos. Este proyecto fue desarrollado por
RAND, MIT (Massachussets Institute of Technology) y UCLA (University of California in
Los Ángeles). El primer nodo fue instalado en UCLA. Para diciembre de ese año ya
existían cuatro nodos en ARPANET, pudiendo transmitir datos en líneas de transmisión de
alta velocidad y programar remotamente computadoras en otros nodos. En 1971 había
quince nodos, y para 1972, treinta y siete.
Poco a poco comenzó a expandirse el uso de ARPANET: no solamente se dedicaba
a trabajos de cómputo a larga distancia, sino que se extendió a la comunicación de
proyectos y trabajos entre investigadores, y al uso personalizado del correo electrónico y
más humano de la comunicación persona a persona. Así también surgen las listas de interés,
que son mensajes de correo electrónico retransmitidos automáticamente a los suscriptores
en la red.
1973. Tuvo lugar la primera conferencia internacional de ARPANET, con una
demostración entre 40 máquinas, conectadas entre sí alrededor del mundo, y sin ninguna
pérdida de información, teniendo un éxito impresionante. Otra ventaja de ARPANET es
que no importaba los tipos o tamaños de las máquinas en las que se estuviera trabajando,
mientras cumplieran con los protocolos establecidos, funcionarían dentro de la red.
1974. El protocolo original se conocía como NCP "Network Control Protocol", el
cual fue cambiado por un nuevo estándar más sofisticado, llamado TCP/IP, publicado en
6
este año por Vint Cerf y Bob Kahn. TCP (Transmission Control Protocol) convierte
mensajes en cadenas de paquetes en el nodo de origen, y los ensambla de nuevo en el punto
de destino. IP (Internet Protocol) maneja el direccionamiento permitiendo que los paquetes
fueran ruteados a través de diferentes nodos y hasta de diferentes redes con varios
estándares, como Ethernet, FDDI y X.25.
1977. Comenzó a extenderse el uso de TCP/IP en otras redes para vincularse a
ARPANET, comenzando esta red a volverse más pequeña en comparación con la gran
cantidad de máquinas que comenzaron a conectarse. A fines de los años 70 y en los años
80, personas de diferentes grupos sociales tuvieron acceso a computadoras de gran
capacidad, siendo bastante fácil el conectarse a la creciente red de redes. Como el software
de TCP/IP es de dominio público, y por su misma naturaleza, descentralizante y hasta
anárquico, comenzó el auge de la conexión a Internet (derivado de International
Networking). Fue en esta época donde surgió USENET, el boletín electrónico más grande
del mundo, basándose en UUCP, tecnología desarrollada en los laboratorios Bell de AT&T,
junto con el sistema operativo UNIX, que al paso de los años, se ha convertido en el
sistema operativo estándar de todos las computadoras de mediano y gran tamaño
conectadas a Internet. También surgieron servicios enfocados a la diversión como el primer
MUD (Multi User Dungeon, juego de rol interactivo) en la Universidad de Essex.
1981. Surgió otro punto de desarrollo de estas redes, BITNET (Because It's Time
for NETwork), creado como red cooperativa, proveyendo a sus usuarios de correo
electrónico, listas de interés y transferencia de información y archivos.
La conexión a Internet tiene un mínimo costo, ya que cada nodo es independiente, y
maneja por sí mismo sus propias necesidades técnicas y financieras. De esta manera, la red
comenzó a extenderse, abarcando mayor número de gentes conectadas y de recursos. Así, la
comunicación a través de la computadora comenzó a ser indispensable.
1982. El Departamento de Defensa de los Estados Unidos declara como estándar al
conjunto TCP/IP, separándose de ARPANET la parte militar, MILNET, Dándose el auge
7
por las estaciones de trabajo de escritorio, con sistema operativo Berkeley UNIR
(desarrollado por la Universidad de Berkeley, en California), que incluye software de red
TCP/IP.
1984. NSF (National Science Foundation), a través de su Oficina de Cómputo
Científico Avanzado establece un nuevo avance técnico, al integrar S supercomputadoras a
través de enlaces más rápidos, impulsando así el desarrollo de Internet, y permitiendo una
mayor cantidad de conexiones, principalmente de universidades, con finalidades
académicas y de investigación. También surge el primer Freenet (acceso público a correo
electrónico y servicios de Internet en forma gratuita) en Cleveland. En este punto se inició
la organización de los dominios (o direcciones de Internet para las diferentes redes
conectadas) por sus ubicaciones geográficas, y los seis básicos: gov, mil, edu, com, org y
net, que corresponden a instituciones gubernamentales, militares, educacionales,
comerciales, no comerciales, y destinados a enlaces entre redes, respectivamente.
1988. Empiezan a surgir problemas en la red, como el caso del "virus" de Internet
(Internet Worm), que aprovechaba un error en el código de los programas de correo
electrónico, afectando a 6,000 de las 60,000 computadoras conectadas a Internet. Por este
motivo, DARPA crea el CERT (Computer Emergency Response Team), que genera
recomendaciones y alertas en caso de problemas dentro de la Red.
La comunicación personal tiene mayores posibilidades con el desarrollo de IRC
(International Relay Chat), que permite la conversación simultánea de varias gentes en todo
el mundo conectadas a esta red.
1989. México ingresó a Internet a través de NSFNET y contaba además con la red
BITNET, que permitía a usuarios del ITESM (Instituto Tecnológico de Monterrey) y la
UNAM (Universidad Autónoma de México) tener acceso a los recursos existentes en
Estados Unidos y el resto del mundo.
8
1990. Debido a su propio éxito, ARPANET se volvió obsoleto y deja de existir. Por
iniciativa de los usuarios, surgen las primeras organizaciones dedicadas a la protección de
los derechos de las personas conectadas a Internet. Este es el caso de EFF (Electronic
Frontier Foundation), y la primera organización que comercializa el acceso a Internet vía
modem: The World. Se implementan herramientas que catalogan y facilitan el acceso a
Internet: Archie, para la búsqueda de archivos accesibles mediante FTP (File Transfer
Protocol); Hytelnet, un catálogo de recursos y bibliotecas en línea accesibles mediante
telnet (terminal remota); WAIS (Wide Area Information Servers), para entregar
directamente documentos al usuario, solicitándolos a través de palabras clave; Gopher, para
ver la información a través de menús; PGP (Pretty Good Privacy), para dar seguridad y
privacía a los mensajes de la comunidad en la red; Verónica, un sistema de búsqueda
complementario a Gopher.
1991. Commercial Internet eXchange (CIX) Association, Inc., surge a partir de que
NSF levanta las restricciones que existían para el uso comercial de la Red.
1992. Es un año de profundos cambios dentro de Internet. Se funda Internet Society
(ISOC), para coordinar el uso de las tecnologías existentes en beneficio de todos los
usuarios. Se desarrolla en el CERN la tecnología de WWW (World Wide Web), que
permite un acercamiento más fácil a través de hipertexto a los recursos de Internet; también
se da la primera muestra de audio y video en tiempo real a través de la Red.
1993. InterNIC es creado por NSF para proveer servicios de información, así como
registros, directorios y bases de datos referentes a Internet. También el Presidente Bill
Clinton, su esposa Hillary y su vicepresidente Al Gore ingresan al WWW. En este
momento los medios masivos de comunicación tradicionales (televisión, radio, cine,
revistas y publicaciones) toman conciencia de Internet y sus implicaciones. Entonces hay
artículos en las revistas Time y Newsweek, además mereciendo reportajes en las cadenas
más importantes de televisión estadounidense. El crecimiento de la red se vuelve
exponencial. Mosaic, explorador de Internet desarrollado en la Universidad de Illinois
9
Urbane-Champagne, es el primero en aprovechar la gran capacidad del WWW, teniendo un
crecimiento anual de 341,634% en número de usuarios de esta herramienta.
1994. Internet cumple 25 años de servicio. Ahora hay comunidades completas
conectadas a Internet (Lexington y Cambridge, Mass., USA), el Senado de los Estados
Unidos provee información y los centros comerciales llegan a la red, como Internet Shop
Network y JCPenny. El auge es tal que surge servicios bancarios en la red, como First
Virtual y los negocios comienzan a prosperar, como el caso de Pizza Hut. No todo es
felicidad dentro de la red y surge el caso de Canter & Siegel, que, sin respetar las reglas de
cortesía de la red (conocidas como nettiquete), inundan USENET con anuncios sobre sus
servicios para inmigración, teniendo una respuesta hostil por parte de los ciudadanos de la
red (net.citizens).
1995. Los sistemas de servicios vía modem (Compuserve, Prodigy, Genie)
comienzan a ofrecer servicios de Internet. Gran cantidad de compañías relacionadas con la
red se vuelven públicas, encabezadas por Netscape, que tiene el tercer índice de ganancias
jamás conseguido en Wall Street. Los datos aquí proporcionados muestran la evolución de
Internet, en la cual se señala la gran diferencia que existe entre su estado actual y sus
orígenes. La red, que comenzó como un proyecto de sobrevivencia de la información ante
la posibilidad de un ataque nuclear, ha derivado en una red de redes, que comunica de
manera amplia y eficiente a un creciente número de personas. Alrededor de esta red se ha
generado una nueva cultura, la cybercultura, con su modo de pensar, de hablar, de sentir; un
mundo nuevo que aún falta mucho por explorar y que tiene un gran potencial. El Vaticano
aparece en línea (http://www.vatican.va/)
1996 La posibilidad de realizar llamadas telefónicas a través de Internet, captura la
atención de las empresas de telecomunicaciones, quienes empiezan a desarrollar la
tecnología. Varios sitios del gobierno norteamericano fueron hackeados cambiándoles su
contenido, incluyendo CIA, Department of Justice, Air Force
10
El Internet Ad Hoc Committee anunció planes de añadir 7 nuevos Dominios
genéricos de Alto Nivel que son: .firm, .store, .web, .arts, .rec, .info, .nom. La guerra de los
navegadores iniciada entre Netscape y Microsoft, ha generado una nueva era en el
desarrollo de software, ya que constantemente se están ofreciendo nuevas versiones
mejoradas con la ayudad de usuarios en Internet que prueban las versiones beta de cada
producto.
Restricciones en el uso de Internet alrededor del mundo:
•
China: Usuarios y proveedores deben registrarse ante la policía
•
Alemania: Limitación de acceso a algunos grupos de noticias
•
Arabia Saudita: Confinado el uso de Internet en Universidades y
Hospitales
•
Singapur: Para registrar un ISP en necesario colocar contenido político y
religioso
1997 2000th RFC: "Internet Official Protocol Standards" 71,618 listas de correo
registradas en Liszt El American Re gistry for Internet Numbers ARIN) es establecido para
manejar la administración y registro de números IP para áreas geográficas, actualmente
realizado por el InterNIC. Iniciaría su funcionamiento en Marzo de 1998
2.2 Desarrollo de Internet en México
El Primer Nodo Internet instalado en México
La historia del Internet en México empieza en el año de 1989 con la conexión del
Instituto Tecnológico y de Estudios Superiores de Monterrey, en el Campus Monterrey,
(ITESM) hacia la Universidad de Texas en San Antonio (UTSA), específicamente a la
escuela de Medicina. Una Línea privada analógica .de 4 hilos a 9600 bits por segundo fue
el enlace.
Conexiones a BITNET en México
11
Sin embargo, antes de que el ITESM se conectara a Internet, casi al final de los 80's,
recibía el tráfico de BITNET por la misma línea privada. El ITESM era partícipe de
BITNET desde 1986.
Las conexiones se hacían a través de líneas conmutadas. La conexión permanente
de esta institución se logró hasta el 15 de Junio de 1987 ( a BITNET y posteriormente a
INTERNET).
La UNAM se conectó a BITNET en Octubre de 1987.
En Noviembre de 1988 se cambió la conexión permanente que interconectaba equipo IBM
con RSCS, a equipos DEC utilizando DECNET. A1 cambiar el protocolo se tenía la
posibilidad de encapsular tráfico de TCP/IP en DECNET y por lo tanto formar parte de
INTERNET.
Al siguiente año, en 1989, se cambió de una a tres líneas. Con ello, se cambió el
equipo de interconexión y se incorporaron los equipos de ruteo CISCO. Las conexiones
siguieron siendo con la UTSA.
Primeras computadoras conectadas a INTERNET
La máquina que recibía la conexión de DECNET era una Microvax-II con la
dirección 131.178.1.1 ( desde Septiembre de 1993 se encuentra fiera de operación en el
ITESM, Campus Monterrey ). Esta máquina tenía un software que recibía el tráfico de
TCP/IP encapsulado en DECNET, lo sacaba y permitía acceder Internet.
Además de ser el primer nodo de Internet en México, pasó a ser el primer Name
server para el dominio .mx.
La UNAM como segundo nodo y su interconexión con el ITESM
12
El segundo nodo Internet en México fue la Universidad Nacional Autónoma de
México, en el Instituto de Astronomía en la Ciudad de México. Esto mediante una conexión
vía satélite de 56 Kbps, con el Centro Nacional de Investigación Atmosférica ( NCAR ) de
Boulder, Colorado, en los Estados Unidos de Norteamérica. Por lo tanto, se trataba de una
línea digital.
Después de esto, lo que proseguía era una interconexión entre la UNAM y el
ITESM (Campus Monterrey ), pero lo que funcionó en ese entonces fue un enlace BITNET
entre ellos. Claro, usando líneas privadas analógicas de 9600 bps.
El ITESM, Estado de México, se conecta a Internet
El ITESM, en su Campus Estado de México, se conecta a través del Centro de
Investigación Atmosférica ( NCAR) a Internet. Como la UNAM, obtiene una conexión
satelital de 56 kbps, es decir, enlace digital. La función de este enlace es dar servicio a los
demás ITESM, diseminados a través de todo el país.
Conexiones posteriores
El ITESM, Campus Monterrey, promovió y logró que la Universidad de las
Américas (UDLAP) en Cholula, Puebla y el Instituto Tecnológico y de Estudios Superiores
de Occidente (ITESO) en Guadalajara, Jalisco, se enlazaran a INTERNET a través del
mismo ITESM.
Aunque sus enlaces eran de baja velocidad, 9600 bps, fue suficiente, en ese
momento, para proveer de correo electrónico, transferencia de archivos y acceso remoto. .
Debido al crecimiento registrado en Internet, la National Science Fundation, en los
Estados Unidos, requería de una respaldada red de telecomunicaciones para todos aquellos
países que se integraban a Internet, por lo tanto, se tomaron algunas decisiones en México,
13
como la de formalizar el uso de IGRP entre los ruteadores y revisar detalladamente la
asignación de ASN ( Authonomous Systems ).
La Universidad de Guadalajara, obtiene una conexión a Internet con la Universidad
de California en Los Ángeles. Esta era una línea privada de 4 hilos a 9600 bps. Estaban
bajo el dominio de UCLA y con direcciones de IP también de la UCLA.
Las demás instituciones, en ese tiempo, accesaban Internet por medios conmutados.
Tal es el caso de Colegio de Postgraduados ( COLPOS ) de la Universidad de Chapingo, en
el Estado de México. El Centro de Investigación en Química Aplicada, con sede en Saltillo,
Coahuila. El Laboratorio Nacional de Informática Avanzada de Xalapa, Veracruz. Todos
ellos se conectaban al ITESM, Campus Monterrey para salir a Internet.
La Universidad de Guanajuato - Precursor de RUTYC - en Salamanca, Guanajuato,
se enlazaba a la UNAM. El Instituto Tecnológico de Mexicali, en Baja California; se
conectaba a la red de BESTNET.
Formación de MEXNET
En este entonces existía un organismo llamado RED-MEX, formado principalmente
por la academia, y es donde se discutieron las políticas, estatutos y procedimientos que
habrían de regir y dirigir el camino de la organización de la red de comunicación de datos
de México. Esta debería ser una Asociación Civil.
De esta manera es como surge MEXNET, el lugar fue la Universidad de
Guadalajara. El Motivo, crear a la asociación civil. El día 20 de Enero de 1992. Los
participantes: ITESM, Universidad de Guadalajara, Universidad de las Américas, ITESO,
Colegio de Postgraduados, LANIA, CIQA, Universidad de Guana juato, Universidad
Veracruzana, Instituto de Ecología, Universidad Iberoamericana, IT de Mexicali.
14
Crecimiento de Internet en México
Tiempo más tarde, el primero de Junio de 1992, MEXnet establece una salida
digital de 56kbps al Backbone de Internet.
El crecimiento de MEXNET fue registrando a usuarios como: UdeG, IPN,
CINVESTAV, UdeC, UdeM, INAOE, en 1992; UAM, UAG, Universidad Panamericana,
CIMIT, UAP, UA de Chapingo, UAAAN, COMIMSA, UASLP, Universidad Veracruzana,
UANL y Universidad Autónoma de Puebla entre otros, esto durante 1993.
BAJAred se empieza a constituir con las siguientes instituciones educativas, todas
ellas de Baja California:
• Centro de Enseñanza Técnica y Superior - CETYS.
• Centro de Investigación Científica y Educación Superior de Ensenada
CICESE.
• Universidad Autónoma de Baja California - UABC.
• Colegio de la Frontera Norte - COLEF, e
• Instituto Tecnológico de Mexicali - ITM
En 1993 el CONACyT se conecta a Internet mediante un enlace satelital al NCAR.
El ITAM hace lo propio el 18 de Enero de 1993.
Es en 1993 cuando la UAM se establece como el primer NAP, al intercambiar
tráfico entre dos diferentes redes.
Para finales de 1993 existían una serie de Redes ya establecidas en el País, algunas
de ellas:
• MEXnet
• Red UNAM
15
• Red ITESM
• RUTyC, que desaparecería como tal ese mismo año
• BAJAnet
• Red Total CONACYT
• SIRACyT, un esfuerzo por agrupar las anteriores
Fue hasta 1994, con la formación de la Red Tecnológica Nacional ( RTN ),
integrada por MEXnet y CONACyT que el enlace creció a 2Mbps ( E1 ). Y es en este año
que el Internet se abre a nivel comercial en nuestro país PIXELnet, ya que hasta entonces,
solamente instituciones educativas y de investigación lograron realizar su enlace a Internet.
Durante 1994 y 1995, se consolidaron redes como RTN creando un Backbone
nacional y agrupando a un gran número de instituciones educativas y comerciales en toda la
República, desde Baja California hasta Quintana Roo. Se mantuvieron esfuerzos de la Red
UNAM y surgieron los ISP's comerciales con más fuerza, los cuales no sólo brindaban
conexión a Internet sino servicios de valor agregado, tales como acceso a Bases de Datos
públicas y privadas.
Así el Centro de Ciencias de Sinaloa a partir del 15 de marzo de 1994 realiza las
últimas pruebas de funcionamiento, del enlace vía RDI Conacyt D.F.-Centro de Ciencias de
Sinaloa lo que permite que su red local/regional quede conectada al segmento de la RTN
con el número de subred 148.207.16.0 y con dominio(ccs.conacyt.mx). Con este hecho el
Centro de Ciencias de Sinaloa queda constituido como "Institución Nodo Regional" de la
RTN. Actualmente su dominio es (ccs.net.mx).
Consolidación de los servicios de Internet en México
En Diciembre de 1995 se hace el anuncio oficial del Centro de Información de
Redes de México ( NIC-México ) el cual se encarga de la coordinación y administración de
los recursos de Internet asignados a México, tales como la administración y delegación de
los nombres de dominio ubicados bajo .MX.
16
En 1996, ciudades como Monterrey, N.L., registran cerca de 17 enlaces E1
contratados con TELMEX para uso privado. Se consolidan los principales ISP's en el país,
de los casi 100 ubicados a lo largo y ancho del territorio nacional.
En los primeros meses, tan sólo el 2% de los hosts totales ( 16,000) ubicados bajo
.mx tienen en su nombre las letras WWW.
Nace la Sociedad Internet, Capítulo México, una asociación internacional no
gubernamental no lucrativa para la coordinación global y cooperación en Internet. Se crea
el Computer Emergency Response Team de México.
A finales de 1996 la apertura en materia de empresas de telecomunicaciones y
concesiones de telefonía de larga distancia provoca un auge momentáneo en las conexiones
a Internet. Empresas como AVANTEL y Alestra-AT&T ahora compiten con TELMEX.
En 1997 existen más de 150 Proveedores de Acceso a Internet ( ISP's ) que brindan
su servicio en el territorio mexicano, ubicados en los principales centros urbanos: Cd. de
México, Guadalajara, Monterrey, Chihuahua, Tijuana, Puebla, Mérida, Nue vo Laredo,
Saltillo, Oaxaca, por mencionar sólo algunos.
17
CAPÍTULO III
PROTOCOLO TCP/IP
PROTOCOLOS Y SERVICIOS
18
3. PROTOCOLO TCP/IP
3.1 Conceptos básicos
Qué es un host
En Internet se llama host a cualquier ordenador conectado a la red y que dispone de
un número IP y un nombre definido, es decir, cualquier ordenador que puede enviar o
recibir información a otro ordenador. Host suele traducirse al castellano como anfitrión.
Otros términos que se utilizan con frecuencia son ordenador local y ordenador
remoto. Ordenador local se refiere por lo general al ordenador que el usuario está usando en
primera instancia, a través del cual se establece una conexión con otro ordenador al que se
solicita un servicio, éste último es el ordenador remoto.
3.2 La familia de protocolos TCP/IP
La red Internet se basa en la utilización de los protocolos TCP/IP que son las
normas que posibilitan la interconexión de ordenadores de diferentes fabricantes utilizando
todo tipo de tecnología (Ethernet, líneas telefónicas conmutadas o dedicadas, X25,RDSI...).
Esta familia está formada por más de 100 normas o protocolos que no dependen de
ningún fabricante y son estándar. Los dos protocolos más importantes son IP (Internet
Protocol) y TCP (Transmision Control Protocol).
El Protocolo IP: define una red de conmutación de paquetes donde la información
que se quiere transmitir está fragmentada en paquetes. Cada paquete se envía a la dirección
del ordenador destino y viaja independientemente del resto. La característica principal de
los paquetes IP es que pueden utilizar cualquier medio y tecnología de transporte. Los
19
equipos que conectan las diferentes redes y deciden por donde es mejor enviar un paquete
según el destino, son los routers o direccionadores.
El Protocolo TCP: se encarga de subsanar las deficiencias en la llegada de los
paquetes de información a su destino, para conseguir un servicio de transporte fiable.
Este mecanismo de funcionamiento requiere que todos los ordenadores conectados
tengan direcciones distintas.
3.3Las direcciones TCP/IP
Cada ordenador conectado a la red de redes tiene una dirección asociada (dirección
Internet)1 . Estas direcciones son números de 32 bits que normalmente se escriben como w.
x. y. z donde w, x, y, z son números menores de 255.
Una parte de la dirección identifica la red entre todas las redes conectadas a Internet
y es la que utilizan los routers para encaminar los paquetes hacia su destino. La otra parte
de la dirección identifica en forma particular a un ordenador de los conectados en la misma
red.
Una dirección Internet identifica una interfaz de red. Las aplicaciones dentro de un
ordenador se identifican mediante un número contenido en la cabecera de los paquetes
TCP/IP, llamado puerto.
Aunque podamos utilizar estas direcciones Internet numéricas para. acceder a los
servicios y ordenadores, normalmente utilizamos nombres que son más fáciles de recordar.
Esto es posible mediante la utilización del servicio de nombres de Internet o DNS (Domain
Name System) que traduce los nombres a direcciones numéricas.
___________________________
1
Las direcciones Internet se asignan a las tarjetas de interfaz de red, por lo que un ordenador puede
tener tantas direcciones Internet como interfaces de red tenga instaladas.
20
El DNS es una base de datos distribuida de forma jerárquica, por toda la red y que
es consultada por las aplicaciones para traducir los nombres a direcciones numéricas. Esta
jerarquía permite distribuir la responsabilidad de garantizar que no existen no mbres
repetidos dentro del mismo nivel o dominio ya que el administrador de cada nivel es
responsable del registro de nombres dentro de su nivel y garantiza que éstos sean únicos.
3.4 Estratificación de protocolos en TCP/IP
Actualmente el TCP/IP es utilizado en la mayoría de los sistemas operativos como
principal opción en la conexión en red con otras computadoras, convirtiéndose por lo tanto
en una pieza fundamental en la interoperabilidad de redes.
Es posible desarrollar usando TCP/IP una aplicación para ejecutarse en Internet y
que ésta se comunique con otra aplicación en Internet que se ejecute en otro sistema
operativo diferente que implemente TCP/IP como protocolo para la conexión en red, hay
que tomar en cuenta que dichas redes pueden no estar directamente conectadas, y por lo
tanto que los datos enviados de una aplicación a otra tengan que atravesar múltiples redes
con diferente hardware de interconexión, siendo el trabajo de TCP/IP, ocultar dichas
diferencias para lograr formar una red virtual.
MODELO OSI
TCP / IP
21
3.5 Servicios de la capa de APLICACIÓN
En el nivel más alto del conjunto de protocolos, que se conoce como nivel de
aplicación, existen una serie de protocolos que son los que proporcio nan los servicios de
red al usuario.
TELNET
El servicio de Telnet se basa en el protocolo VTN (Virtual Terminal Network»,
Terminal Virtual de Red, permite a dos nodos de TCP/IP interactuar a través de una interred
como si una terminal estuviera directamente conectada.
FTP
El servicio Protocolo de Transferencia de Archivos, (File Transfer Protocol), provee
transferencia de archivos. Basado en el FTP un cliente local se puede conectar a otro
servidor en la interred para enviar o recibir archivos, enlistar directorios y ejecutar
comandos sencillos en la máquina remota. A1 igual que el Telnet, FTP se implanta dentro
de una sesión de terminal.
NFS
El servicio (Network File System), Sistema de Archivos Vía Red. Desarrollado por
SUN Microsystems, el NFS ofrece acceso directo a datos almacenados en un servidor
remoto. NFS hace que una carpeta o directorio en el servidor NFS aparezca como un
volumen local en el escritorio del cliente , de forma que los archivos en el servidor NFS
puedan utilizarse como si estuvieran en el disco local.
22
NIS
NIS,
(Network
Information
System), Sistema
de
Información
de
Red.
Anteriormente conocido como yellow pages (páginas amarillas) es un servicio de
autentificación utilizado frecuentemente para complementar los servicios NFS. Proporciona
una base centralizada de las cuentas de los usuarios y los nodos, la cual puede ser
consultada por otros nodos de la red.
Gopher
Significa ardilla de tierra y es un FTP mejorado (del ingles go for, ve y trae). Se
creó en la Universidad de Minnesota como alternativa para localizar y copiar archivos del
sistema central o host. A diferencia de FTP, no se requiere conocer el nombre servidor del
que se desea copiar un archivo. El servidor gopher se encarga de informar al cliente gopher
del verdadero destino de algún archivo para que pueda realizar la conexión y recuperar los
datos. Esta flexibilidad simplifica la búsqueda y recuperación de datos.
SMTP
SMTP, (Simple Mail Transfer Protocol), Protocolo Sencillo para la Transferencia
de Correo. Sirve para enviar mensajes de correo electrónico al servidor de correo de la red.
POP
POP, (Post Office Protocol), (Instrucciones que permiten recuperar un elemento del
servidor). Permite acceder el correo electrónico almacenado en un servidor.
WWW
(World Wide Web), Red Mundial Amplia. Es similar al gopher en cuanto que
permite acceder información almacenada en muchos nodos diferentes, pero ofreciendo una
23
interfase más amigable con imágenes sonido animaciones, video y ligas de tipo hipertexto a
otros documentos. El primer software cliente para WWW lo desarrolló la NCSA (Centro
Nacional de Aplicaciones de Supercómputo), y se llamó MOSAIC.
24
CAPÍTULO IV
WINDOWS NT
INTERNET INFORMATION SERVER
25
4. WINDOWS NT: INTERNET INFORMATION SERVER
4.1 Características del US (Internet Information Server)
•
IIS está incluido con Windows NT Server.
•
El procedimiento de instalación está completamente integrado con Windows NT
Server. Un asistente le guía durante la instalación, asegurando que su sitio WEB
esté ejecutándose en minutos.
•
Todas las labores de gestión y configuración se realizan con las mismas
herramientas de administración de Windows NT Server, por lo que no tiene que
aprender nuevas herramientas y utilidades. Hay también una herramienta de
administración basada en HTML para la gestión remota de su servidor Web.
•
IIS soporta las herramientas de administración SNMP, así como el Systems
Management Server.
•
IIS usa los servicios de directorio incorporados en Windows NT, facilitando así la
gestión global de usuario y seguridad desde un lugar centralizado.
•
IIS ofrece los más altos niveles de prestaciones y escalabilidad en Windows NT
Server. De acuerdo a pruebas realizadas por terceras partes, como Shiloh
Consulting, Internet Information Server es el servidor Web más rápido que puede
adquirir para Windows NT Server y tiene la mejor relación precio/prestaciones de
los servicios Web en cualquier plataforma, incluyendo servidores UNIR más caros.
•
IIS soporta SSL 2.0 y 2.3, permitiendo comunicaciones seguras y la autenticación
de usuarios con certificados digitales.
•
IIS ofrece la más amplia funcionalidad disponible para un servidor Web.
26
ü Netshow permite ofrecer contenidos multimedia en directorio y bajo demanda con IIS,
facilitando la creación de páginas dinámicas y ricas en contenido. Lo necesario para
escenarios de teleformación en su Intranet e Internet.
ü Index Server le ofrece la más potente máquina de búsqueda disponible para Windows
NT Server. Indexa automáticamente páginas HTML y otros documentos en sus servidores
Intranet, como los creados con Microsoft Office. La búsqueda de información es así más
fácil sin recargos adicionales. Además, soporta 7 lenguajes a la vez y numerosos formatos
de archivos.
ü Microsoft FrontPage 97 está incluido con Windows NT Server, permitiendo a los no
programadores y desarrolladores experimentados crear y gestionar sitios Web
profesionales. La arquitectura cliente/servidor de FrontPage permite que esto se realice
desde su escritorio, a través de una red corporativa, o incluso Internet.
ü Crystal Reports proporciona a los administradores una potente herramienta de análisis
de archivos de log, y un número de informes prediseñados. Esto le ayuda a determinar
fácilmente las páginas más populares de su sitio Web, las horas de tráfico punta, y mucho
más.
•
IIS también incorpora los servicios para sitios Gopher y FTP.
•
IIS facilita la creación de potentes soluciones basadas en la Web.
ü Active Server Pages permite a su servidor Web crear HTML dinámicamente
combinando scripts y componentes. IIS también soporta aplicaciones WinCGI, CGI e
ISAPI.
ü Soporta cualquier lenguaje . Soporte incorporado para Jscript y Microsoft Visual Basic
Scripting. Plug-ns disponibles para PERL y REXX. Los componentes pueden crearse en
27
Java, Microsoft Visual Basic, C++, o COBOL. IIS incluye la máquina. virtual, Java para
servir aplicaciones Java.
ü Neutral respecto al navegador. Con el componente de detección del navegador, puede
determinar las capacidades del cliente, y generar dinámicamente el código HTML para
acomodarse a la mayor audiencia posible.
ü Libre de compilación. Puede cambiar fácilmente su sitio Web sin tener que recompilar.
Active Server Pages le proporciona compilación "just- in-time".
ü Conectividad a bases de datos. Conecte sus páginas Web a bases de datos existentes
con Active Data Object (ADO). ADO le permite utilizar cualquier base de datos
compatible con ODBC. IIS tiene a su disposición más herramientas de desarrollo que
cualquier otro servidor. Web, como Microsoft Visual InterDev y otras herramientas
visuales, así como numerosas de terceros para crear soluciones basadas en Active Server
Pages.
Extensible. Dado que Intemet Information Server es extensible, puede usarlo para conectar
su explorador Web a cualquiera de sus aplicaciones Microsoft BackOffice.
Windows NT Server 4.0 incluye IIS 2.0.
•
IIS 3.0 viene en SP2 (Service Pack 2 para Windows NT Server 4.0), es gratuito para
clientes de NT Server.
28
4.2 ARQUITECTURA IIS
4.1 Arquitectura del IIS
Dado que HTTP es un protocolo sin conexión (connectionless), se efectúa una
conexión para obtener cada objeto de la página solicitada por la computadora cliente. Una
vez que la página fue levantada en la computadora, la conexión se pone en standby hasta
que el usuario efectúe una operación que requiera de esa conexión.
Cuando la conexión es requerida, por ejemplo el usuario hace click sobre un
gráfico, el navegador envía un mensaje para establecer la conexión. El software del
navegador se comunica con TCP, y éste último comienza con el proceso de preparar el
frame. Cuando el frame está listo, es enviado a través de Internet al puerto correspondiente
del server. El paquete de datos es removido del frame y enviado a HTTP en la capa de
aplicaciones. HTTP obtiene los datos del sistema de archivos. Los datos realizan la travesía
inversa para volver al cliente. El gráfico es construido (levantado) en la computadora
cliente.
29
IIS usa caché para optimizar la transferencia de datos al cliente.
Cuando se accede a un archivo, IIS lo guarda en la caché, los archivos se conservan
en la caché hasta que ésta esté llena. Cuando la caché se llena, los archivos más viejos son
removidos. Este sistema implica que los archivos más frecuentemente usados se conservan
en memoria RAM, lo que ayuda a acelerar la transferencia de datos al cliente.
FTP funciona de manera similar a HTTP, sin embargo cuando se inicia una sesión
FTP se establece una conexión entre el cliente y el servidor. La conexión se mantiene
abierta hasta que el usuario la cierre. Cuando se efectúa una solicitud FTP, el procedimiento
es el mismo hasta que se alcanza la capa de aplicaciones. La solicitud es entonces enviada a
FTP, que se encarga de la caché y del sistema de archivos. Si se efectúa una solicitud
Gopher, opera de la misma manera, la solicitud llega a la capa de aplicaciones de la IIS y
luego enviada a Gopher ; Gopher se encarga entonces de la caché y del sistema de archivos.
4.3 SERVICIOS DE PUBLICACIÓN
FTP
Este servicio de publicación proporciona los servicios estándar del Protocolo de
Transferencia de Archivos (FTP) para servidores basados en Windows NT . La
Transferencia de Archivos permite que sean transferidos archivos de texto o archivos
binarios por medio de conexiones de TCP/IP. FTP usa el protocolo TCP, un protocolo
orientado a conexión que requiere la instalación de un circuito virtual entre el cliente y el
servidor FTP.
El Servicio de Publicación FTP es una versión mejorada del servicio que
actualmente se incluye en el Servidor de Windows NT.
Las mejoras incluyen:
• Hacer alias de los directorios.
30
• Verdaderos Directorios "Raíz".
• Autenticación de Usuarios mejorada
• FTP "Pasivo"
Gopher
Este servicio es una implementación estándar del servicio de Gopher. Gopher
permite búsquedas en directorios y vínculos a otros directorios y/o servicios, ambos en el
mismo servidor o para un servidor localizado en cualquier parte desde donde el usuario
pueda conectarse.
Gopher proporciona algunas de las características que tienen los servidores de Web,
incluyendo los vínculos a otros servidores, la habilidad de reconocer un tipo de archivo y
asociar ese tipo con una aplicación y automáticamente bajar el archivo, activando la
aplicación con el archivo cargado.
World Wide Web
Este servicio, conocido también como WWW, permite que los documentos sean
servidos desde el servidor basado en Windows NT a cualquier usuario con un buscador
WWW, proporcionando acceso "point-and-click" a la información en ese servidor y
vínculos a otros archivos y directorios world-wide con el uso de URL's (Uniform Resource
Locators).
4.4 CARACTERÍSTICAS DEL IIS
SERVIDORES VIRTUALES
Los servidores virtuales, también conocidos como servidores Multi- Homed,
proporcionan a una instancia simple del Servicio de Publicación del World Wide Web la
habilidad de atender peticiones de clientes y hacer que la respuesta venga de diferentes
31
servidores. Esto permite que un cliente haga la petición de un archivo desde un servidor
WWW como:
http://abc.com/default.httn
y pedir un diferente archivo desde un URL diferente tal como:
http://xyz.com/index.htm
En el cual esos archivos son actualmente proporcionados desde el mismo servidor
de publicación WWW. Esto permite, que para Intranet con un sólo servidor poderoso que
se instale, pueda ser representada cierta cantidad de "sitios" diferentes.
Instalar Servidores Virtuales requiere entradas únicas en el servidor DNS que sea
autoritario para los dominios afectados.
Creación de alias para directorios
Creación de Alias para Directorios es la habilidad de crear vínculos a los directorios
que se presenten al cliente como subdirectorios del directorio original del servidor. Estos
son, de hecho, directorios que se localizan dentro de un directorio árbol diferente, un
volumen diferente, o un servidor completamente diferente.
Administración remota
Tal como en la mayoría de las herramientas administrativas para servidores basados
en Windows NT, el Internet Service Manager permite la administración remota de
cualquiera de los servicios del Internet Information Server para ser controlados y
configurados desde una estación de trabajo, un servidor remoto basado en Windows NT, o
desde un paginador.
32
Registro
El Internet Information Server, permite el registro del acceso a los servicios así
como a una base de datos SQL/ODBC, o a un archivo. Con la opción de registro a un
archivo seleccionada, el administrador puede escoger el directorio en el cual desea colocar
los archivos de registro y el criterio para crear un nuevo archivo de registro: ya sea crear un
nuevo archivo en un periodo de tiempo dado (día, semana, mes), o crear un archivo nuevo
cuando el archivo existente alcance un tamaño predeterminado.
CONFIGURACIÓN USANDO PÁGINAS DE PROPIEDAD
La configuración de estas opciones se lleva a cabo por medio del Internet Service
Manager, seleccionando File/Properties las hojas de propiedades para el Servicio de
Publicación seleccionado.
INTERNET SERVICE MANAGER
El Intemet Service Manager (ISM) proporciona la interfase para manejar los
servicios del US. El ISM permite la administración remota de los servidores, incluyendo la
habilidad para empezar, terminar, o pausar el servicio.
El ISM permite que el administrador seleccione el servidor a manejar, o buscar otras
las instalaciones del US. Pueden seleccionarse diferentes vistas de los servicios de los
servidores dependiendo de las preferencias del administrador. Los servicios pueden ser
agrupados por servidor o por estado del servicio ( es decir, corriendo, detenidos o
pausados). Cualquiera de los tres, o todos los servicios a la vez pueden ser desplegados.
33
SELECCIONES DE ORDENAMIENTO
La información desplegada puede ser ordenada por medio de la selección de
opciones desde el menú de View, o bien dando click en la aplicación en los encabezados de
las columnas.
Las opciones de ordenamiento son por:
Computadora
Servicio
Estado (de servicio)
Comentarios
BARRA DE HERRAMIENTAS DEL ISM
Conexiones de Servidor
•
Connect to Server. Permite al administrador seleccionar un IIS específico al cual
conectarse.
•
Find Information Server. Al seleccionar este icono se hará una búsqueda. en la red
de cualquier IIS.
•
Properties. Esta opción traerá la Página de Propiedades para el servicio seleccionado.
Estado de Servicio
•
Start Service. Esta selección empezará un servicio detenido o continuará un
servicio que estaba en pausa.
•
Stop Service. Esta opción detendrá un servicio que está corriendo o en pausa.
•
Pause Service. Esta opción pondrá en pausa un servicio que esté corriendo o
continuará un servicio que estaba en pausa.
34
Vistas del Servidor
Cualquiera de estos tres botones son intercambiables. Si están seleccionados, los
servicios de esa categoría se muestran, de lo contrario no son desplegados.
•
View FTP Servers - Despliega los servidores FTP disponibles.
•
View Gophe r Servers - Despliega los servidores Gopher disponibles.
•
View WWW Servers - Despliega los servidores WWW disponibles.
4.5 REQUERIMIENTOS DE INSTALACIÓN
Hardware
Los primeros requerimientos de hardware para soportar el IIS es que todo el
hardware soporte Windows NT para esto se puede consultar la Lista de Compatibilidad de
Hardware más reciente.
Las recomendaciones para el hardware comienzan con requerimientos mínimos y se
incrementarán de acuerdo al uso del servidor.
Software
El software requerido para soportar la instalación del IIS será el siguiente:
•
Windows NT versión 4.0
•
Red TCP/IP instalada y trabajando.
•
Sistema de Archivos NTFS.
El NTFS se requiere para las extensiones del Servidor Frontpage, para que
proporcione seguridad en los Webs que estén expuestos a FrontPage y a Visual InterDev.
35
Se requiere software para crear y administrar las páginas de World Wide Web.
Cuentas
Las cuentas deben ser creadas con los derechos y permisos mínimos requeridos para
permitir el acceso a los servicios proporcionados desde este servidor. La cuenta que IIS usa
por defecto para que los usuarios accedan los servicios es IUSR nombre-del-servidor. IUSR
nombre del servidor es creada por el programa de instalación y colocada en el Grupo local
de invitados.
Entradas DNS
Si en la Intranet existe un servidor DNS, una. entrada DNS será requerida para cada
Servidor Virtual que sea definido dentro del servidor y cada servicio tendrá su propia
entrada. Otros tipos de resoluciones de nombre incluyen archivos HOST, servidores WINS
con clientes configurados para usar aquellos servidores para resolver nombres HOST, etc.
4.6 PROCESO DE INSTALACIÓN DEL IIS
Durante el proceso de instalación de Windows NT Server 4.0, se ofrece la
oportunidad de instalar IIS. Si no se instala IIS durante la instalación de Windows NT
Server 4.0, un shortcut para la instalación de IIS es puesto en el escritorio.
Para instalar IIS desde el shortcut de el escritorio:
1. Dar doble click en el shorteut.
2. En el cuadro de dialogo de la instalación de IIS , teclear la ruta a los archivos de
Windows NT Server.
3. Seleccionar O.K.
4. En el cuadro de dialogo de instalación seleccionar O.K.
5. En el cuadro de dialogo de Instalación, verificar los servicios y opciones a instalar.
36
6. Seleccionar O.K. para aceptar las opciones de instalación.
7. Seleccionar Yes en el prompt del cuadro de dialogo para crear el directorio:
C:\WINNT\SYSTEM32\INETSRV
8. Confirmar los Directorios de publicación para los servicios de publicación de World
Wide Web, FTP y Gopher y selecciona O.K.
9. Selecciona Y es en el prompt de diálogo para crear los Directorios de Publicación.
Opciones de Instalación
El segundo cuadro de diálogo presentado durante la instalación permite al
administrador seleccionar los servicios y opciones que serán instalados en la base de datos
actual del servidor basado en Windows NT.
La sección de Opciones proporciona siete selecciones:
• Internet Service Manager. Puede ser instalado por sí mismo para permitir el
manejo de una instalación de IIS existente.
• World Wide Web. Instala y configura para inicializar automáticamente el Servidor
WWW.
• Gopher Server. Instala y configura para inicializar automáticamente el Servidor
Gopher.
• FTP Server. Instala y configura para inicializar automáticamente el Servidor FTP.
• ODBC Drives and Administration. Ofrece controladores ODBC para la
instalación, e instala el ODBC Configuration Manager.
• Help and Sample Files. Instala los archivos de ayuda formateados en HTML y los
archivos de ejemplo de aplicación (Tales como acceso ODBC, Formas, etc.)
• Internet Service Manager (HTML). Instala páginas de HTML las cuales permiten
administrar el IIS remotamente a través de HTTP.
37
Opción para el Directorio de Instalación
Al seleccionar el botón de Change Directory se le permitirá al administrador
cambiar el directorio de instalación para el IIS.
Espacio Requerido/Disponible
El espacio requerido en el directorio de instalación será presentado al administrador.
Este es únicamente el espacio requerido para el software del IIS y no incluye ningún
directorio que vaya a ser compartido.
Directorios de Publicación
El siguiente paso en el proceso de la instalación es seleccionar los directorios que
serán usados como los directorios raíces por defecto para cada servicio que sea
seleccionado para la instalación.
El administrador puede seleccionar directorios que existan actualmente y estos
directorios pueden ser aumentados con archivos. El programa de instalación no copia
ningún archivo del Directorio de Publicación FTP o del Directorio de Publicación de
Gopher, pero copiará un archivo default.htm para el Directorio de Publicación WWW
llamado SAMPLES.
Si el Directorio de Publicación WWW está instalado, un directorio adicional será
creado en el mismo drive llamado SCRIPTS que contendrá los mismos scripts.
Instalación del Controlador ODBC
Si el controlador de instalación es seleccionado en la pantalla de opciones, se le
pedirá al administrador que seleccione uno o más controladores ODBC para instalar con el
servidor.
38
Para seleccionar, simplemente se ilumina el controlador deseado y seleccionar el
botón de OK para instalar el controlador seleccionado.
La opción avanzada en el cuadro de dialogo de instalación del ODBC presentará el
Administrador con opciones para verificación de versión. Regularmente la verificación de
versión no debe ser cambiada de su estado original.
Los defaults asegurarán que las últimas versiones de los controladores y traductores
sean instaladas en el servidor.
39
CAPÍTULO V
CGI, WIN-CGI, SERVLETS
40
5. CGI, WIN-CG19 SERVLETS
5.1 CREACIÓN DE PROCESOS SERVIDORES HTTP
Es posible crear interacción entre las páginas HTML visualizadas en un navegador
cliente y el servidor HTTP, usando alguna de las siguientes opciones:
• Aplicaciones CGI
• Servlets JAVA
5.1.1 APLICACIONES CGI
Existen tres categorías que agrupan a los documentos disponibles en el WWW, siendo el
momento en que se define el contenido del documento lo que determina la categoría a la
que pertenece, pudiendo ser alguna de las siguientes:
• Documentos estáticos
• Documentos dinámicos
• Documentos activos
Documentos estáticos:
Estos documentos residen en un servidor WEB, como archivos asociados a éste, su
contenido se define al momento de ;escribirse y por lo tanto cada vez que se solicite el
documento estático el resultado será el mismo.
Documentos dinámicos
Estos documentos WEB no existen, son creados por el servidor WEB cuando un
navegador los solicita. El servidor WEB ejecuta un programa como resultado de la petición,
dicho programa genera el documento que será devuelto como respuesta a la solicitud,
pudiendo ser diferente el contenido del generado entre una petición y otra.
41
Documentos activos
Estos documentos no son totalmente especificados por el servidor, contiene
programas que pueden realizar cálculos y presentar valores. Como respuesta a una solicitud
de un navegador el servidor WEB devuelve como parte del documento un programa que se
ejecutara en forma local. La apariencia y contenido del documento puede cambiar como
resultado de la interacción del usuario con el programa recibido.
Ventajas y desventajas de los documentos estáticos:
Ventajas:
• No se requiere saber programar para crear un documento estático
• Una vez creado y probado será valido de manera indefinida
• Se pueden copiar a caché para responder a solicitudes futuras
Desventajas:
• Deben modificarse cada vez que se desee que cambie su contenido
• Los cambios pueden tardar
• No son útiles cuando la información a presentar cambia continuamente
Ventajas y desventajas de los documentos dinámicos
Ventajas:
• Presentar información actualizada:
ü Precios
ü Condiciones meteorológicas
ü Precios de acciones
Desventajas:
• Se requieren conocimientos de programación para generar un documento WEB
dinámico
• Una vez generado el documento su contenido no cambia, por lo tanto envejece
42
• Requiere más control para garantizar que el documento generado sea válido
Ventajas y desventajas de los documentos activos
Ventajas:
• Capacidad de actualizar continuamente la información presentada:
ü Precios
ü Presentación de imágenes animadas
Desventajas:
• Mayores costos de creación
• Mayores costos de ejecución: memoria, capacidad, características de equipo
• Falta de seguridad: se importa y exporta información al servidor WEB
Los requerimientos para implantar documentos dinámicos son los siguientes:
• Capacidad para ejecutar las aplicaciones que crearan los documentos dinámicos
• Escribir un programa de aplicación para cada documento dinámico
• Configurar el servidor para que reconozca cada URL ya sea dinámico o estático
NORMA CGI
CGI son las iniciales de Common Gateway Interface (Interfaz común de puerta de
enlace o interfaz común de paso), fue desarrollada por el Centro Nacional de Aplicaciones
de Supercómputo (NACSA) para emplearse en su servidor WEB. CG1 permite a un
servidor WEB ejecutar programas que serán capaces de generar documentos WEB
dinámicos y a los cuales se les llamará Programas CGI (también llamados CGI-bin). La
norma CG1 permite que el programador decida que lenguaje utilizar (FORTRAN, C , C++,
Perl , TCL, Delphi, etc), según las necesidades de programación.
43
La ejecución de un programa CGI no se limita a generar como salida documentos HTML,
ya que también se permite la creación de tipos arbitrarios de documentos como puede ser
texto e imágenes. CGI utilizan cabeceras para saber qué tipo de documento se generará
como salida, el formato de dichas cabeceras es el mismo formato general que utiliza un
servidor WEB, cuando envía un documento a un navegador.
La cabecera:
Content-type: text/html
especifica que la salida es un documento HTML.
Parámetros y variables de ambiente
Al momento de llamar a un CG1 el servidor puede pasar parámetros, lo cual
posibilita que un mismo programa CGI maneje un grupo de documentos dinámicos que
difieren en detalles menores. Los datos de los parámetros pueden ser suministrados por el
navegador, para esto el navegador agrega información al URL. Cuando se recibe la petición
el servidor separa el URL en dos partes: un prefijo que identifica a un documento en
particular y un subfijo con información adicional. Si el prefijo del URL corresponde a un
programa CGI , el servidor llama al programa y pasa el subfijo del URL como argumento.
Se usa un signo "?" en el URL para separar al prefijo del subfijo. La norma CG1
sigue un convención poco común para pasar argumentos a los programas CGI. En lugar de
utilizar la línea de comando, el servidor pone el argumento en variables de ambiente y
luego llama al programa CGI. El programa hereda. las variables de ambiente, de donde
extrae los valores. El servidor asigna el subfijo a la variable de ambiente QUERY STRING.
El servidor también asigna datos a otras variables de ambiente que puede emplear el
programa CGI:
44
Variables de ambiente pasadas a un programa CGI
Variable
SERVER NAME
Significado
Nombre de dominio de la computadora. que ejecuta el
Servidor
GATEWAY INTERFACE
Versión del software CGI empleado por el servidor
SCRIPT NAME
Trayectoria del URL después del nombre del servidor
QUERY STRING
Información después del "?" del ÜRL
REMOTE ADDR
Dirección IP de la computadora que ejecuta el visualizador
que transmitió la solicitud
Fig. 5.1.1.1 Variables de ambiente CGI
5.1.2 SERVLETS
Se puede definir a un servlet como un programa JAVA que se ejecuta en el marco
de un servicio de red, como puede ser un servidor WEB, y que recibe y responde a las
peticiones de un cliente.
DIFERENCIAS ENTRE LAS TECNOLOGÍAS CGI Y SERVLET
La tecnología Servlet proporciona las mismas ventajas del lenguaje Java en cuanto
a portabilidad ("write once, run anywhere") y seguridad, ya que un servlet es una clase de
Java igual que cualquier otra, y por tanto tiene en ese sentido todas las características del
lenguaje. Esto es algo de lo que carecen los programas CGI, ya que hay que compilarlos
para el sistema operativo del servidor y no disponen en muchos casos de técnicas de
comprobación dinámica de errores en tiempo de ejecución.
Otra de las principales ventajas de los servlets con respecto a los programas CGI,
es la del rendimiento, y esto a pesar de que Java no es un lenguaje particularmente rápido.
Mientras que es necesario cargar los programas CGI tantas veces como peticiones de
servicio existan por parte de los clientes, los servlets, una vez que son llamados por primera
45
vez, quedan activos en la memoria del servidor hasta que el programa que controla el
servidor los desactiva. De esta manera se minimiza en gran medida el tiempo de respuesta.
Además, los servlets se benefician de la gran capacidad de Java para ejecutar métodos en
ordenadores remotos, para conectar con bases de datos, para la seguridad en la información,
etc. Se podría decir que las clases estándar de Java ofrecen resueltos mucho problemas que
con otros lenguajes tiene que resolver el programador.
CARACTERÍSTICAS DE LOS SERVLETS
Además de las características indicadas anteriormente, los servlets tienen las siguientes
características:
1.
Son independientes del servidor utilizado y de su sistema operativo, lo que quiere
decir que a pesar de estar escritos en Java, el servidor puede estar escrito en cualquier
lenguaje de programación, obteniéndose exactamente el mismo resultado que si lo
estuviera en Java.
2.
Los servlets pueden llamar a otros servlets, e incluso a métodos concretos de otros
servlets. De esta forma se puede distribuir de forma más eficiente el trabajo a realizar.
Por ejemplo, se podría tener un servlet encargado de la interacción con los clientes y
que llamara a otro servlet para que a su vez se encargara de la comunicación con una
base de datos. De igual forma, los servlets permiten redireccionar peticiones de
servicios a otros servlets (en la misma máquina o en una máquina remota).
3.
Los servlets pueden obtener fácilmente información acerca del cliente (la permitida
por el protocolo HTTP), tal como su dirección IP, el puerto que se utiliza en la
llamada, el método utilizado (GET, POST,...), etc.
4.
Permiten además la utilización. de cookies y sesiones, de forma que se puede guardar
información específica acerca de un usuario determinado, personalizando de esta
46
forma la interacción cliente-servidor. Una clara aplicación es mantener la sesión con
un cliente.
5.
Los servlets pueden actuar como enlace entre el cliente y una o varias bases de datos
en arquitecturas cliente-servidor de 3 capas (si la base de datos está en un servidor
distinto).
6.
Asimismo, pueden realizar tareas de proxy para un applet. Debido a las restricciones
de seguridad, un applet no puede acceder directamente por ejemplo a un servidor de
datos localizado en cualquier máquina remota, pero el servlet sí puede hacerlo de su
parte.
7.
Al igual que los programas CGI, los servlets permiten la generación dinámica de
código HTML dentro de una propia página HTML. Así, pueden emplearse servlets
para la creación de contadores, banners, etc.
5.2 JSDK 2.0
El JSDK (Java Servlet Developer Kit), distribuido gratuitamente por Sun,
proporciona el conjunto de herramientas necesarias para el desarrollo de servlets. El JSDK
2.0
se
encuentra
disponible
en
la
dirección
de
Internet
http://java.sun.comlproducts/servlet/index.httnl Se trata de un archivo de 950 Kbytes,
llamado jsdk2-Win32.exe, y que puede transportarse al propio ordenador en un simple
disquete. El JSDK consta básicamente de 3 partes:
1.
El API del JSDK, que se encuentra diseñada como una extensión del JDK
propiamente dicho. Consta de dos packages cuyo funcionamiento será estudiado en
detalle en apartados posteriores, y que se encuentran contenidos en javax.servlet y
javax.servlet.http. Este último es una particularización del primero para el caso del
protocolo HTTP, que es el que será utilizado en este manual, al ser el más extendido
en la actualidad. Mediante este diseño lo que se consigue es que se mantenga una
47
puerta abierta a la utilización de otros protocolos que existen en la actualidad (FTP,
POP, SMTP, etc ), o vayan siendo utilizados en el futuro. Estos packages están
almacenados en un archivo JAR (\lib\jsdk.jar).
2.
La documentación propiamente dicha del API y el código fuente de las clases
(similar a la de los JDK 1.1 y 1.2).
3.
La aplicación servletrunner, que es una simple utilidad que permite probar los
servlets creados sin necesidad de hacer complejas instalaciones de servidores HTTP.
Es similar en concepción al appletviewer del JDK. Su utilización será descrita en un
apartado posterior.
5.3 VISIÓN AMPLIA DEL API DE JSDK 2.0
Es necesario tener una visión amplia del API (Application Programming Interface)
del Java Servlet Development Kit 2.0, de qué clases e interfaces la constituyen y de cuál es
la relación entre ellas.
El JSDK 2.0 contiene dos packages: javax servlet y javax.servlethttp. Todas las
clases e interfaces que hay que utilizar en la programación de servlets están en estos dos
packages. La relación entre las clases e interfaces de Java, muy determinada por el
concepto de herencia. La clase GenericServlet es una clase abstract puesto que su método
service() es abstract. Esta clase implementa dos interfaces, de las cuales la más importante
es la interface Servlet. La interface Servlet declara los métodos más importantes de cara a la
vida de un servlet: init() que se ejecuta sólo al arrancar el servlet; destroy() que se ejecuta
cuando va a ser destruido y service() que se ejecutará cada vez que el servlet deba atender
una solicitud de servicio. Cualquier clase que derive de GenericServlet deberá definir el
método service().
Es muy interesante observar los dos argumentos que recibe este método,
correspondientes a las interfaces ServletRequest y ServletResponse. La primera de ellas
48
referencia a un objeto que describe por completo la solicitud de servicio que se le envía al
servlet. Si la solicitud de servicio viene de un formulario HTML, por medio de ese objeto
se puede acceder a los nombres de los campos y a los valores introducidos por el usuario;
puede también obtenerse cierta información sobre el cliente (ordenador y navegador). El
segundo argumento es un objeto con una referencia de la interface ServletResponse, que
constituye el camino mediante el cual el método service() se conecta de nuevo con el
cliente y le comunica. el resultado de su solicitud. Además, dicho método deberá realizar
cuantas operaciones sean necesarias para desempeñar su cometido: escribir y/o leer datos
de un archivo, comunicarse con una base de datos, etc. El método service() es realmente el
corazón del servlet.
En la práctica, salvo para desarrollos muy especializados, todos los servlets deberán
construirse a partir de la clase HttpServlet, sub-clase de GenericServlet. La clase
HttpServlet ya no es abstract y dispone de una implementación o definición del método
service(). Dicha implementación detecta el tipo de servicio o método HTTP que le ha sido
solicitado desde el navegador y llama al método adecuado de esa misma clase (doPost(),
doGet(), etc.). Cuando el programador crea una sub-clase de HttpServlet, por lo general no
tiene que redefinir el método service(), sino uno de los métodos más especializados
(normalmente doPost()), que tienen los mismos argumentos que service(): dos objetos
referenciados por las interfaces ServletRequest y ServletResponse.
49
Figura 5.2 Jerarquía y métodos de las principales clases usadas para crear servlets
50
En la figura anterior aparecen también, algunas otras, interfaces, cuyo papel se
resume a continuación.
1.
La interfaz ServletContext permite a los servlets acceder a información
sobre el entorno en que se están ejecutando.
2.
La interfaz ServletConfig define métodos que permiten pasar al servlet
información sobre sus parámetros de inicialización.
3.
La interfaz ServletRequest permite al .método service() de GeneHcServlet
obtener información sobre una petición de servicio recibida de un cliente.
Algunos de los datos proporcionados por GenericServlet son los nombres y
valores de los parámetros enviados por el formulario HTML y una input
stream.
4.
La interfaz ServletResponse permite al método service() de GenericServlet
enviar su respuesta al cliente que ha solicitado el servicio. Esta interfaz
dispone de métodos para obtener un output stream o un writer con los que
enviar al cliente datos binarios o caracteres, respectivamente.
5.
La interfaz HttpServletRequest deriva de ServletRequest. Esta interface
permite a los métodos service(), doPosto, doGet(), etc. de la clase
HttpServlet recibir una petición de servicio HTTP. Esta interfaz permite
obtener información del header de la petición de servicio HTTP.
6.
La interface HttpServletResponse extiende ServletResponse. A través de
esta interfaz los métodos de HttpServlet envían información a los clientes
que les han pedido algún servicio.
51
5.4 LA APLICACIÓN SERVLETRUNNER
Servletrunner es la utilidad que proporciona Sun conjuntamente con el JSDK. Es a
los servlets lo que él appletviewer a los applets. Sin embargo, es mucho más útil que
appletviewer, porque mientras es muy fácil disponer de un navegador en el que comprobar
las applets, no es tan sencillo instalar y disponer de un servidor HTTP en el que comprobar
los servlets. Por esta razón la aplicación servletrunner, a pesar de ser bastante básica y
poco configurable, es una herramienta muy útil para el desarrollo de servlets, pues se
ejecuta desde la línea de comandos del MS-DOS. Como es natural, una vez que se haya
probado debidamente el funcionamiento de los servlets, para una aplicación en una empresa
real sería preciso emplear servidores HTTP profesionales. Además, servletrunner es
multithread, lo que le permite gestionar múltiples peticiones a la vez. Gracias a ello es
posible ejecutar distintos servlets simultáneamente o probar servlets que llaman a su vez a
otros servlets.
Una aclaración: servletrunner no carga de nuevo de modo automático los servlets
que hayan sido actualizados de forma externa; es decir, si se cambia algo en el código de un
servlet y se vuelve a compilar, al hacer una nueva llamada al mismo servletrunner utiliza la
copia de la anterior versión del servlet que tiene cargada. Para que se cargue la nueva será
necesario cerrar el servletrunner (Ctrl+C) y reiniciarlo otra vez. Esta operación habrá que
realizarla cada vez que se modifique el servlet. Para asegurarse de que servletrunner tiene
acceso a los packages del Servlet API, será necesario comprobar que la variable de entorno
CLASSPATH contiene la ruta de acceso del archivo jsdk.jar en e1 directorio lib (en el
Servlet API 2.1 están situados en el archivo servlet-2.1.0.jar). En la plataforma Java 2 es
más sencillo simplemente se copia el JAR al directorio ext que se encuentra en \jre\lib. Esto
hace que los packages sean tratados como extensiones estándar de Java. También es
necesario cambiar la variable PATH para que se encuentre la aplicación servletrunner.exe.
Otra posibilidad es copiar esta aplicación al directorio \bin donde están los demás
ejecutables de Java.
52
5.5 ARCHIVOS DE PROPIEDADES
Servletrunner permite la utilización de archivos que contienen las propiedades
(properties) utilizadas en la configuración, creación e inicialización de los servlets. Las
propiedades
son
pares
del
servlet.catalogo.codigo=ServletCatalogo
tipo
es
una
clave/valor.
propiedad
Por
cuya
ejemplo,
"clave"
es
servlet.catalogo.codigo y cuyo "valor" es ServletCatalogo.
Existen dos propiedades que son muy importantes para los servlets:
1. servlet. nombre.code
2. servlet. nombre.initargs
La propiedad servlet.nombre.code debe contener el nombre completo de la clase del
servlet, incluyendo su package. Por ejemplo, la propiedad, servlet.inventario.
code=basededatos.ServletInventario asocia el nombre inventario
con la clase
basededatos.ServletInventario. La propiedad initargs contiene los parámetros de
inicialización del servlet. El valor de un único parámetro se establece en la forma
nombreDeParametro = valorDeParametro. Es posible establecer el valor de varios
parámetros a la vez, pero el conjunto de la propiedad debe ser una única línea lógica. Por
tanto, para una. mayor legibilidad será preciso emplear el carácter barra invertida (\) para
emplear varias líneas del archivo. Así, por ejemplo:
Servlet.inventario.initArgs=\
archivo=servlets/Datos,\
usuario=administrador,\
…
Los distintos parámetros se encuentran separados por comas (,). El último de los
parámetros no necesitará ninguna coma al final. Todas estas propiedades estarán
almacenadas en un archivo que por defecto tiene el nombre servlet.properties (se puede
especificar otro nombre en la línea de comandos ). Se pueden incluir líneas de comentario,
que deberán comenzar por el carácter (#). Por defecto, este archivo debe estar en el mismo
53
directorio que el servlet, pero al ejecutar servletrunner puede especificarse un nombre de
archivo de propiedades con un path diferente.
5.6 EJECUCIÓN DE LA APLICACIÓN SERVLETRUNNER
La aplicación servletrunner se ejecuta desde la línea de comandos de MS-DOS y
admite los siguientes parámetros (se despliegan tecleando en la consola "servletrunner ?"):
-p puerto al que escuchar
-m número máximo de conexiones
-t tiempo de desconexión en milisegundos
-d directorio en el que están los servlets
-s nombre del archivo de propiedades
Así por ejemplo, si se tuviera un servlet en el directorio c:\programas, el archivo de
propiedades se llamara ServletEjemplo.prop y se quisiera que el servletrunner estuviera
escuchando el puerto 8000, habría que escribir lo siguiente en la línea de comandos:
C: iservletrunner -p 8000 -d c:\programas -s ServletEjemplo.prop
54
CAPÍTULO VI
JAVA
PUENTE ENTRE MÚLTIPLES
PLATAFORMAS
55
6. JAVA: PUENTE ENTRE MÚLTIPLES PLATAFORMAS
6.1 JAVA COMO INTERFAZ DE ACCESO A LAS BASE DE DATOS
Poder acceder a bases de datos remotas mediante un navegador y a través de
Internet será un aspecto básico para la competitividad de las muchas empresas.
¿Que es JDBC?
JDBC (Java Data Base Connection) es una API de JAVA creada para permitir
ejecutar instrucciones SQL (Structured Query Language, Lenguaje estructurado de
consultas), que es un lenguaje de alto nivel para crear, manipular, examinar y gestionar
bases de datos relacionales. Para que una aplicación pueda hacer oraciones en una base de
datos, deberá de tener el correspondiente controlador que conecte la aplicación con esta. De
esta forma la API JDBC es básicamente un paquete de JAVA (java.sql) que contiene un
conjunto de clases y interfaces escritas en JAVA.
Las acciones de la API JDBC de JAVA se pueden resumir en:
• Establecer una conexión con una base de datos, que puede ser remota o no.
• Enviar sentencias SQL a la base de datos.
• Procesar los resultados obtenidos de la base de datos.
¿Qué es ODBC?
ODBC(Open DataBase Connectivity: Conectividad Abierta de Base de Datos) es la
interfase para conectarse con bases de datos relacionales más usada por los programadores
de aplicaciones.
¿Por qué usar JDBC si ya existe ODBC?
56
ODBC usa una interfaz escrita con el lenguaje de programación C. Por lo tanto
como que C no es un lenguaje portable las aplicaciones JAVA perderían también
automáticamente su portabilidad.
• ODBC se ha de instalar manualmente en cada máquina, en cambio los
controladores de JDBC como están escritos en JAVA son automáticamente instalables,
portables y seguros.
Existen controladores puente entre JDBC-ODBC. Estos controladores traducen las
llamadas de JDBC a ODBC permitiendo comunicarse con base de datos propietarias que no
tendrán conocimiento de la existencia de JAVA. De esta forma podemos trabajar con una
base de datos Access de Microsoft que usa ODBC, con el lenguaje JAVA.
Acceso a base de datos usando la API ODBC
La API JDBC soporta los dos siguientes modelos diferentes de acceso a las base de
datos:
• Modelo de dos capas.
• Modelo de tres capas.
Modelo de dos capas
En este modelo la aplicación JAVA o el Applet, se conectan directamente con la
BD. Esto significa que el controlador JDBC especifico para conectarse con la BD estará
instalado en el sistema local. La BD puede estar en otra máquina y se accede a ella
mediante red. Esta configuración también se denomina Cliente/Servidor. El programa
cliente envía instrucciones SQL a la base de datos, y ésta las procesa y envía los resultados
de regreso al usuario.
57
Modelo de tres capas
En este modelo, las instrucciones son enviadas a una capa intermedia que se encarga
de enviar las sentencias SQL a la base de datos. El manejador de base de datos procesa las
sentencias y retorna los resultados a la capa intermedia la cual se encarga de enviarlos al
usuario.
Este modelo ofrece las siguientes ventajas:
• El nivel intermedio mantiene el control del tipo de operaciones que se puede hacer
en la base de datos.
Los controladores JDBC para conectarse en la base de datos, no han de residir en la
maquina cliente.
Figura 6.1 Modelo de dos capas
58
Figura 6.2 Modelo de tres capas
59
CAPÍTULO VII
PROCESO SERVIDOR PARA LA
PRESENTACIÓN DE EXÁMENES VÍA
INTERNET
60
7.1
PROCESO
SERVIDOR
PARA
LA
PRESENTACIÓN
DE
EXÁMENES VÍA INTERNET
Para generar el proceso servidor se utilizaron Servlets de java, los Servlets son
procesos que se ejecutan en el servidor y no presentan ningún tipo de interfaz gráfica, se
controlan por un servicio de red ( proceso servidor ), en este caso un servidor http.
SERVLET SESION 1
Las funciones de este Servlet SESION1 son las siguientes:
•
Aceptar la clave que identificará a quien presenta el examen y que se grabará
junto con las respuestas que éste emita
•
Acceder la base de datos de REACTIVOS para obtener en forma aleatoria las
preguntas que deberán ser contestadas
•
Generar en forma. dinámica una página HTML que será enviada al navegador
cliente presentando en un formulario las preguntas obtenidas de la base de
datos. Esta página contiene una función de Javascript que controla el tiempo de
que se dispondrá para contestar el formulario, una vez transcurrido este se llama
al Servlet GRABARESPUESTAS
SERVILET GRABARESPUESTAS
Las funciones de este Servlet GRABARESPUESTAS son las siguientes:
•
Grabar en la base de datos RESPUESTA las respuestas dadas al
formulario.
•
Generar en forma dinámica una página HTML que será enviada al
navegador cliente, la finalidad de esta página HTML será llamar al Servlet
SESION1 para la presentación de la siguiente sección de preguntas (de haberla).
61
BASE DE DATOS REACTIVOS:
La base de datos REACTIVOS se generó con la aplicación Microsoft ACCESS,
almacena las tablas que a su vez contienen las preguntas de cada una de las secciones (áreas
de conocimiento) que deberán ser respondidas, así como las opciones respuestas para
dichas preguntas.
BASE DE DATOS REACTIVOS
Figura 7.1
BASE DE DATOS RESPUESTA:
La base de datos RESPUESTA también se generó con Microsoft ACCESS, contiene una
tabla donde se almacenan las respuestas que se emitan de cada sección de preguntas,
62
almacenándose la clave que identifica a quien emite esas respuestas y la sección a que
pertenecen.
BASE DE DATOS RESPUESTA
Figura 7,2
63
Figura 7.3
64
Ejecución del Servletrunner en el servidor Windows NT
Figura 7.4
En la figura Solicitud de autentificación de usuario de windows NT server
Figura 7.5
65
Solicitud de clave de aspirante de ingreso e inicio de ejecución de examen.
Figura 7.6
La figura 7.7 muestra la página HTML dinámica generada por el Servlet
Seccion1.class la cual muestra la sección de preguntas (formulario) teniéndose 20 minutos
para contestar antes del envió automático de respuesta.
Fig 7.7 Formulario con preguntas del examen de admisión
66
Página HTML generada por la última ejecución de GrabaRespuestas
Figura 7.8
CODIGO DEL SERVLET SECCION l
// archivo Seccion1.java
import java.io.*;
import javax. servlet. *;
import javax.servlet.http.*;
import java.sql.*;
public class Seccion1 extends HttpServlet {
// Declaración de variables miembro
private int Num_Rea = 0;
private String Pregunta = null;
private String op1 = null;
67
private String op2 = null;
private String op3 = null;
private String op4 = null;
private String op5 = nu11;
private String Seccion = null;
private String Clave = null;
// Referencia a un objeto de la interface java.sql.Connection
Connection conn = null;
// El siguiente método se ejecuta una única vez (al ser inicializado el servlet
// por primera vez)
// Se suelen inicializar variables y ejecutar operaciones costosas en tiempo
// de ejecución (abrir archivos, conectar con bases de datos, etc)
public void init (ServletConfig config) throws ServletException {
// Llamada al método init() de la superclase (GenericServlet)
// Así se asegura una correcta inicialización del servlet
super. init(config);
// dsn (Data Source Name) de la base de datos
String dsn = new String("jdbc:odbc:reactivos");
// Carga del Controlador del puente ODBC-ODBC
try {
Class. forName("sun. jdbc.odbc.JdbcOdbcDriver");
}// fin try
catch(CIassNotFoundException ex) {
System.out.println("Error al cargar el driver");
System.out.println(ex.getMessage());
}//fin catch
68
// Establecimiento de la conexión con la base de datos
try {
conn = DriverManager.getConnection(dsn, "", "");
} // fin try
catch (SQLException sq1Ex) {
System.out.println("Se ha producido un error al" +
" establecer la conexión con: " + dsn);
System. out. println(sqlEx. getMessage());
} //fin catch
System.out.println("Iniciando Servlet Seccion1 (version BD)...");
} // fin del método init()
// Este método es llamado por el servidor web al
// "apagarse" (al hacer shut down).
// Sirve para proporcionar una correcta desconexión de una base de datos,
// cerrar archivos abiertos, etc.
public void destroy () {
super. destroy();
System.out.println("Cerrando conexion...");
try {
conn.closeQ;
}
catch(SQLException ex){
System.out.println("No se pudo cerrar la conexion");
System.out.println(ex. getMessage());
}
} // fin del método destroyQ
// Método de llamada mediante un HTTP POST
public void doPost (HttpServletRequest req, HttpServletResponse resp)
69
throws ServletException, IOException {
boolean hayError = false;
Seccion= new String("");
Clave= new String("");
Seccion=req.getParameter("Seccion");
System.out.println(Seccion);
if (req.getParameter("Clave")!=null)
Clave=req.getParameter("Clave");
else
hayError=true;
// Mandar al usuario los valores adquiridos
// (Si no se ha producido error)
devolverPaginaHTML(resp);
} // fin doPost()
public void devolverPaginaHTML(HttpServletResponse resp) {
// Se obtiene un PrintWriter donde escribir (sólo para mandar texto)
PrintWriter out=null;
try {
out=resp.getWriter();
} //fin try
catch (IOException io) {
System.out.println("Se ha producido una excepcion");
}//fin match
// Se establece el tipo de contenido MIME de la respuesta
resp.setContentType("textlhtml");
out.println("<html>");
70
out.println("<head>'");
out.println("<title>Seccion de Preguntas</title>");
out.println("<script languaje=\"JavaScript\"> ");
out.println(" var minutos = 0;");
out.println(" var segundos = 0;");
out. println(" function crono(){");
out.println(" var tiempo = \"\"");
out.println("
if (minutos >= 1){ Preguntas. submit();return 0; } ");
out.println("
if (segundos = 60){");
out.println("
minutos++;");
out.println("
segundos =0;");
out.println(" }else");
out.println("
segundos++; ");
out.println("
setTimeout(\"crono()\",1000);");
out.println(" }");
out.println("</script> ");
out.println( "</head>");
out.println("<body onLoad=\"crono();\">");
out.println("<FORM NAME=\"Preguntas\"
ACTION=\"http://Redesx:8000/servlet/GuardaRespuestas\" METHOD=\"POST\">");
out.println("<font size=\"3\" face=\"Arial Narrow\">");
Statement stmt=null;
ResultSet rs;
int numeroFilasActualizadas=-0;
int j;
int Alea=0;
// Ejecución del query de actualización de la base de datos
for(j=l;j<6;j++) {
71
try {
stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT * FROM Reactivos S"+Seccion+
" WHERE R_Num_Reac = "+j);
rs, next();
Num_Rea=rs.getInt(1);
Pregunta=rs.getString(2);
op1=rs.getString(3);
op2=rs.getString(4);
op3=rs.getString(5);
op4=rs.getString(6);
op5=rs.getString(7);
} // fin try
catch (SQLException sql) {
System.out.println("Se produjo un error creando Statement");
System.out.println(sql.getMessage());
// return -2;
} //fin catch
finally {
// Se cierra el Statement
if(stmt!=null) {
try {
stmt.close();
} //fin try
catch(SQLException e){
System.out.println("Error cerrando Statement");
System. out. println(e. getMessage());
// return -3;
}// fin catch
}//fin del if
}// fin finally
72
// Se mandan los valores
out.println("<p>"+Pregunta+"<br>");
out.println("<input type=\"radio\" narre=\"preg"+j+"\" value=\"A\"
CHECKED>"+opl+"<br>");
out.println("<input type=\"radio\" narre=\"preg"+j+"\" value=\"B\">"+op2+"<br>");
out.println("<input type=\"radio\" narre=\"preg"+j+"\" value=\"C\">"+op3+"<br>");
out.println("<input type=\"radio\" narre=\"preg"+j+"\" value=\"D\">"+op4+"<br>");
out.println("<input type=\"radio\" narre=\"preg"+j+"\" value=\"E\">"+op5+"<br></p>");
out.println("<input type=\"hidden\" narre=\"Reac"+j+"\" value=\""+Num_Rea+"1">")}
// fin del for
out.println("</font>");
out.println("<input type=\"HIDDEN\" narre=\"Clave \" value=\""+Clave+"\">");
out.println("<input type=\"HIDDEN\" narre=\"Seccion\" value=\""+Seccion+"\">");
out.println("</FORM>");
out.println("</body>");
out. println("</html>");
// Se fuerza la descarga del buffer y se cierra el PrintWriter
out. Flush();
out.close();
} // fin de devolverPaginaHTML()
// Función que permite al servidor web obtener una
// pequeña descripción del servlet, qué
// cometido tiene, nombre del autor, comentarios adicionales, etc.
public String getServletInfo() {
73
return "Este servlet proporciona preguntas para un cuestionario "+
"leyendolos de una base de datos";
} // fin de getServletInfo()
} // fin de la clase seccionl
CODIGO DEL SERVLET GUARDARESPUESTAS
// archivo GuardaRespuestas.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
public class GuardaRespuestas extends HttpServlet {
// Declaración de variables miembro
private String Clave = null;
private String Seccion = null;
private int Reac[] = new int[20];
private String Op_Reac[] = new String[20];
String Tempo;
// Referencia a un objeto de la interface java.sql.Connection
Connection conn = null;
// El siguiente método se ejecuta una única vez (al ser inicializado el servlet
// por primera vez)
// Se suelen inicializar variables y ejecutar operaciones costosas en tiempo
74
// de ejecución (abrir archivos, conectar con bases de datos, etc)
public void init (ServletConfig config) throws ServletException {
// Llamada al método init() de la superclase (GenericServlet)
// Así se asegura una correcta inicialización del servlet
super. init(config);
// dsn (Data Source Name) de la base de datos
String dsn = new String(" jdbc:odbc:Respuesta");
// Carga del controlador del puente ODBC-ODBC
try {
Class. forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch(ClassNotFoundException ex) {
System.out.println("Error al cargar el driver");
System.out.println(ex.getMessage());
}
// Establecimiento de la conexión con la base de datos
try {
conn = DriverManager.getConnection(dsn, "", "");
} catch (SQLException sqlEx) {
System.out.println("Se ha producido un error al" +
" establecer la conexión con: " + dsn);
System.out.println(sqlEx.getMessage());
}
System.out.println("Iniciando Servlet GuardaRespuestas (version BD)...");
} // fin del método init()
// Este método es llamado por el servidor web al
// "apagarse" (al hacer shut down).
// Sirve para proporcionar una correcta desconexión de una base de datos,
75
// cerrar archivos abiertos, etc.
public void destroy () {
super. destroy();
System.out.println("Cerrando conexion...");
try {
conn.close();
}catch(SQLException ex){
System.out.println("No se pudo cerrar la conexion");
System.out.println(ex.getMessage());
}
}// fin del método destroy()
// Método de llamada mediante un HTTP POST
public void doPost (HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
boolean hayError = false;
int i;
String Cadena;
Cadena = new String('");
Tempo = new String(");
Clave = new String(");
Seccion = new String(");
// adquisición de los valores del formulario
for(i=O;i<S;i++)
{
Cadena="preg"+(i+ l );
Op_Reac[i]= req.getParameter(Cadena);
}
for(i=0;i<S;i++)
76
{
Cadena="Reac "+(i+ 1);
Tempo = (req.getParameter(Cadena));
Reac[i]= i+1;
}
Seccion = req.getParameter("Seccion");
Clave = req.getParameter("Clave");
// Mandar al usuario los valores adquiridos
// (Si no se ha producido error)
if(!hayError) {
if (actualizarBaseDeDatos() = 0)
devolverPaginaHTML(resp);
else
resp.sendError(500, "Se ha producido un error"+
" al actualizar la base de datos");
} else
resp. sendError(500, "Se ha producido un error"+
" en la adquisición de parámetros"); }
// fin doPost()
public int actualizarBaseDeDatos() {
// crear un statement de SQL
Statement stmt=null;
int numeroFilasActualizadas=0;
String Reactivos_Opciones;
Reactivos_Opciones = new String(");
int j=0;
77
Reactivos_Opciones=Reactivos_Opciones+"`+Clave+`,"+Seccion;
for(j=O;j<20;j++)
{
Reactivos_Opciones=Reactivos_Opciones+","+Reac[j];
}// fin for
for(j=0;j<20j++)
{
Reactivos_Opciones=Reactivos_Opciones+","'+Op_Reac[j]+"';"
} // fin for
System.out.println(Reactivos Opciones);
// Ejecución del query de actualización de la base de datos
try { ,
stmt = conn.createStatement();
numeroFilasActualizadas = stmt.executeUpdate("INSERT INTO Respuestas
VALUES"+
"("+Reactivos Opciones+")");
if(numeroFilasActualizada.s!=1) return - l;
} // fin try
catch (SQLException sql) {
System.out.println("Se produjo un error creando Statement");
System.out.println(sql.getMessage());
return -2;
} // fin catch
finally {
// Se cierra el Statement
if(stmt!=null) {
try {
78
stmt.close();
} // fin try
catch(SQLException e){
System.out.println("Error cerrando Statement");
System.out.println(e.getMessage());
return -3;
} // fin catch
} // fin if
return 0;
} // fin finally
} // fin método actualizarBaseDeDatos()
public void devolverPaginaHTML(HttpServletResponse resp) {
// Se obtiene un PrintWriter donde escribir (sólo para mandar texto)
PrintWriter out=null;
try {
out=resp. getWriter();
} //fin try
catch (IOException ío) {
System.out.println("Se ha producido una excepcion");
}//fin catch
int s=0;
// Se establece el tipo de contenido MIME de la respue sta
resp.setContentType("text/html");
out.println("<html>");
out.println("<head>");
//Seccion=Seccion.toString
s=Integer. parseInt(Seccion);
if(s<=1){
79
s++;
Seccion=Integer.toString(s);
out.println("<title>Siguiente seccion de Preguntas</title>");
out.println("</head>");
out.println("<body>");
out.println("<center>");
out.println("<h2>Cargando la siguiente seccion<h2>");
out.println("</center>");
out.println("<FORM NAME=1"SigSeccion\"
ACTION=\"http://redesx:8000/servlet/Seccionl\" METHOD= \"POST\">");
out.println("<INPUT TYPE= \"HIDDENi" NAME=\"Seccion\" VALUÉ=\"2\" >");
out.println("<INPUT TYPE=\"HIDDENI" NAME=\"Clave\" VALUÉ=\""+
Clave+"\">");
out.println("</FORM>");
out.println("<SCRIPT>");
out.println(" SigSeccion.submit();");
out. println("</SCRIPT>");
}
else {
out.println("<title>Siguiente seccion de Preguntas</title>");
out.println("</head>");
out.println("<body>");
out.println("<h2>Examen finalizado<h2>");
}
out.println("</body>");
out. println("</html>");
// Se fuerza la descarga del buffer y se cierra el PrintWriter
out.flush();
out.close();
} // fin de devolverPaginaHTML()
80
// Función que permite al servidor web obtener una
// pequeña descripción del servlet, qué
// cometido tiene, nombre del autor, comentarios adiciona les, etc.
public String getServletInfo() {
return "Este servlet lee los datos de un formulario "+
"y los introduce en una base da datos";
} // fin de getServletInfo()
}// fin de la clase GuardaRespuesta
81
CAPÍTULO VIII
CONCLUS IONES
82
CONCLUSIONES
No se puede negar que la Red de Redes (Internet), esta cambiando nuestra forma de
relacionarnos, nuestra forma de vivir. Podemos realizar cualquier tipo de transacción
comercial, acceder a información de todo tipo, así también podemos conocer y conversar
con otras personas, solo basta acceder al "Portal"2 adecuado.
Existen en la actualidad instituciones educativas que imparten cursos de preparación
a través de la Red de Redes, esto en diferentes niveles de estudios, como licenciaturas,
especialidades, maestrías, etc.. Esto representa una gran ventaja a favor de las personas que
no pueden desplazarse de su lugar de residencia.
Para las instituciones educativas que han integrado el acceso a la red de redes como
parte de los servicios ofrecidos al alumnado, sería de gran beneficio el implementar un sitio
WEB donde publique los requisitos para. alumnos de nuevo ingreso, así como realizar la
aplicación de exámenes de admisión a través de la Internet, ya que ampliaría su área de
captación de alumnos de nuevo ingreso.
Actualmente la infraestructura de comunicaciones de red que soporta a la Internet
en México está creciendo en forma importante, tanto en extensión como en capacidad,
existe una mayor oferta de servicios, lo que hasta cierto punto los ha hecho
económicamente más accesibles. Por ejemplo, en la actualidad existe mas de una empresa
promocionando los servicios de acceso inalámbrico a la Internet, ya sea usando celulares u
otro tipo de dispositivos.
De igual forma existe ya diversidad de plataformas de software que permiten la
creación de páginas dinámicas ( Java, ASP, PHP, CGI, VbScripts, PERL, C++, C#), lo que
evita tenerse que "casar" con una plataforma de desarrollo determinada.
__________________________
2
PORTAL: Sitio WEB que ofrece múltiples servicios relativos a una actividad o servicio
83
BIBLIOGRAFÍA
Deitel, H.M. (1998). Como programar en JAVA. (lª ed.). México: Prentice Hall.
Orós Cabello, J. C. (1999). Diseño de páginas web interactivas con JavaScrint. (1ª ed. ).
México: Alfaomega.
Douglas, E. C. (1997). Redes de computadoras, Internet e Intercedes. (lª ed.). México:
Prentice Hall.
Lugares en la Red
http://www.sun.com
http://www.sunsite.unc.edu/javafaq/java- faq.html
http://www.ujzweb.cs.ualberta.ca/~nelson/java/JavaTutorial.html
http://www.acme.com/iava
http://www.teamíava.com
http://www.JARS.com
http://www.yahoo.com/languajes/Java
http://www.javasoft.com
http://www.javasoft.com/tutorial/index.htm
84
GLOSARIO
ANONYMOUS
Usuario, genérico admitido en la mayoría de los servidores FTP. Como
palabra clave debemos dar nuestra dirección de correo electrónico.
ARCHIE
Permite la búsqueda de información en los servidores FTP Anónimos.
Basado en la arquitectura Cliente/Servidor, archie da nombre a ambos.
Los servidores archie contienen una lista de toda. la información que contienen los
servidores FTP Anónimos a los que agrupa.
ARPAnet
Antigua red para la investigación en proyectos avanzados del gobierno de
E.U.A; de la cual surgió Internet.
AUTOPISTA DE LA INFORMACIÓN
Término acuñado por Al Gore, vicepresidente de los Estados Unidos, hacia
1991, para definir una estructura de comunicación del futuro, en principio, para
mantener a los Estados Unidos competitivos, que integra todo tipo de medios y
servicios a alta velocidad. Internet no es la Autopista de la información (que todavía
no es una realidad), pero sí lo más parecido que existe hasta el momento.
BROWSER
Navegador u hojeador. Un cliente de World Wide Web. Una herramienta
para obtención de información, permite ver el contenido de documentos WEB. Por
ejemplo Mosaic, Netscape, Opera, Internet Explorer, etc.
85
CGI (Common Gateway Interface)
CGI, es una interfase para que programas externos (pasarelas) puedan
ejecutarse bajo un servidor de información. Actualmente, los servidores de
información soportados son servidores HTTP (hypertext Transfer Protocol).
Las pasarelas pueden usarse para muchos propósitos, algunos de ellos:
• Manejo de formas y cuestionarios
• Conversión de las man pages del sistema a paginas html y presentación
del resultado por parte del cliente WWW
• Interfase con bases de datos WAIS y Archie, y presentación de los
resultados en formato html por parte de clientes WWW
• Mensajería electrónica (comunicación con los administradores WWW)
DNS (Domain Name Server)
Servidor de Nombres de Dominio. Cualquiera de los servidores automáticos
de
Internet
que
convierten
nombres
fáciles
de
entender
(como
www.miempresa.com) a direcciones IP (como 192.178.26.11).
HTML (Hypertext Markup Language)
Lenguaje usado para escribir documentos para servidores World Wide Web.
Es una aplicación de la ISO Standard 8879:1986 ( SGML, Standard Generalized
Markup Language).
HTTP (HyperText Transport Protocol)
Protocolo de Transferencia de Hipertexto. El protocolo usado en la WWW
para transmitir las páginas de información entre el programa navegador y el
servidor.
IETF (Internet Engineering Task Force).
86
Fuerza de tarea de Ingeniería de Internet. Responsable de la faz técnica de
Internet.
NCSA (National Center for Supercomputing Applicatioas)
NCSA, de la Universidad de Illinois, desarrolladores de Mosaic, el primer
cliente para servidores WWW
PERL
Perl es un lenguaje para manipular textos, ficheros y procesos. Perl
proporciona una forma fácil y legible para realizar trabajos que normalmente se
realizarían en C o en algunos Shells. Podría decirse que Perl está entre un lenguaje
de alto nivel (tipo C) y comandos de shell.
RFC (Request For Comment)
Documentos que circulan en Internet referidos a protocolos, normas,
información, etc.
SGML (Standard Generalized Markup Language)
Lenguaje para la descripción de otros lenguajes de documentos estructurales
basados en etiquetas. Por ejemplo, el HTML está definido mediante el SGML.
SSL (Secare Socket Layer)
Nivel de socket de seguridad. Protocolo que utiliza Netscape para
proporcionar transacciones seguras a través de la red.
Usenet (USEer NETwork)
Grupos de debate de Internet. Uno de los primeros formatos de "correo
electrónico colectivo". Actualmente hay unos 10000 grupos de debate diferentes.
87
WWW (WorldWide Web)
Sistema de Internet para vincular mediante hipertexto en todo el mundo
documentos multimedia, permitiendo un fácil acceso, totalmente independiente de
la ubicación física, a la información común entre documentos.
88
Descargar