Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE ESTUDIOS SUPERIORES CUAUTITLÁN DESARROLLO DE UN PORTAL WEB PARA LA LICENCIATURA EN INFORMATICA CON CONTENIDOS AUTOADMINISTRABLES T E S I S QUE PARA OBTENER EL TÍTULO DE: LICENCIADO EN INFORMATICA PRESENTA: ISRAEL ALEJANDRO MONTERO REYES ASESOR: M.A. Jacqueline Valadez Romero CUAUTITLÁN IZCALLI, ESTADO DE MÉXICO 2012 UNAM – Dirección General de Bibliotecas Tesis Digitales Restricciones de uso DERECHOS RESERVADOS © PROHIBIDA SU REPRODUCCIÓN TOTAL O PARCIAL Todo el material contenido en esta tesis esta protegido por la Ley Federal del Derecho de Autor (LFDA) de los Estados Unidos Mexicanos (México). El uso de imágenes, fragmentos de videos, y demás material que sea objeto de protección de los derechos de autor, será exclusivamente para fines educativos e informativos y deberá citar la fuente donde la obtuvo mencionando el autor o autores. Cualquier uso distinto como el lucro, reproducción, edición o modificación, será perseguido y sancionado por el respectivo titular de los Derechos de Autor. UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE ESTUDIOS SUPERIORES CUAUTITLÁN DESARROLLO DE UN PORTAL WEB PARA LA LICENCIATURA EN INFORMATICA CON CONTENIDOS AUTOADMINISTRABLES T E S I S QUE PARA OBTENER EL TÍTULO DE: LICENCIADO EN INFORMATICA PRESENTA: ISRAEL ALEJANDRO MONTERO REYES ASESOR: M.A. Jacqueline Valadez Romero CUAUTITLÁN IZCALLI, ESTADO DE MÉXICO 2012 DEDICATORIAS A Dios Por darme la fuerza y la voluntad para cumplir las tareas que me ha encomendado, por mantenerme firme y resuelto cuando todo parecia perdido. Gracias oh señor por caminar siempre conmigo y aunque hubo algunos momentos durante mi Carrera que mantuvieron a mi mente distantes de ti, tu nunca te olvidaste de mi. Te dedico esta tesis mi señor que aunque es humilde, es un pequeño obsequio a tu bondad, a tu gloria y a tu infinito amor. Ahora que termino mi tesis se que he hecho lo correcto con la oportunidad que me diste, termine mi carrera, termine mi tesis, mantuve la Fe. A mi tío Flavio Arturo Reyes Ochoa Por que a través de tus actos me enseñaste el significado de la palabra "valor", mostrandome que un hombre valiente supera barreras que parecen interminables, que un hombre valiente se eleva sobre el miedo y triunfa sobre el dolor. Te dedico esta tesis no porque estemos separados fisicamente, si no porque te quiero y el lazo que compartimos es tan fuerte que nos une por toda la eternidad. Esta tesis es un humilde homenaje a tu valor, a tu buen sentido del humor ante la adversidad, esta tesis representa la promesa de que tu y yo nos volveremos a encontrar. A mi Familia Por el apoyo y sacrificios brindados, por su amor y comprensión. Les dedico toda una vida de esfuerzo y trabajo. Índice Índice Capítulo 1 Introducción. ..................................................................................................... 1 1.1. Historia de la Licenciatura en Informática. .......................................................................... 1 1.2. Definición del problema. ...................................................................................................... 4 1.3. Objetivo General. ................................................................................................................. 6 1.4. Objetivos Específicos. .......................................................................................................... 6 1.5. Alcances y Limitaciones. ...................................................................................................... 7 Capítulo 2 Marco Teórico ................................................................................................. 10 2.1. Internet ................................................................................................................................ 10 2.1.1. Historia de Internet ...................................................................................................... 10 2.2. Tecnologías de Internet ...................................................................................................... 12 2.2.1. Protocolo TCP/IP......................................................................................................... 12 2.2.2. Protocolo HTTP........................................................................................................... 12 2.2.3. Protocolo FTP. ............................................................................................................. 13 2.2.4. Protocolo SMTP. ......................................................................................................... 13 2.2.5. Funcionamiento de Internet. ........................................................................................ 13 2.2.6. Internet y Sociedad. .................................................................................................... 15 2.3. World Wide Web. ............................................................................................................... 16 2.3.1. Historia de la World Wide Web. ................................................................................ 17 2.4. Tecnologías de la World Wide Web. ................................................................................ 18 2.4.1. URL. ............................................................................................................................ 18 2.4.2. HTML. ......................................................................................................................... 19 2.4.3. XML. ........................................................................................................................... 22 2.4.4. XHTML. ...................................................................................................................... 22 2.4.5. CSS. ............................................................................................................................. 24 2.4.6. Navegador Web. .......................................................................................................... 26 2.4.7. Funcionamiento de la World Wide Web. .................................................................... 27 2.5. Sitio Web y Portal Web. ..................................................................................................... 28 2.5.1. ¿Qué es un Sitio Web? ................................................................................................ 28 2.5.2. Tipos de Sitios Web. .................................................................................................... 29 2.5.3. Portal Web. .................................................................................................................. 31 2.5.4. Objetivos de un Portal Web. ........................................................................................ 31 Índice 2.5.5. Servicios de un Portal Web. ........................................................................................ 32 2.6. Servidor Web. ..................................................................................................................... 33 2.6.1. ¿Qué es un Servidor Web? ......................................................................................... 33 2.6.2. Arquitectura de un Servidor Web. .............................................................................. 33 2.6.3. Funcionamiento de un servidor Web. ......................................................................... 36 2.6.4. Servidor Web Apache. ................................................................................................37 2.6.5. Servidor Web IIS. ........................................................................................................ 38 2.7. PHP. .................................................................................................................................... 40 2.7.1. Características y Ventajas de PHP. .............................................................................. 41 2.7.2. Desventajas de PHP. .................................................................................................... 43 2.8. MySQL. .............................................................................................................................. 43 2.8.1. Base de Datos. ............................................................................................................. 44 2.8.2. Modelo Entidad Relación. ........................................................................................... 44 2.8.3. Sistema de Gestión de Base de Datos. ......................................................................... 45 2.8.4. Características y Ventajas de MySQL. ........................................................................ 46 2.8.5. Desventajas de MySQL. .............................................................................................. 46 2.9. JavaScript. .......................................................................................................................... 47 2.9.1. Historia de JavaScript. ................................................................................................. 49 2.9.2. Especificaciones Oficiales. .......................................................................................... 49 2.9.3. jQuery. ......................................................................................................................... 50 2.10. Sitio Web Autoadministrable. .......................................................................................... 50 2.10.1. Sistema de Gestión de Contenidos (CMS). ............................................................... 51 2.10.2. Funcionamiento de un Sistema de Gestión de Contenidos. ....................................... 52 2.10.3. Alcances y Limitaciones de un Sistema de Gestión de Contenidos. ......................... 53 2.11. Moodle. ............................................................................................................................. 54 2.11.1. Ambiente Educativo Virtual. ..................................................................................... 55 2.11.2. Características de moodle. ......................................................................................... 55 2.11.3. Requerimientos Técnicos para su Implementación. .................................................. 56 2.11.4. Enfoque Pedagógico. ................................................................................................. 57 2.12. phpBB. .............................................................................................................................. 58 2.13. Ciclo de vida de un sistema. ............................................................................................. 58 2.13.1. Análisis. ..................................................................................................................... 59 Índice 2.13.2. Diseño. ....................................................................................................................... 60 2.13.3. Desarrollo o Implementación. ................................................................................... 61 2.13.4. Pruebas. ..................................................................................................................... 62 2.13.5. Despliegue o Instalación. ........................................................................................... 62 2.13.6. Mantenimiento. .......................................................................................................... 63 Capítulo 3 Análisis del Portal ........................................................................................... 64 3.1. Identificación de las necesidades de la Licenciatura. ......................................................... 64 3.2. Análisis de los requerimientos de software. ....................................................................... 70 3.3. Análisis de los requerimientos de hardware. ...................................................................... 72 3.4. Identificación de los tipos de contenido dentro del portal Web. ........................................ 73 3.5. Identificación de los tipos de usuario. ................................................................................ 74 3.6. Análisis de riesgos. ............................................................................................................. 75 3.7. Casos de uso. ...................................................................................................................... 76 Capítulo 4 Diseño del Portal. ............................................................................................ 78 4.1. Arquitectura del portal. ....................................................................................................... 78 4.2. Diseño de la página principal. ............................................................................................ 80 4.3. Diseño de la página de contenidos. .................................................................................... 84 4.4. Diseño de la base de datos. ................................................................................................. 87 4.5. Modelo Entidad Relación. .................................................................................................. 88 4.6. Modelo de Datos. ............................................................................................................... 91 4.7. Diseño del gestor de contenidos. ........................................................................................ 95 4.8. Interfaz gráfica de usuario del gestor de contenidos. ......................................................... 99 Capítulo 5 Implementación del portal Web. ................................................................... 102 5.1. Arquitectura del gestor de contenidos. ............................................................................. 102 5.2. Clase para la conexión con la base de datos. .................................................................... 105 5.3. Estructura de las clases encargadas de administrar los módulos. ..................................... 108 5.3.1. Método de visualización de registros. ....................................................................... 110 5.3.2. Método de verificación de existencia de un registro. ................................................ 120 5.3.3. Formularios de Creación y Edición de Registros. ..................................................... 121 5.3.4. Creación, Edición y Eliminación de Registros. ......................................................... 126 5.3.5. Seguridad del gestor de contenidos. .......................................................................... 128 5.4. Funcionamiento del gestor de contenidos. ....................................................................... 129 5.4.1. Módulo Categorías. ................................................................................................... 131 Índice 5.4.2. Módulo Subcategorías. .............................................................................................. 132 5.4.3. Módulo Artículo. ....................................................................................................... 133 5.4.4. Módulo Manual. ........................................................................................................134 5.4.5. Módulo Software. ...................................................................................................... 135 5.4.6. Módulo Manual para Descargar. ............................................................................... 136 5.4.7. Módulo Usuarios. ...................................................................................................... 136 5.4.8. Módulo Preguntas Secretas. ...................................................................................... 137 5.4.9. Módulo Galería. ......................................................................................................... 137 5.4.10. Módulo Eventos....................................................................................................... 138 5.4.11. Módulo Registros. ................................................................................................... 138 5.5. Estructura de la presentación de contenidos. .................................................................... 139 5.5.1. Arquitectura de la presentación de contenidos. ......................................................... 139 5.6. Presentación de contenidos............................................................................................... 142 5.6.1 Distribución de los contenidos de las páginas. ........................................................... 142 5.6.2. Menú de navegación y Menú de sitios de interés. ..................................................... 148 5.6.3. Caja de contenidos. .................................................................................................... 151 5.6.4. Selector de noticias. ................................................................................................... 153 5.6.5. Galería de imágenes. ................................................................................................. 156 5.6.6. Registro a Eventos. .................................................................................................... 157 5.7. Instalación de Moodle. .................................................................................................... 160 5.8. Instalación de phpBB. ...................................................................................................... 161 5.9. Presentación final del portal Web de la Licenciatura en Informática. .............................. 162 Capítulo 6 Resultados y Conclusiones. ........................................................................... 165 6.1. Resultados. ....................................................................................................................... 166 6.2. Conclusiones. ................................................................................................................... 167 6.3. Trabajo a futuro. ............................................................................................................... 167 Glosario de Términos ...................................................................................................... 168 Referencias Bibliográficas. ............................................................................................. 169 Capítulo 1 Introducción 1 Capítulo 1 Introducción. 1.1.Historia de la Licenciatura en Informática. Hoy en día hablar de tecnología, se ha convertido en una cuestión común dentro de nuestra vida diaria, dispositivos electrónicos como lo son la radio, teléfono, televisión, computadoras y tecnologías como Internet son imprescindibles en nuestra vida, nos mantienen en constante comunicación con el exterior e informados del acontecer en todo el mundo, concebir nuestra vida diaria sin el uso de esas tecnologías es prácticamente imposible. Desde sus inicios las computadoras han sido concebidas como una herramienta que facilite y agilice el cálculo de operaciones matemáticas a grandes velocidades, así como el procesamiento de enormes cantidades de información, con la finalidad de agilizar procedimientos que sin dichas herramientas llevarían días para su realización. La automatización de procesos, ha sido una constante en el ser humano desde la revolución industrial, facilita llevar a cabo procedimientos largos y tediosos y las computadoras han venido a reafirmar que la automatización es de vital importancia para el éxito de la industria de un país. Así de ésta manera podemos decir que la Informática es la ciencia que se encarga del análisis y tratamiento automatizado de la información. La Informática es una ciencia interdisciplinaria que se formó a partir de otras ciencias y de la necesidad de proveer grandes cantidades de información de manera rápida y constante, ayudando y mejorando la toma de decisiones en los ámbitos empresarial, educativo y de gobierno, así las tecnologías de la información y las telecomunicaciones son partes vitales en el desarrollo económico, político, social y cultural de un país. Vivimos en un mundo globalizado en cuál es necesario contar con toda la infraestructura material y humana para poder competir a nivel mundial brindando e implementando soluciones a los problemas relacionados con la industria, la educación y el país, para ello es necesario contar con profesionales con los conocimientos y aptitudes requeridos para Capítulo 1 Introducción 2 implementar e innovar en las nuevas tecnologías de la información, que han llevado a la sociedad a una nueva era en la cual las formas de comunicación se han transformado por completo y lo siguen haciendo a un ritmo acelerado, la obtención de información de fácil acceso es importante para el desarrollo y éxito de una sociedad. Las tecnologías de la información han llevado a las naciones a acelerar su ritmo de vida a tal grado que no se logra cubrir la demanda de profesionistas capaces de implementar o crear nuevas tecnologías. Actualmente los niños de nuestra época nacen y crecen con nuevos adelantos tecnológicos, y se adaptan más fácil a éste entorno, creando una brecha generacional con personas que en su infancia y juventud no contaban con éstas herramientas, viendo así el nacimiento de un nuevo analfabetismo llamado analfabetismo tecnológico. El fenómeno de la información al alcance de la mano, es debido en gran medida a las redes de computadoras como lo es el Internet, conceptos como correo electrónico, chat, buscadores, son comunes hoy en día en la comunicación y en la búsqueda de información. La propia UNAM actualmente brinda servicios de Internet, consulta bibliográfica, educación a distancia, así como trámites y obtención de información relacionada con alumnos y académicos entre otros, mediante el uso de computadoras. Hacer frente a la nueva era tecnológica, así como automatizar y optimizar procesos que beneficien a instituciones públicas y privadas reduciendo costos y brindando información clara y oportuna que auxilie en la toma de decisiones, son tareas que un Licenciado en Informática tendrá que asumir. Ante este panorama la Universidad Nacional Autónoma de México en su Facultad de Estudios Superiores Cuautitlán, participa desde la implantación del plan de estudios de 1985 en la formación de profesionistas capaces de entender, analizar, implantar e innovar en el campo de las tecnologías de la información, impartiendo la Licenciatura en Informática a fin de brindar jóvenes que enfrenten el reto de la nuevas tecnologías para nuestra sociedad. Capítulo 1 Introducción 3 Así de acuerdo al Proyecto de Creación del Plan de Estudios de la Licenciatura en Informática 2003, la historia de la Licenciatura en Informática se puede resumir en lo siguiente: El 25 de septiembre de 1990 el H. Consejo Técnico Universitario de la Facultad de Estudios Superiores Cuautitlán aprobó la impartición de la Licenciatura en Informática, utilizando los programas y el plan de estudios aprobados porel H. consejo Universitario el 16 de enero de 1985 para la Facultad de Contaduría y Administración (FCA), las actividades se iniciaron para el periodo 91-I.1 En el año de 1998 con la participación de profesores, alumnos e investigadores se reinician los trabajos para desarrollar un proyecto de creación y actualización del plan de estudios adoptado en 1990, y el resultado de estos trabajos se cristaliza a principio del año 2000 que desarrollara y actualizara el plan de estudios que la Licenciatura adopto en el año de 1990, este trabajo que se presentó al H. Consejo Técnico de la FES-Cuautitlán que después de una revisión profunda de la cuál surgieron distintas modificaciones, lo aprueba el 31 de mayo de 2000. 1 Una vez aprobado el plan de estudios propuesto, se cumplió con observaciones de distintas instancias universitarias, hasta ser presentado en el CAACS (Consejo Académico del Área de las Ciencias Sociales), el cual lo revisó y en sesión plenaria del 9 de julio de 2003 emitió un dictamen favorable y lo turnó a la comisión de trabajo académico del H. Consejo Universitario. 1 De la misma forma el proyecto es revisado por la comisión de trabajo académico del H. Consejo Universitario el cuál en su sesión del 9 de septiembre de 2003 recomienda al pleno del H. Consejo Universitario la aprobación del proyecto. 1 1Proyecto de Creación del Plan de Estudios de la Licenciatura en Informática 2003. Capítulo 1 Introducción 4 Finalmente con los dictámenes favorables el H. Consejo Universitario acordó aprobar el proyecto de creación del plan de estudios de la Licenciatura en Informática en su sesión del 26 de septiembre de 2003. 1.2.Definición del problema. La World Wide Web (WWW) comenzó a desarrollarse a principios de la década de los noventa como un medio para intercambiar documentación entre científicos e investigadores. Con el paso del tiempo y de manera acelerada, esta tecnología comenzó a difundirse no solo dentro del ámbito académico, sino también en el empresarial y doméstico. Los documentos de texto que se presentaban en la Web, cada día se hacían más complejos en cuanto a la adición de gráficos, audio y video, hasta el punto de que en la actualidad estos contenidos se han transformado en elementos totalmente multimedia. En esto días los términos correo electrónico, foros de discusión, tiendas virtuales, redes sociales, etc. son muy comunes dentro de nuestra sociedad y nos han hecho experimentar cambios significativos sobre el concepto que se tenía de una computadora y la comunicación. Un sitio Web es capaz de mantenernos informados sobre noticias relevantes alrededor del mundo, rompe la barrera de la distancia y mantiene la comunicación sin importar el lugar en el que te encuentres, además de que genera un punto de encuentro para personas con los mismos intereses dentro de los temas abarcados por el sitio Web. La licenciatura en Informática dentro de la Facultad de Estudios Superiores Cuautitlán, forma profesionales capaces de implementar e innovar en las nuevas tendencias en tecnologías de la información, desafortunadamente a pesar de contar con estudiantes y personal con las habilidades requeridas para la implementación de un sitio Web, no se cuenta con un portal dinámico y factible en su mantenimiento, para establecer la comunicación a través de Internet entre estudiantes, profesores y la coordinación de la carrera. El sitio con el que cuenta la carrera es accesible a través del siguiente link http://informatica.cuautitlan2.unam.mx/ y en él se puede observar que este aun se Capítulo 1 Introducción 5 encuentra bajo construcción, lo cual representa un inconveniente para toda la comunidad de la licenciatura en informática, ya que aísla a la licenciatura de las nuevas tendencias en tecnológica y la comunicación a través de Internet. Cualquier negocio, universidad, estudiante o profesionista requiere estar conectado con el mundo exterior rompiendo la barrera de la distancia y minimizando el costo de la comunicación sin importar el lugar en que se encuentre, así como el acceso a grandes cantidades de información, para ello es necesario recurrir a tecnologías de la información como lo son Internet, sitios Web, redes sociales, correo electrónico y mensajería instantánea entre otros. Un sitio Web para la Licenciatura en Informática, brindaría un punto de encuentro, así como un medio para estar comunicado y actualizado respecto a temas relevantes y de interés para docentes y alumnos dentro de la Licenciatura. Vivimos un momento único en la historia del hombre. La humanidad nunca estuvo tan conectada. Independientemente de su negocio o profesión, la licenciatura no puede ignorar ser protagonista de la mayor revolución tecnológica de nuestra historia. Tener un medio de divulgación es de suma importancia para mantener la comunicación y la identidad de Informática, si bien el intento de realizar un sitio Web antes mencionado no ha brindado los resultados que se podrían esperar, es necesario retomar la idea y crear un portal propio de la Licenciatura, evitando cometer los mismos errores que se hicieron en el pasado. La principal tarea a realizar cuando se implementa un portal o un sitio Web, es mantenerlo actualizado, para que la más nueva y relevante información relacionada con el tema del portal se encuentre al día, manteniendo a los usuarios, interesados en visitar el portal día a día o por lo menos con regularidad, realizar todo esto no es una tarea sencilla y rápida de hacer, ya que se requiere de personas que tengan conocimientos en distintas tecnologías como lo son HTML, XHTML, CSS y JavaScript entre otros, además de que se requiere de mucho tiempo enfocado a codificar nuevas páginas, o buscar contenidos actuales para modificar las paginas ya existentes. A medida que un portal va creciendo requiere de la implementación de nuevas tecnologías como lo son bases de datos, que ayuden al correcto funcionamiento del portal, así como su mantenimiento. Capítulo 1 Introducción 6 Muchas veces realizar todas estas tareas implican cierto tedio provocando la apatía de implementar y mantener un portal, o simplemente imposibilitan su realización debido a la falta de tiempo, éste es el caso en el cual el portal de la Licenciatura en Informática se encuentra actualmente, debido a la falta de tiempo o de personas que quieran implementar y actualizar el portal, este se encuentra prácticamente olvidado. Debido a todas las razones anteriormente mencionadas es importante que la Licenciatura en Informática cuente con un portal factible en su uso y funcionamiento, por lo que la implementación de dicho portal no solo constará de publicarlo en la Web y mantenerlo actualizado codificando o modificando el código ya escrito, sería incurrir de nuevo en un portal poco viable de mantener, para ello es necesario que el portal cuente con contenidos autoadministrables, es decir que toda la información sea creada y publicada de manera automatizada por un sistema, sin tener que recurrir a escribir o modificar código, al fin y al cabo la Informática es el tratamiento de la información de manera automatizada. Automatizar la creación y publicación de contenidos del portal facilitará de manera importante su implementación y posterior mantenimiento, agilizando la actualización del portal y brindando un medio de divulgación y comunicación para la comunidad perteneciente a la carrera. 1.3.Objetivo General. Diseñar e implementar un portal Web para la comunidad perteneciente a la Licenciatura en Informática con contenidos autoadministrables, facilitando su acceso y administración. 1.4.Objetivos Específicos. Diseñar y crear de un portal autoadministrable, el cual proporcione tanto a alumnos como profesores un medio a través delcual puedan acceder a la información relacionada con la carrera, así como compartir conocimiento con el uso de la tecnología Web. Capítulo 1 Introducción 7 Desarrollar una aplicación Web, la cual permita el ahorro de tiempo y esfuerzo de codificación para la publicación de contenidos, así como también proporcione un método de administración claro y sencillo que brinde el mantenimiento constante del portal. Aplicar las tecnologías Apache, PHP, MySQL, JavaScript, CSS, XHTML y AJAX, así como también el sistema de aula virtual Moodle, basado en todas estas tecnologías. 1.5. Alcances y Limitaciones. Lo que se espera alcanzar con este proyecto es la implementación de portal Web, que permita a los alumnos y profesores mantenerse en constante contacto con los temas relacionados con la carrera, haciendo de este portal fácil de acceder y usar, divulgando noticias y eventos, así como compartiendo conocimiento que ayude a brindar una mejor experiencia como parte de la Licenciatura en Informática, además de que se pretende hacer énfasis en la gestión de los contenidos del portal de manera automatizada, ahorrando tiempo y esfuerzo en la codificación para la presentación de nuevos contenidos, para lo cual se creará una aplicación netamente utilizando tecnologías libres que ayuden a dar un mantenimiento y actualización al portal de manera regular, para ello el portal y sistema que gestionara sus contenidos tendrán diferentes tareas, así como también los usuarios dependiendo de su tipo podrán realizar distintas actividades. • El portal mostrará una página Web principal a través de la cual se accesará a los distintos servicios y contenidos que se brindan. • Los contenidos y servicios que se ofrecerán dentro del portal son: 1. Información de la Licenciatura en Informática, como lo es el perfil de ingreso, el perfil de egreso, campo laboral, opciones de titulación entre otras. 2. Plan de Estudios, como está organizado, su estructura y las materias que se llevaran por semestre. 3. Noticias y Artículos relacionados con la Licenciatura o temas actuales y de interés a cerca de las nuevas tendencias en Informática. Capítulo 1 Introducción 8 4. Galería de imágenes de las instalaciones, eventos y de la comunidad estudiantil. 5. Publicación de cursos que ayuden a la comunidad a ampliar sus conocimientos. 6. Código fuente compartido por la comunidad, el conocimiento es libre y por tanto debe ser compartido por todos. 7. Publicación de manuales que permiten a alumnos y profesores llevar a cabo un procedimiento mediante una guía. 8. Un foro de discusión en el cual los alumnos y profesores resolverán dudas y compartirán sus experiencias y conocimientos relacionados con el mundo de las tecnologías de la información. 9. Una serie de descargas de software de libre distribución, útil para la realización de las actividades estudiantiles. 10. Un aula virtual, la cuál complementará y ayudará a profundizar en los temas vistos en el salón de clases. • Todos los contenidos mencionados anteriormente serán gestionados por un sistema independiente, al cual solo tendrá acceso el administrador del portal, no permitiendo así el mal uso del mismo, teniendo un mayor control en cuanto a qué se publica dentro del portal y evitando la publicación de contenidos basura. • El gestor de contenidos permitirá la adición de nuevas categorías, no limitando a las ya mencionadas con anterioridad. • Los alumnos y profesores podrán generar posts dentro del foro discusión, manteniendo el respeto y evitando el uso de lenguaje inadecuado, para ello el administrador vigilará y mantendrá un control de los post que se publican. • Los alumnos y profesores podrán subir códigos fuente desarrollados por ellos, teniendo en cuenta que solo se podrán subir aplicaciones y su código, no permitiendo archivos maliciosos o que estén fuera del ámbito y los temas Capítulo 1 Introducción 9 relacionados con esta sección, para ello el administrador tendrá que mantener un control, acerca de qué es lo que se está subiendo al portal. Capítulo 2 Marco Teórico 10 Capítulo 2 Marco Teórico 2.1. Internet Internet es una red global que conecta y mantiene comunicadas a millones de computadoras, es un conjunto de redes de computadoras interconectadas entre sí haciendo el uso de una serie de tecnologías como lo son la familia de protocolos TCP/IP, a pesar de que los servicios de Internet en muchas ocasiones se proveen de manera centralizada, Internet es descentralizada por diseño, es decir que cada red subyacente es independiente de la otras, tanto en arquitectura como en infraestructura. 2.1.1. Historia de Internet En la década de 1960 la Agencia de Investigación de Proyectos Avanzados (ARPA hoy DARPA) de los Estados Unidos de América, se enfrenta a la necesidad de contar con un sistema de comunicaciones que pudiera sobrevivir a un conflicto entre las dos superpotencias de aquel entonces EUA y la URSS. La solución a este problema surge con la idea de una red de computadoras, en la cual cada nodo o computadora conectada a las demás no afectara el tráfico de la red si este llegara a desaparecer por cualquier motivo, así cada nodo determinaría la ruta a seguir de los datos que se enviarán dividiría los datos en paquetes. En 1961 Leonard Kleinrock del Instituto Tecnológico de Massachusetts hizo la primera publicación sobre conmutación de paquetes (la tecnología que permitía dividir datos en paquetes y que cada uno siguiera rutas distintas, para ser unidos de nuevo en el punto de destino). De esta manera y siguiendo el trabajo de Kleinrock, Lawrence Roberts en 1965 conecta TX2 en Massachusetts con un Q-32 en California a través de una línea telefónica conmutada, creando la primera red. Capítulo 2 Marco Teórico 11 En 1969 se crea ARPAnet, a partir de la necesidad de ARPA de una red de comunicaciones y de los trabajos de Kleinrock y Roberts, estableciendo el primer nodo de la red en la Universidad de California en los Ángeles (UCLA) y creando el segundo nodo en el Stanford Research Institute de la Universidad de Stanford, realizando la conexión a través de una línea telefónica conmutada. En 1972 se desarrolla la primera demostración pública de la red, presentando también el primer programa de correo electrónico, así la red comienza a expandirse y llenarse de actividad a través de los cerca de 40 nodos conectados. Para el año de 1983 ARPAnet cambia el protocolo de comunicaciones NCP (Network Control Program)2 por el protocolo que actualmente usa Internet el TCP/IP. Para ese entonces la red cuenta con 500 servidores y se separa la red militar de la red civil considerándose el nacimiento de Internet. En 1986 la NSF (National Science Fundation) crea su propia red llamada NSFNETcon propósitos científicos y académicos. Para el año de 1989 ARPAnet desparece, pero muchas instituciones ya cuentan con su propia red, además de que se integra el modelo OSI creado en 1984 a la arquitectura de Internet definiendo así la tendencia actual de interconexión de redes de computadoras con arquitecturas distintas. A principio de la década de los 90 Tim Berners-Lee y un grupo de científicos publican la primera descripción de HTML, además de que desarrollan el primer navegador Web, llamado World Wide Web (WWW), y el primer servidor Web. Ya para el 2011 Internet cuenta con más de 2000 millones de usuarios distribuidos alrededor del mundo. 2Crocker, S.; Carr, S.; Cerf, V. (1973).New HOST-HOST Protocol. Capítulo 2 Marco Teórico 12 2.2. Tecnologías de Internet Internet funciona y provee su servicios a través de distintas tecnologías, generando un incremento en el número de usuario y implementado nuevas tecnologías o mejorando las ya existentes, lastecnologías más usadas por Internet son los protocolos TCP/IP, HTTP, FTP y SMTP. 2.2.1. Protocolo TCP/IP Es un conjunto de protocolos que permiten la interconexión de una o más redes de computadoras, haciendo posible la transmisión de datos sin importar la arquitectura de los nodos, es la tecnología clave para transmisión de datos en la cual está basado Internet. El protocolo TCP (Transfer Control Protocol) está orientado a la conexión garantizando que los datos que han sido enviados a través de la red llegarán a su destino excentos de errores y manteniendo el orden en el cual fueron transmitidos. El protocolo IP (Internet Protocol) es el encargado de desarrollar y transmitir los paquetes en el cual fueron divididos los datos, con el inconveniente de que no garantiza la entrega del total de paquetes. 2.2.2. Protocolo HTTP. HTTP (Hypertext Transfer Protocol), es el protocolo encargado de las transacciones de la World Wide Web, el cual trabaja bajo un esquema de cliente-servidor llevando a cabo el intercambio de información entre los clientes y el servidor HTTP. Este es un sencillo protocolo el cual funciona a través de solicitudes o peticiones que realizan los clientes, para posteriormente obtener una respuesta del servidor. Capítulo 2 Marco Teórico 13 2.2.3. Protocolo FTP. FTP (File Transfer Protocol) es el protocolo encargado de la transferencia de archivos basado en la arquitectura cliente-servidor al igual que el protocolo http, a través de éste protocolo un cliente hace una petición a un servidor FTP para descargar o enviar archivos, para posteriormente recibir la respuesta del servidor, cabe destacar que tanto el FTP como el http funcionan bajo la arquitectura de red del protocolo TCP/IP. 2.2.4. Protocolo SMTP. SMTP (Simple Mail Transfer Protocol) al igual que los dos protocolos anteriores está basado en una arquitectura cliente-servidor, este protocolo está encargado de la transmisión de correo electrónico entre computadoras, este protocolo este basado en texto, ya que cuando un usuario envía un correo electrónico manda una petición al servidor, que consta completamente de texto. La respuesta es dada de igual forma por el servidor. 2.2.5. Funcionamiento de Internet. El funcionamiento de Internet se da a través de la arquitectura cliente servidor, de esta manera y bajo el esquema de esta arquitectura podemos definir al cliente y al servidor de la siguiente manera: • Cliente: Es la computadora la cual a través del uso de la red realiza peticiones o servicios, bajo un protocolo definido. Por ejemplo la solicitud de acceso a una página Web, la transferencia de un archivo o el envío de un correo electrónico. • Servidor. Es la computadora encargada de procesar las peticiones del cliente y dar una respuesta a su petición brindando un servicio. Por ejemplo cuando un servidor recibe la petición de transferencia de un archivo y éste da como repuesta la descarga del mismo. Capítulo 2 Marco Teórico 14 Así para identificar cada nodo o computadora dentro de la red de redes, este tiene asignado un identificador numérico único llamado dirección IP. Así también es necesario contar con un punto de acceso a Internet, el cuál es proporcionado por un Proveedor de Servicios de Internet que se encarga de brindar la conexión física a la red, ya sea por medio de un cable de conexión o vía inalámbrica mediante un dispositivo, el cual puede ser una línea conmutada o un router. Así cuando se establece la conexión, el cliente realiza una serie de peticiones que son enviadas al servidor a través de la red, pasando por una serie de nodos o computadoras intermediarias, de esta manera los datos que son divididos en paquetes, pasan por una serie de capas de red, en las cuáles la familia de protocolos TCP/IP determinarán como deben ser enviados y reconstruidos los paquetes de datos, para que estos puedan ser comprendidos por el nodo o computadora que los recibe. Las capas del modelo TCP/IP por las que pasan los datos son las siguientes: Capa 4 o de aplicación: Es la encargada de aplicar los protocolos necesarios para convertir los datos en información comprensible para el usuario. Capa 3 o de transporte: Es la encargada de aplicar los protocolos necesarios para dividir los datos en paquetes y asignarles un orden, así como también reconstruirlos en el orden adecuado y verificar que los datos han sido transmitidos de manera correcta. Capa 2 o de red: Es la encargada de aplicar los protocolos necesarios para determinar la dirección del nodo a la cual los datos deben de ser enviados. Capa 1 o de enlace: Es el acceso al medio de transmisión, es decir la conexión física, y la verificación de que puedan ser enviados paquetes IP. Capítulo 2 Marco Teórico 15 2.2.6. Internet y Sociedad. Internet es una red global que conecta y mantiene comunicadas a millones de computadoras, es un conjunto de redes de computadoras interconectadas entre sí haciendo el uso de una serie de tecnologías como lo son la familia de protocolos TCP/IP, a pesar de que los servicios de Internet en muchas ocasiones se proveen de manera centralizada, Internet es descentralizada por diseño. Así podemos determinar que Internet es un punto de encuentro y comunicación que mantiene conectados a millones de personas alrededor del mundo. Internet no es un solo medio de comunicación, es un conjunto medios y herramientas que establecen la comunicación sin importar la distancia y el lugar en el que te encuentres, cabe destacar que Internet no es sinónimo de la World Wide Web (WWW), ya que esta última es uno de los muchos servicios que se ofrecen en Internet, servicios como lo son correo electrónico, chat, redes sociales, etc. Internet es un medio que crece día con día, cada vez existen más usuarios utilizando la red global, como un medio de comunicación e información, así según Hamadoun Touré que es el secretario general de la Unión Internacional de Telecomunicaciones (ITU), la cuál es el organismo perteneciente a la Organización de las Naciones Unidas (ONU) encargado de regular las telecomunicaciones a nivel internacional, declaró que en el 2011 hay más de 2000 millones de usuarios en Internet en todo el mundo, de esta manera podemos ver la acelerada expansión de la red de redes en todo el orbe, ya que según dicho organismo declaró que en el año 2000 solo existían 250 millones de usuarios, y que para el 2015 la mitad de la población mundial contará con acceso a banda ancha móvil. Según las últimas estadísticas de la ITU presentadas en el 2010 ésta es la situación actual de Internet en mundo. Capítulo 2 Marco Teórico 16 Figura 1: Situación actual de Internet en el mundo Así no podemos ignorar qué el presente y futuro de las tecnologías de la información se en encuentra en Internet y las aplicaciones que funcionan bajo ésta plataforma. Fuente: ITU World Telecommunication/ICT Indicators database. 2.3. World Wide Web. La World Wide Web (WWW) o también conocida simplemente como la Web es el universo de información que puede ser accedido a través de Internet, a lo largo de su historia se ha expandido a tal grado, que en la actualidad es el punto de partido para el acceso al conocimiento ilimitado, bajo esta premisa podemos decir que la Web es la encarnación del saber humano en medios electrónicos. Desde un punto de vista técnico la Web es un sistema mediante el cual una serie de servidores proporcionan documentos de texto en un formato que permite acceder a otros documentos mediante un enlace llamado hipervínculo, a dicho formato se le denomina hipertexto. Para realizar estos documentos con el formato mencionado con anterioridad, la Web se auxilia de un lenguaje de marcado llamado HTML el cuál se explicará en puntos posterioresde esta Tesis. Capítulo 2 Marco Teórico 17 Para poder acceder la Web, a parte de una conexión a Internet es necesario contar con un software llamado Navegador Web (del inglés Web Browser) que permita el acceso a la información de la telaraña mundial, en actualidad existe una amplia diversidad de navegadores accesibles a los usuarios, entre los más conocidos se encuentran Internet Explorer y Firefox. Es importante recalcar que la WWW no es lo mismo que Internet, ya que esta última tecnología es la plataforma sobre la cual la WWW presenta y comparte sus contenidos. 2.3.1. Historia de la World Wide Web. La historia de la WWW se remonta a la mitad de la década de 1940 cuando el Doctor Vannevar Bush propone la creación de un dispositivo de uso personal para el almacenamiento y consulta de información, ligando los documentos contenidos en dicho dispositivo mediante el uso de vínculos. En el año de 1965 Ted Nelson ideó un modelo mediante el cual los documentos estuvieran vinculados unos con otros, acuñando así el término de hipertexto. En la segunda mitad de la década de 1980 Tim Berners-Lee crea un software denominado ENQUIRE, el cual constaba de una serie de ideas similares a la Web pero con claras diferencias, ya que este era un software de uso personal, el cual no permitía el compartir información a través de Internet. Fue hasta el año de 1989 cuando Tim Berners-Lee crea el prototipo inicial de la Web desde su computadora NeXTStep. Esto permitió la simple adición de nuevos enlaces y nuevos documentos, como un editor wysiwyg que busca al mismo tiempo. Sin embargo, el despliegue limitado de NexStep limitaba su visibilidad. La Web inicial que describe la Web fue escrito usando esta herramienta, con enlaces a archivos de sonido y gráficos, y fue publicado por un simple servidor HTTP.3 3Berners-Lee, Tim (1996).The World Wide Web: Past, Present and Future. Capítulo 2 Marco Teórico 18 Este fue el inicio de la WWW, que mediante el uso de tecnologías como lo son HTML que fue creada por el mismo Tim Berners-Lee en su concepción de la Web y HTTP lograba una sinergia entre el hipertexto e Internet. Hoy en día en el 2011 la WWW es accedida por los más de 2000 millones de usuarios de Internet cambiando de manera drástica el concepto que se tenía de comunicación y acceso a la información, así como también la forma de hacer negocios, la educación y el establecimiento de relaciones sociales, ya que actualmente muchas de éstas actividades son realizadas a través de la Web. 2.4. Tecnologías de la World Wide Web. La WWW proporciona el acceso a la información en la red mediante servidores y el uso del protocolo HTTP el cuál ya fue explicado en el apartado de tecnologías de Internet, en cuanto a la presentación y acceso a la Información la WWW se auxilia de tecnologías como lo son URL, HTML, XML, XHTML y CSS entre otras. 2.4.1. URL. URL (Uniform Resource Locator) o localizador uniforme de recursos es el formato para cadenas de caracteres que permite acceder a los recursos e información de la World Wide Web. Mediante el uso de esta cadena se asigna una dirección única a los recursos contenidos dentro de la Web. Así el formato de una URL consta de de 4 partes que son el protocolo, el anfitrión o nombre del servidor (el cual puede ser escrito con la dirección IP o con el nombre de la máquina y el dominio), el puerto y la ruta del recurso, escribiendo la cadena como se muestra a continuación . Protocolo://Servidor:Puerto/Ruta del recurso. Capítulo 2 Marco Teórico 19 En el uso cotidiano de las URL, no es muy común escribir el puerto, aunque a veces es necesario hacerlo, por ejemplo cuando se tienen dos servidores Web instalados en una misma computadora es necesario escribir el puerto por el cual funcionan. En el caso de páginas Web principales no es necesario escribir la ruta del recurso, ya que este tipo de páginas son el punto de acceso a los recursos de un sitio Web o portal. Ejemplos de URL. http://www.google.com.mx http://132.161.254.60 ftp://ftp-stud.hs-esslingen.de/pub/Mirrors/archive.fedoraproject.org http://localhost:81/CMS/prueba.php http://www.unam.mx/pagina/es/1/comunidad-unam-estudiantes-oferta-academica https://www.dgae.unam.mx/planes/fes_cuautli/Inform-Cuau.pdf 2.4.2. HTML. HTML (HyperText Markup Language) es el lenguaje de marcado utilizado para la construcción de páginas Web, ya que permite describir su estructura, HTML fue creado por Tim Berners-Lee y su equipo en 1980 como una propuesta de un sistema de hipertexto que mejoraba y ampliaba al lenguaje de marcado SGML, todo esto fue concebido para dar nacimiento a la Web, haciendo la publicación del primer documento de referencia de HTML en 1991 llamado “HTML Tags”. Capítulo 2 Marco Teórico 20 HTML da la posibilidad de acuerdo a lo publicado en el sitio Web de la World Wide Web Consortium de: • Publicar documentos en línea con los títulos, textos, tablas, listas, fotos, etc.4 • Recuperar la información en línea a través de enlaces de hipertexto, en el tecleo de un botón. 4 • Diseño de formularios para realizar transacciones con servicios remotos, para su uso en la búsqueda de información, hacer reservas, pedir productos, etc. 4 • Propagación de hojas, videoclips, clips de sonido y otras aplicaciones directamente en sus documentos. 4 La base de HTML es el marcado, hecho mediante el uso de etiquetas que determinan, la presentación y estructura de los contenidos del documento. La escritura de una etiqueta HTML, se hace mediante el uso de palabras clave encerrada en paréntesis o corchetes angulares (<>), dando el lugar al siguiente formato. <etiqueta> En el lenguaje HTML a cada etiqueta o elemento se le pueden añadir atributos que modifican su comportamiento y presentación mediante el siguiente formato. <etiqueta atributo = ”valor”> Mediante el uso de estas etiquetas de puede dar estructura a un documento o página, la estructura de un documento HTML se conforma de dos partes que son: la cabecera y el cuerpo. La cabecera contiene la información acerca de la página como lo puede ser el título, el autor o el idioma. El cuerpo contiene toda la información que el documento o página presenta, como lo son el texto, imágenes, hipervínculos, etc. 4World Wide Web Consortium.http://www.w3.org/standards/webdesign/htmlcss (08/04/2011) Capítulo 2 Marco Teórico 21 Figura 2: Estructura de un documento HTML A continuación se muestra la estructura básica de un documento o página HTML. Figura 3: Estructura básica de un documento HTML Al realizar una página Web haciendo uso de HTML solamente, el aspecto visual de esa página queda totalmente limitado, ya que como se menciono con anterioridad HTML solo se hacer cargo de la estructura, por lo que hay que recurrir al uso de otras tecnologías como lo es CSS. Capítulo 2 Marco Teórico 22 2.4.3. XML. XML (Extensible Markup Language) es un lenguaje de marcado con la principal característica de que es extensible, es decir no se limita al uso de etiquetas ya predefinidas como es el caso de HTML, XML fue creado por la World Wide Web Consortium y no es un lenguaje de marcado para ser aplicado solamente en entornos Web, XML fue concebido como un medio para compartir información de manera estructurada entre distintas aplicaciones y plataformas, así este lenguaje puede ser usado por aplicaciones que han sido escritas en distintos lenguajes de programación. Así por ejemplo se puede definir un documento estructurado que contenga información a cerca de un empleado, un mensaje, una empresa o una dirección,la imaginación es el límite para describir un documento mediante XML, la principal base sobre la cual se crea un documento XML es presentar la información de la manera más estructurada, abstracta y reutilizable posible. A continuación se muestra un ejemplo de la estructura de un documento XML. Figura 4: Estructura de un documento XML 2.4.4. XHTML. XHTML es una variante del lenguaje HTML definida mediante el lenguaje de marcado extensible XML, así se puede decir que XHTML es una adaptación de HTML al lenguaje XML, por lo que mantiene la etiquetas de HTML pero añade nuevas características, así como restricciones, variando un poco en la sintaxis. Capítulo 2 Marco Teórico 23 Una de las principales diferencias entre HTML y XHTML, es que el primero permite ciertas inconsistencias en su sintaxis, por ejemplo HTML permite el uso de mayúsculas y minúsculas sin ninguna distinción, mientras que en XHTML todas las etiquetas deben de ser escritas en minúsculas. Ejemplo de el uso de etiquetas correctas para HTML pero incorrecta en XHTML. <P>Da Clic <A href = “http://www.unam.mx/>aqui</A></P> La forma correcta de hacerlo en XHTML sería. <p>Da Clic <a href = “http://www.unam.mx/>aqui</a></p> Otra diferencia en la sintaxis es que en HTML no es necesario cerrar todas las etiquetas, mientras que en XHTML es necesario cerrarlas, por ejemplo la etiqueta <br> se utiliza para el salto de una línea y su uso correcto en HTML sería así. <br> Mientras que el uso correcto en XHTML sería el siguiente. <br></br> Cuando una etiqueta abre y cierra sin tener algún contenido dentro de ella XHTML permite cerrarla de manera automática mediante el uso del siguiente formato. <br /> Capítulo 2 Marco Teórico 24 Así bajo este esquema de diferencias se puede apreciar que mediante el uso de XHTML la escritura de un documento se realiza de manera más ordenada y legible, facilitando su mantenimiento. 2.4.5. CSS. CSS (Cascading Style Sheets) u Hojas de Estilo en Cascada es el lenguaje encargado de controlar el aspecto visual de una página Web, en base a la estructura definida en HTML, así las hojas de estilos se encargan de la manipulación del color, las fuentes, la distribución del contenido y los efectos visuales, permitiendo que los contenidos puedan ser visualizados en cualquier resolución de pantalla, mediante el uso de este lenguaje se mejora en gran medida la separación de la estructura y su presentación, añadiendo diversas ventajas como lo son una mejor accesibilidad, reducir la dificultad y mantenimiento de sitios Web o portales de gran envergadura, además de que permite visualizar el sitio en diferentes dispositivos. CSS fue creado por la World Wide Web Consortium (W3C) a través de 2 propuestas de hojas de estilo llamadas CHSS (Cascading HTML Style Sheets) y la SSP (Stream-based Style Sheet Proposal), las cuáles fueron desarrolladas por Hakon Wium Lie y Bert Bos respectivamente. Así entre 1994 y 1995 Wium y Lie se unieron para tomar lo mejor de cada lenguaje y crear uno nuevo, dando nacimiento a CSS, fue a finales de 1996 cuando la W3C público la primera recomendación oficial de CSS llamada “CSS nivel 1”. El funcionamiento básico de CSS es primero mediante la creación de la estructura de la página Web mediante el uso ya sea de HTML o XHTML para definir los elementos contenidos dentro de la página, como lo pueden ser títulos o encabezados, párrafos, hipervínculos, tablas, listas, imágenes, etc. Una vez realizado lo anterior mediante el uso de CSS se define el aspecto visual de cada elemento, como lo es el color, fuente, tamaño de la letra, distribución dentro de la página Web, etc. Capítulo 2 Marco Teórico 25 La siguiente figura muestra las partes de las que se compone un estilo hecho en CSS de manera básica. Figura 5: Partes de un estilo CSS Fuente: http://www.librosWeb.es/css/capitulo1/glosario_basico.html Así Javier Eguíluz Pérez en su libro Introducción a CSS define cada elemento de la siguiente manera: • Regla: cada uno de los estilos que componen una hoja de estilos CSS. Cada regla está compuesta de una parte de "selectores", un símbolo de "llave de apertura" ({), otra parte denominada "declaración" y por último, un símbolo de "llave de cierre" (}).5 • Selector: indica el elemento o elementos HTML a los que se aplica la regla CSS. 5 • Declaración: especifica los estilos que se aplican a los elementos. Está compuesta por una o más propiedades CSS. 5 • Propiedad: característica que se modifica en el elemento seleccionado, como por ejemplo su tamaño de letra, su color de fondo, etc. 5 • Valor: establece el valor de la característica modificada en el elemento. 5 5Eguíluz, Javier (2011). Introducción a CSS. Capítulo 2 Marco Teórico 26 El uso de CSS se puede realizar de manera totalmente independiente del sitio Web que esta definiendo su aspecto visual, dando la posibilidad de aplicar un mismo estilo a más de un sitio Web, sin que estos tengan relación entre sí. Es imprescindible el uso de hojas de estilo si se quiere tener un sitio Web o portal dinámico y sencillo en su mantenimiento. 2.4.6. Navegador Web. Un navegador Web o Web Browser en inglés, es un software el cual permite visualizar y acceder a páginas Web y otros recursos, como aplicaciones y archivos almacenados entre otros. La funcionalidad básica del navegador Web es la de realizar las peticiones de páginas Web y recursos al servidor, para posteriormente recibir la respuesta e interpretar el código HTML/XHTML, además del CSS y otros recursos y presentarlo en pantalla para el usuario. Hoy en día existen diversos navegadores Web entre los cuáles elegir, pero desafortunadamente algunos de ellos realizan su propia interpretación del código de las hojas de estilo y scripts hechos en lenguajes tales como lo es JavaScript, haciendo que los desarrolladores Web en muchas ocasiones tengan que realizar diferentes implementaciones del mismo sitio o portal Web para que este pueda ser visualizado en los distintos navegadores que hay, uno de los más conocidos por no respetar los estándares Web es el navegador de Microsoft Internet Explorer. Los navegadores Web más usados hoy en día son Internet Explorer, Firefox y Google Chrome, siendo estos últimos dos multiplataforma, ya que funcionan en entornos Unix, Linux, Mac y Windows. Capítulo 2 Marco Teórico 27 2.4.7. Funcionamiento de la World Wide Web. El funcionamiento de la Web se da a través de la arquitectura cliente-servidor, es decir un cliente hace peticiones a un servidor, para posteriormente recibir una respuesta a su petición, así el primer paso para acceder a la Web es mediante la inserción de de la URL del servidor al que se quiere acceder en el navegador Web para que éste pueda contactar al servidor Web y así comenzar la transmisión de datos divididos en paquetes, ya que hay que recordar que la transmisión de información mediante Internet se da a través de paquetes de datos. Una vez establecida la conexión entre el cliente y el servidor, el cliente realiza la petición de la página Web a la que quiere accesar. La petición de una página establece diversa conexiones con el servidor solicitando de manera ordenada los elementos que forman parte de la página Web, solicitando primero el texto para el cual se establece una conexión y después solicitando las imágenes y archivos externos que conforman la página como lo son las hojas de estilo, estableciendo una conexión independiente para cada uno. Ya que se ha enviado la petición el servidor Web, realiza una búsqueda de los archivos solicitados en su disco duro, si los archivos son encontrados los envía como respuestaal cliente y si no da como respuesta un código de error como el que se muestra en la figura. Figura 6: Error 404, que se da cuando una página Web no es encontrada. Capítulo 2 Marco Teórico 28 Cuando el servidor da una respuesta exitosa y envía los archivos solicitados, estos son recibidos por el cliente, de esta manera el navegador Web se encarga mostrar la página Web tal y como ésta descrita en el archivo HTML/XHTML y su aspecto visual definido el archivo CSS, posteriormente y como último paso el navegador añade las imágenes y otros recursos que forman parte de la página Web como lo son aplicaciones. A continuación se muestra una imagen con el funcionamiento básico de la Web. Figura 7: Funcionamiento básico de la Web 2.5. Sitio Web y Portal Web. 2.5.1. ¿Qué es un Sitio Web? Para poder establecer que es un sitio Web primero tenemos que definir que es una página Web. Una página Web es un documento electrónico estructurado y detallado en un formato de hipertexto mediante el uso de lenguajes de marcado como HTML y XHTML, mejorando su aspecto visual mediante el uso de hojas estilo, haciendo que este tipo de documentos tengan contenidos de carácter totalmente multimedia. Capítulo 2 Marco Teórico 29 Con la definición anterior se puede establecer que un sitio Web es un conjunto de páginas Web relacionadas entre sí pertenecientes a un dominio en común, que brindan información y recursos acerca de un campo o ámbito del saber humano. Todas las páginas Web de un sitio están relacionadas entre sí mediante el uso de hipervínculos, haciendo que el acceso a la información sea más sencillo y este mejor estructurado. Un sitio Web puede estar ligado con otro, de ahí el nombre de la “Gran Telaraña Mundial”, ya que los enlaces a otras páginas o sitios, son su principal ventaja y característica haciendo que todas las relaciones simulen una gran telaraña. Cabe destacar que una página Web no es sinónimo de sitio Web, ya que el primero es solo un archivo HTML/XHTML, mientras que el sitio Web es todo un conjunto de páginas. Un sitio Web está alojado en un servidor Web, para que mediante el servidor el sitio pueda ser accedido a través de Internet. 2.5.2. Tipos de Sitios Web. Hoy en día existen una gran variedad de sitios Web los cuáles son clasificados en una gran variedad de clasificaciones de acuerdo a su tipo de contenido, su temática o la forma en la cual muestran la información. Una clasificación general de los sitios Web es tomando en cuenta el dinamismo de su contenido, es decir si la información que presentan es dinámica, cambiando constantemente y permitiendo cierta interactividad con el usuario, así de esta manera se pueden clasificar los sitios en: Capítulo 2 Marco Teórico 30 • Estáticos. Un sitio Web estático es aquel que muestra su información de manera permanente sin cambio alguno, mostrando en muchos casos solamente texto o añadiendo una cantidad limitada de gráficos, este tipo de sitios la única interactividad que permiten con el usuario es el uso de hipervínculos necesarios para trasladarse de una página Web a otra. • Dinámicos. Este tipo de sitios están cambiando constantemente, la información que presentan se mantiene actualizada de manera regular, permitiendo quitar o añadir más contenidos de manera sencilla y automática a comparación de los sitios Web estáticos, permiten una mayor interactividad con el usuario mediante el uso de aplicaciones Web, como lo son encuestas, foros de discusión, compras y ventas online, etc. Otra clasificación que es importante mencionar en ésta tesis es tomando en cuenta el objetivo del sitio Web, es decir que pretende alcanzar con su implementación y hacia quienes van dirigidos sus contenidos, por lo que los sitios Web se pueden clasificar en: • Informativos: Orientados a brindar información relevante relacionada con un tema de interés. • Comercio electrónico: Orientados a realizar transacciones de compra-venta a través la Web e Internet. • Educativos: Su principal cometido es el de brindar apoyo a docentes y alumnos para mejorar la experiencia en la adquisición de conocimientos sin importar la distancia. • Buscadores: Brindan un servicio de búsqueda de información contenida en otros sitios. • Redes Sociales: Son sitios mediante los cuáles personas con gustos e intereses afines comparten recursos y se comunican unos con otros. • Portales Web: Son sitios que sirven como un punto de entrada a otros servicios o recursos dentro de Internet o dentro del mismo sitio. • Wikis: Son sitios Web en los cuáles la comunidad colabora conjuntamente para llenar sus contenidos. Capítulo 2 Marco Teórico 31 2.5.3. Portal Web. Un portal Web es un sitio Web cuya principal característica es servir como punto de entrada o puerta de enlace a una serie de recursos y servicios relacionados con un tema en particular, así el termino portal hace referencia a una puerta de tamaño considerable, de ahí el nombre y su objetivo, con lo anterior podemos definir que un portal Web es un conjunto de páginas Web que ofrecen información y servicios o aplicaciones a los usuarios que los visitan, permitiendo al usuario encontrar la información y recursos necesarios con respecto a un tópico en particular sin la necesidad de salir del portal, lo servicios que un portal Web puede incluir son: enlaces a otros sitios de interés, foros de discusión, galerías de imágenes, aplicaciones Web como lo son comercio electrónico y aulas virtuales, páginas de noticias, buscadores y correo electrónico entre otros. 2.5.4. Objetivos de un Portal Web. Como ya se mencionó con anterioridad un portal Web brinda una serie de servicios, que cubren las necesidades del usuario sin tener que salir de él, así el principal objetivo de un portal es servir de intermediario de información requerida para un tema en particular. Un portal Web debe de tener un tema con el cual pueda ligar a internautas que compartan los mismos intereses, proporcionándoles a estos un punto de encuentro para acceder a la información y compartir conocimientos a través de la Web. De esta manera un portal debe de presentar su información de manera clara e integrada, permitiendo que el acceso a toda la información relacionada con el tema del portal se haga de manera sencilla, no es estrictamente necesario que toda la información se encuentre contenida en el portal, ya que éste puede centralizar los recursos e información relacionada con él a través de enlaces a sitios o servicios dentro la World Wide Web. Capítulo 2 Marco Teórico 32 2.5.5. Servicios de un Portal Web. Los servicios que un portal Web puede ofrecer son variados no limitándose a los que se mencionan a continuación. • Servicio de búsqueda: Permite al usuario buscar información, ya sea relacionada con el tema del portal o de cualquier índole a través de aplicaciones de Internet llamadas buscadores. • Foros de Discusión: Permite a los usuarios mantenerse comunicados y en contacto mediante el intercambio de opiniones o puntos de vista sobre un tema en específico. • Contenidos: Mantienen informados a los usuarios sobre los temas actuales acerca de los que trata el portal, publicando y actualizando constantemente la información de dichos temas, los contenidos pueden ser noticias, eventos, artículos, manuales, opciones de entretenimiento, galerías de imágenes etc. • Comercio electrónico: Muestra avisos relacionados con la compra-venta de artículos, además de que brinda la facilidad de realizar transacciones económicas para la compra o venta de dichos artículos sin la necesidad de salir del hogar. • Aulas Virtual es: Permiten a los usuarios complementar y profundizar en los conocimientos adquiridos dentro del aula de clases, facilitandola comunicación y el aprendizaje en todo momento entre docentes y alumnos cuando la distancia es un obstáculo, dando origen a términos como lo es educación a distancia. Capítulo 2 Marco Teórico 33 2.6. Servidor Web. 2.6.1. ¿Qué es un Servidor Web? Un servidor Web o servidor HTTP, es el software encargado de procesar y responder las peticiones de un usuario a través de Internet, dando como resultado a dichas peticiones una página Web, un servicio o un archivo, cabe señalar que aunque estas son sus principales funciones, debido a condiciones ajenas al software no siempre da respuesta a las solicitudes de los usuarios. Otra de las características de un servidor Web es almacenar toda la información de un sitio Web, así como sus recursos. 2.6.2. Arquitectura de un Servidor Web. Un servidor Web funciona mediante la arquitectura cliente-servidor, retomando lo que se explico con anterioridad sobre esta arquitectura, podemos resumir que el cliente realiza peticiones que serán procesadas y respondidas por el servidor, bajo esta arquitectura y mediante el uso del protocolo HTTP, funciona un servidor Web. Figura 8: Arquitectura de un servidor Web. Capítulo 2 Marco Teórico 34 El protocolo HTTP define dos métodos o formas para realizar una petición al servidor, el formato de estas peticiones está definido por el protocolo HTTP y la respuesta se da en un formato similar al de la petición. Los métodos para realizar una petición son el método GET, que envía parámetros con la petición, codificándolos en la URL y el método POST que lo hace como parte del cuerpo de la petición. Una petición HTTP, está formada por tres partes que son: • Línea de la petición: Contiene la página Web o el recurso que se solicita. • Cabecera de la petición: Contiene información sobre el cliente que realiza la petición. • Cuerpo de la petición: En peticiones de tipo POST contiene información adicional como lo son los parámetros. La línea de la petición se compone de: • Método: Puede ser GET o POST • Identificador del recurso: URL o dirección Web • Versión del protocolo utilizado. Mientras que la cabecera de la petición contiene identificadores como lo son el host o el nombre del servidor, el user-agent o navegador Web, así como información de los recursos aceptados por el cliente. Ejemplo de una petición GET. GET /index.html?nombre= Israel Montero HTTP/1.1 Host: www.unam.mx User-Agent: Mozilla/5.0 [es] Accept: image/jpeg, image/gif, text/html Accept-language: es Capítulo 2 Marco Teórico 35 Ejemplo de una petición POST. POST /indice.jsp HTTP/1.0 Host: www.unam.mx http://www.unam.mx/indice.jsp? nombre=Israel Montero&OK=1 User-Agent: Mozilla/5.0 [es] Accept: image/jpeg, image/gif, text/html Accept-language: es nombre=Israel Montero&OK=1 Las respuestas se dan con un formato similar a las peticiones, con la diferencia de que se añade el código HTML/XHTML al cuerpo de la petición, así como los recursos adicionales para visualizar dicha página. Ejemplo de una respuesta HTTP. HTTP/1.1 200 OK Date: Mon, 09 May 2011 06:53:53 GMT Server: Apache/2.0.40 (Fedora Linux) Last-Modified: Mon, 09 May 2011 08:53:53 GMT Accept-Ranges: bytes Content-Length: 428 Connection: close <html> <head><title>Hola</title></head> <body>Ejemplo de respuesta HTTP</body> </html> Capítulo 2 Marco Teórico 36 2.6.3. Funcionamiento de un servidor Web. Un servidor Web siempre está corriendo de manera permanente en la computadora que lo aloja, manteniéndose a la espera de las peticiones de los usuarios, estas peticiones se realizan a través de un cliente HTTP conocido como el navegador Web el cual espera la respuesta a su solicitud para posteriormente interpretarla y presentarla en pantalla, por ejemplo cuando se quiere acceder al portal de la UNAM se introduce en el navegador la URL o dirección que identifica al servidor, al realizar esta acción se envía una petición al servidor Web, el cual buscara en su almacén de datos y en caso de encontrar la página Web, el servidor enviara la respuesta en forma de código HTML/XHTML al navegador el cual la interpretará y mostrará en pantalla. Así podemos decir que el servidor únicamente se encarga de recibir y contestar las peticiones del cliente, mientras que este último solo las interpreta. Las aplicaciones Web pueden funcionar en un servidor de 2 maneras distintas, del lado del cliente o del lado del servidor, en la primera se realiza una petición al servidor y este responde enviando el código de la aplicación que será interpretado por el navegador para ejecutar la aplicación, tal es el caso de los applets de Java y aplicaciones o efectos visuales desarrollados en JavaScript. Las aplicaciones del lado del servidor se ejecutan en la computadora que contiene el servidor Web, para lo cual existen diversos lenguajes de programación en los que se desarrolla dichas aplicaciones, estas aplicaciones procesan la información y muestran sus resultados en formato HTML/XHTML por lo que cualquier navegador puede interpretar dichos resultados, mientras que en las aplicaciones del lado del cliente es necesario tener instalado un complemento adicional llamado plugin que permita ejecutar la aplicación. Los lenguajes de programación más usados para aplicaciones del lado del servidor son PHP, Perl, ASP, JSP, ruby entre otros. Capítulo 2 Marco Teórico 37 2.6.4. Servidor Web Apache. Es un servidor Web HTTP de código abierto mantenido por la Apache Software Foundation, funciona en diversas plataformas o sistemas operativos incluidos Unix, Linux, Mac OS/X, Windows, Netware. Apache proporciona un entorno seguro, rápido, eficiente y extensible que brinda servicios HTTP bajo el estándar 1.0. Apache es el servidor Web más usado hoy en día, teniendo una cuota de mercado según el sitio Web de noticias Netcraft del 59.35% en Enero del 2011, así muchas aplicaciones Web están desarrolladas para funcionar bajo el servidor Web Apache tomando en cuenta sus características. Una de las principales razones por las que Apache es ampliamente usado en la Web, es que forma parte de la plataforma de aplicaciones Web denominada LAMP (Linux, Apache, MySQL y PHP), además de que viene instalado como servidor Web por defecto en muchas distribuciones Linux. 2.6.4.1. Características y Ventajas de Apache. Las principales características y ventajas del servidor Web Apache son las siguientes: • Seguridad y confiabilidad al momento de compartir archivos. • Es código abierto, lo que implica que puede ser modificado, redistribuido y primordialmente se tiene acceso a su código fuente. • Esta liberado bajo la licencia Apache license que permite la distribución de derivados de código abierto y propietario a partir del código fuente original. • Es modular lo que permite extender la funcionalidad del servidor y dar soporte a una gran cantidad de lenguajes de programación como PHP, Perl, Ruby, Python, entre otros, permitiendo también añadir nuevas funcionalidades de comunicación implementando protocolos. Capítulo 2 Marco Teórico 38 • Es multiplataforma ya que funciona en los sistemas operativos Unix, Linux, Mac OS/X, Windows, Netware. • Esta ampliamente difundido en la Web lo que permite conseguir documentación, ayuda y soporte de manera sencilla. 2.6.4.2. Desventajas del Servidor Web Apache. Las principales desventajas del servidor Web Apache son: • Tiene cierto grado de complejidad la configuración de tareas sencillas dentro del Servidor. • La configuración y administración del servidor se realiza mediante la edición manual de los archivos de configuración. Para realizar estas tareas de manera amigable es necesario instalar aplicaciones adicionales que auxilien en estas tareas.
Compartir