Manual de Tecnologías Web 2015

146
Facultad de Ingeniería de Sistemas, Cómputo y Telecomunicaciones Sistema a Distancia TECNOLOGÍAS WEB DANIEL ALEJANDRO YUCRA SOTOMAYOR SANTIAGO RAÚL GONZÁLES SÁNCHEZ 2012

description

Manual de Tecnologías Web 2015, para estudiantes de informática.

Transcript of Manual de Tecnologías Web 2015

Page 1: Manual de Tecnologías Web 2015

Facultad de Ingeniería de Sistemas, Cómputo y

Telecomunicaciones Sistema a Distancia

TECNOLOGÍAS WEB DANIEL ALEJANDRO YUCRA SOTOMAYOR

SANTIAGO RAÚL GONZÁLES SÁNCHEZ

2012

Page 2: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

2 Sistema a Distancia

Í N D I C E

PRIMERA UNIDAD: Internet y World Wide Web 8 Lección 1: Evolución de Internet 10 1.1 Internet 11 1.2 Breve Historia de Internet 11 1.3 Protocolos de Internet 12 1.4 La Web como Tecnología de Internet 13 Lección 2: World Wide Web y Tecnologías Webs 14 2.1 Historia de la World Wide Web 14 2.2 HTML 15

2.2.1 HTML Básico 15 2.2.2 Hojas de Estilo (CSS) 16 2.2.3 HTML Dinámico 17 2.2.4 HTML 5 17

2.3 Protocolo HTTP 18 2.3.1 Versiones de HTTP 20

2.4 Tecnología Web 21 2.5 Tecnologías para el desarrollo Web 22

2.5.1 Navegadores Web 22 2.5.2 Servidores Web 22 2.5.3 Lenguajes de programación para el desarrollo web 23

2.6 Arquitectura Cliente/Servidor 23 Lección 3: Estándares Web 24 3.1 Estándares y otras especificaciones técnicas 24 3.2 World Wide Web Consortium (W3C) 24 Lección 4: Implementación de un Servidor Web 26 4.1 Introducción a los Servidores Web 26 4.2 Servidor Web Apache 26 4.3 Implementación de un Servidor web 27

4.3.1 Compilación de las fuentes del Servidor Web 27 4.3.2 Instalación de un servidor web utilizando GNU/Linux 28

SEGUNDA UNIDAD: Web 2.0 y Web 3.0 46 Lección 5: Fundamentos de la Web 2.0 48 5.1 Historia y Evolución de la Web 48 5.2 Web 1.0 49 5.3 ¿Qué es la Web 2.0? 50 5.4 Aplicaciones más populares de la Web 2.0 50

Page 3: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

3 Sistema a Distancia

5.5 Redes Sociales 52 5.6 Weblogs y Blogósfera 53 5.7 Implementación de un blog personal 53 5.8 Sistema de Gestión de Aprendizaje (LMS) 56

5.8.1 Implementación de un LMS 56 5.9 Sistema de Gestión de Contenidos 59

5.9.1 Implementación de un CMS 60 Lección 6: Fundamentos de la Web 3.0 63 6.1 ¿Qué es la Web 3.0? 63

6.2 Aplicaciones de la Web 3.0 64

6.2.1 SOA 64 6.2.2 Web 3D 65 6.2.3 Realidad Aumentada 65 6.2.4 Apps 66

Lección 7: Web Services 68 7.1 ¿Qué son los Web Services? 68 7.2 Estándares que usan los Web Services 68

7.2.1 Hypertext Transfer Protocol (HTTP) 68 7.2.2 Extensible Markup Language (XML) 69 7.2.3 Simple Object Access Protocol (SOAP) 69 7.2.4 Web Services Description Language (WSDL) 69 7.2.5 Universal Description, Discovery and Integration (UDDI) 69

7.3 Características de los Web Services 69 7.4 Arquitectura de los Web Services 70 Lección 8: Web Semántica 71

8.1 ¿Qué es la Web Semántica? 71

8.2 Componentes de la Web Semántica 75

TERCERA UNIDAD: Tecnologías para el desarrollo Web 89 Lección 9: Arquitectura Web 91 9.1 Presentación Distribuida 91 9.2 Aplicación Distribuida 91 9.3 Arquitectura de las aplicaciones Web 91 Lección 10: Lenguajes de Programación 95 10.1 Historia de las aplicaciones Web 95 10.2 CGI 96 10.3 PHP 97

Page 4: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

4 Sistema a Distancia

10.4 Java Servlets 98 10.5 Java Server Pages (JSP) 99 Lección 11: Acceso a Base de Datos 101 11.1 PostgreSQL 101 11.2 MySQL 101 11.3 MariaDB 102 11.4 FirebirdSQL 102 Lección 12: Framework 104 12.1 JSF 104 12.2 Ruby On Rails 105 12.3 Web2Py 105 12.4 Zend Framework 106 CUARTA UNIDAD: Fundamentos de Seguridad Web 117 y Aplicaciones Empresariales Lección 13: Seguridad en la Web 119 13.1 Consideraciones en la Seguridad en la Web 121 13.2 Control de acceso al Servidor Web 122 Lección 14: Protocolos de seguridad para la Web 123 14.1 Protocolo de comunicación cifrado (HTTPS) 123 14.2 Protocolo de seguridad para transacciones seguras (SET) 123 14.3 Certificados Digitales 125 Lección 15: Aplicaciones Web Empresariales 128 15.1 OpenBravo 128 15.2 OpenERP 128 15.3 Intalio BPM 128 15.4 Pentaho 129 15.5 OS-Commerce 129 15.6 Liferay 130 15.7 Alfresco 130 15.8 Drupal 130 Lección 16: Sistema Operativo Web 131 16.1 ¿Qué es el Sistema Operativo Web? 131 16.2 EyeOS 132

Page 5: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

5 Sistema a Distancia

INTRODUCCIÓN

La Web se caracteriza por ser una tecnología muy utilizada y ampliamente difundida en Internet. Después del correo electrónico es la herramienta que ha tenido mucho auge y la que más ha evolucionado. En este contexto, los desarrolladores, integradores y arquitectos de software web tienen un gran reto de desarrollar aplicaciones y sistemas basada en la web.

Las tecnologías web han estado en función de la evolución de Internet. Recientemente, la disponibilidad de mayor acceso a Internet, millones de servidores web y una gran cantidad de tecnologías relacionadas para la web, ha permitido el desarrollo del World Wide Web (www). Esta tendencia se ha acelerado por el desarrollo de herramientas de software que permiten el diseño de aplicaciones web. Estas tecnologías cuentan con estándares que ha permitido consolidar el desarrollo de las aplicaciones web.

La World Wide Web es un sistema distribuido basado en hipertexto o hipermedias enlazados y accesibles a través de Internet. Generalmente con un navegador Web, un usuario visualiza la aplicación web que puede contener texto, imágenes, videos u otros contenidos multimedia y navega a través de ellas usando hiperenlaces.

El propósito de este texto es que el estudiante conozca el manejo de las tecnologías web y alternativas orientadas al desarrollo de aplicaciones web, además puedan conocer tecnologías distribuidas en entornos heterogéneos y e interoperativos.

Los autores

Page 6: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

6 Sistema a Distancia

ORIENTACIONES METODOLÓGICAS SUMILLA Internet y la World Wide Web han evolucionado rápidamente en su uso y desarrollo gracias a la cantidad de herramientas, protocolos y estándares, existentes. El desarrollo de Internet, y la informática, han permitido que la Web sea uno de los inventos más fructíferos de la historia en la humanidad, y lo que ahora vemos es sólo el principio de un futuro influido por estas tecnologías, no solo ha transformado a las personas también a las sociedades, las empresas y la cultura de los pueblos. En este contexto, resulta de vital relevancia, para la formación del Ingeniero de Sistemas y Cómputo, conocer distintas aplicaciones o soluciones para implementar con éxito proyectos de desarrollo basados en aplicaciones Web. Esta asignatura, de formación profesional especializada, de naturaleza teórico-práctica, tiene como propósito que el estudiante sintetice en un nivel de competencia, los conceptos, las herramientas, las tecnologías que están influyendo en el uso y desarrollo de la World Wide Web. Para este fin, la asignatura desarrolla los siguientes temas centrales: Internet, World Wide Web, Web 2.0, Web 3.0, Tecnologías para el desarrollo Web, Fundamentos de Seguridad Web y descripción de las principales Aplicaciones Web Empresariales. DESCRIPCIÓN DE UNIDADES Los contenidos se han organizado en cuatro unidades temáticas. Éstas se desarrollan en lecciones que incluyen conceptos, descripción de tecnologías, estrategias de implementación y arquitecturas web, aplicaciones web y soluciones web empresariales que ayuden a clarificar los contenidos desarrollados. En la Unidad 1, comprende, eficientemente, los conceptos asociados al origen y funcionamiento de la Internet y la World Wide Web, el papel que desempeña los organismos de normalización de Internet a nivel mundial y el funcionamiento de los Servidores Web. En la Unidad 2, conoce las nociones básicas de la Web 2.0 y Web 3.0 implementando, eficientemente, distintas herramientas tecnológicas, apreciando la trascendencia de los sistemas a través de Web Services, así mismo identifica los componentes principales de la Web Semántica, permitiendo su comprensión en su actividad personal. En la Unidad 3, describe las distintas tecnologías aplicado para el desarrollo Web permitiendo expandir su conocimiento para la selección de una mejor solución en su formación profesional.

Page 7: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

7 Sistema a Distancia

En la Unidad 4, conoce las características y consideraciones para la seguridad en la Web, tales como: control de acceso a los Servidores Web, principales Protocolos de comunicación y seguridad; y Certificados Digitales, así mismo, aplicaciones Empresariales en entorno Web permitiendo con ello mejorar su capacidad y desarrollo profesional. OBJETIVO DE LA ASIGNATURA El objetivo general es que el estudiante identifique los principios de la Tecnología Web, en conocer aplicaciones y tipos lenguajes de programación, que permitan el desarrollo de sistemas basados en Web, de las distintas herramientas tecnológicas y medidas de seguridad que debe adoptar, implementando soluciones reales, permitiendo con ello mejorar su capacidad y desarrollo profesional. METODOLOGÍA En cada unidad, el estudiante encontrará la sumilla y los objetivos, permitiendo valorar sus alcances y logros, también se presentan los fundamentos y elementos esenciales que permita poner en práctica a través de las propuestas tecnológicas. Al finalizar la unidad, se brinda un resumen, una lectura seleccionada, ejercicios propuestos, así como un apartado de autoevaluación que fortalezca el proceso del aprendizaje. ESTRATEGIAS DE APRENDIZAJE Y EVALUACIÓN El estudiante, bajo esta modalidad debe planificar el tiempo en el desarrollo de cada unidad, poniendo en práctica los ejercicios propuestos, compartiendo sus experiencias con el tutor y realizando actividades de auto aprendizaje. En tal sentido, el tutor dispondrá de un horario que permita interactuar con el alumno resolviendo consultas o dudas, a través de Internet. Respecto a la evaluación del aprendizaje, el alumno dispone, al finalizar de cada unidad una serie de preguntas de autoevaluación que permita medir su aprendizaje. Al mismo tiempo, se dispone de ejercicios propuestos que deberá desarrollar para un mejor entendimiento de las lecciones. Esto será un indicador para el tutor que se está poniendo en práctica lo aprendido. Para obtener el promedio final de la asignatura se suman el examen parcial, final y el promedio de las actividades planteadas en la asignatura.

Page 8: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

8 Sistema a Distancia

PRIMERA UNIDAD

Internet y World Wide Web

Sumario

La presente unidad sintetiza la evolución de la Internet y la World Wide Web como las tecnologías más innovadores de los últimos tiempos. Además, sus protocolos de comunicación, las tecnologías para su uso y desarrollo, estándares web, navegadores y servidores web.

También presenta a HTML en sus diferentes versiones y evoluciones, como explica la importancia del protocolo web HTTP con sus métodos y la arquitectura Cliente/Servidor que trabaja.

Al finalizar la unidad describe las alternativas para instalar, configurar y poner en marcha un Servidor Web sobre plataformas GNU/Linux.

Page 9: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

9 Sistema a Distancia

Objetivos

Al finalizar esta unidad, el estudiante será capaz de:

• Definir y describir los diferentes conceptos relacionados a Internet y la World Wide Web.

• Conceptualizar las terminologías que están relacionas con las Tecnologías Web.

• Identificar y conocer los estándares involucrados que participan en las tecnologías web.

• Conocer los aspectos técnicos para la implementación de un servidor web y los componentes que participan.

• Comprender, analizar y evaluar las diferentes formas de implementación de un servidor web.

• Identificar las principales aplicaciones Web Empresariales.

Page 10: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

10 Sistema a Distancia

Lección 1: Evolución de Internet

1.1 Internet

El término Internet viene del inglés “Interconnected Networks”, vale decir, Redes interconectadas, a veces podemos definir como la red de redes, y es la suma de diversas redes de ordenadores de todo el mundo que, gracias a las innovaciones tecnológicas, hace posible que puedan comunicarse los usuarios que hay por todo el mundo.

Esta red de ordenadores está repartida geográficamente en diferentes partes del mundo que utilizan las mismas normas y protocolos de comunicación.

Según, el diario Wall Street Journal describe al Internet como “... la cadena de redes que es, en general, la forma más fácil y barata de que los negocios se comuniquen electrónicamente con el mundo exterior”, esta definición es descrito desde el punto de vista empresarial.

La trascendencia de Internet radica en su cobertura a escala mundial, además de su superestructura que comprende contenidos, herramientas y utilidad para todos los usuarios; para muchos es considerado como herramienta de trabajo pasando como una herramienta para vender productos o incluso de ocio, etc.

"Internet constituye un fenómeno sociocultural de importancia creciente, una nueva manera de entender las comunicaciones que están transformando el mundo, gracias a los millones de individuos que acceden a la mayor fuente de información que jamás haya existido y que provocan un inmenso y continuo trasvase de conocimiento entre ellos" (Vertices, 2008, p. 7).

Se pueden destacar cuatro características de Internet:

- Cambiante: Siempre se adapta continuamente a las nuevas necesidades y circunstancias de sus usuarios.

- Grande: Es la mayor red de computadoras del planeta.

- Descentralizada: Nadie controla oficialmente a Internet.

- Diversa: Todos están involucrados máquinas, software y personas de diferentes índoles, fabricantes de diferentes tecnologías, medios físicos de transmisión y comunicación, usuarios, etc.

Según Hervo (2007), “Internet, también llamado Autopista de la información, Net, Ciberespacio..., designa un conjunto de redes informáticas relacionadas entre sí y cuya finalidad es de permitir a los usuarios de todo el mundo comunicarse entre sí. Se trata de conjuntos de redes interconectadas más vasto del mundo. Internet es una red abierta, todo lo contrario de la mayor parte de las redes: todo el mundo puede conectarse a ella para disfrutar de sus servicios” (p. 3).

Internet está regido por organismos que definen las normas técnicas a seguir, reparten las direcciones IP, crean continuamente estándares y nuevos protocolos que regulan la red de redes.

Internet crece solo a un ritmo vertiginoso, prácticamente incalculable, siendo un severo problema para los seguimientos y estadistas y un caldo de cultivo para las exageraciones (Odlyzko, 2000, p. 15).

Page 11: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

11 Sistema a Distancia

Figura 1.1: Arquitectura de Internet [Raymond, 2000]

1.2 Breve Historia de Internet

El departamento estadounidense de defensa en el año de 1969, decide desarrollar una red experimental que permita el intercambio de información entre sus centros de investigación y desarrollo alejados remotamente entre sí y que funcione sin interrupciones incluso en una hipotética guerra nuclear. Esta nueva red se llamó ARPANET.

La descentralización de las transmisiones de comunicaciones eran la piedra angular de esta red, cada vez que una línea de comunicación no puede utilizarse, los equipos buscan una nueva ruta para transferir los datos.

En 1972, como resultado de una conferencia sobre la posibilidad de intercomunicar todos los ordenadores y todas las redes entre sí, nace el protocolo TCP/IP (Mañas, 2004, p. 25).

A principio de los 80, al intercomunicar varias redes entre sí, ARPANET se convierte en INTERNET (International Network), (Mañas, 2004, p. 25).

Con la aparición, en 1992, de la web y otras herramientas de sencillo manejo, la red ha crecido a una velocidad vertiginosa.

El éxito de internet es evidente, según Mañas (2004) "El crecimiento exponencial de equipos conectados debe interpretarse en tres fases. Entre 1968 y 1984 pasamos de 4 a 1.000 equipos, que son experimentos de laboratorio para demostrar que conmutación de paquetes funciona mientras se diseñan los protocolos adecuados. Entre 1985 y 1992 la red crece hasta 1.000.000 de equipos con un carácter pre comercial: se usa con cargo a proyectos de investigación. A partir de los 90 la red es una realidad comercial madura" (p. 27).

Page 12: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

12 Sistema a Distancia

1.3 Protocolos de Internet

Internet tiene varias formas de comunicación entre los ordenadores y éstas se realizan mediante Protocolos, que son reglas y normas de comunicación que han de adoptarse para ser entendido por las otros ordenadores de la red.

Para Cancelo y Giraldez (2007), "Lo que hace que una red funcione adecuadamente no es la conexión física de cables, como podría pensarse, sino el mantenimiento de los estándares de comunicación llamados protocolos, para que los distintos ordenadores se comuniquen entre sí" (p. 94).

Los dos protocolos más importantes son Protocolo de Control de Transmisión (Transfer Control Protocol) y el Protocolo de Internet (Internet Protocol). El protocolo TCP más conocido como de transporte, divide en paquetes los mensajes generados en origen, asignándoles un número de secuencia y la dirección de destino, y los recompone en destino, mientras que IP se ocupa del direccionamiento de los paquetes, que pueden recorrer el camino por rutas diversas, incluso con tecnologías diferentes. Usualmente, se trata a estos dos protocolos como si fueran uno solo TCP/IP, porque ambos se complementan.

La aparición a principios de los noventa de la World Wide Web (WWW) significó un gran impulso para que los usuarios particulares se conectaran a Internet. Con esta aparición, se tuvo que proponer nuevos protocolos como el HyperText Transfer Protocol (HTTP), que comenzó a extenderse y el crecimiento del tráfico de Internet ha sido exponencial hasta estos tiempos.

Tabla 1: Protocolos más usados en Internet

Fuente: Atelin, P. (2007) TCP/IP y protocolos de Internet (p.47)

Nombre Acrónimo Puerto Descripción File Transfer Protocol

FTP

21

Transferencia de ficheros

Secure Shell SSH 22 Permite las comunicaciones seguras entre dos sistemas usando una arquitectura cliente/servidor

Simple Mail Transfer Protocol

SMTP

25

Envío de correo electrónico

Domain Name System

DNS

53

Resolución de nombres de dominio

HyperText Transfer Protocol

HTTP

80

Transferencia de páginas Web

Post Office Protocol v3

POP3

110

Recepción de correo electrónico

Network News Transfer Protocol

NNTP 119 Acceso a foros de discusión

Page 13: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

13 Sistema a Distancia

1.4 La Web como tecnología de Internet

Las empresas están migrando hoy en día rápidamente todos sus servicios, aplicaciones, servicios, sus tiendas, correo electrónico, etc., a un entorno Web que permita a sus clientes y usuarios acceder a todo ello a través de Internet.

Internet está destinado a convertirse en un servicio universal de comunicaciones, permitiendo una comunicación universal por lo tanto la Web, se ha convertido, junto con el correo electrónico, en las principales herramientas de internet. Ésta ha dejado de ser una inmensa “biblioteca” de páginas estáticas para convertirse en un servicio que permite acceder a multitud de prestaciones y funciones.

Este sistema, al que ya nos hemos referido, ha sido creado para navegar por la red Internet y acceder a miles de servidores donde los usuarios pueden encontrar información simplificada en su proceso de búsqueda y que proporciona información como: texto, sonido, video, color, movimiento, etc.

Al igual que Internet, el desarrollo de la Web no se debe a una sola persona. El padre de la Web, es Tim Berners-Lee un científico que trabajaba en el Laboratorio Europeo de Física de Partículas de Ginebra (CERN), crea el World Wide Web (WWW). A él se debe los tres elementos que fueron importantes en el nacimiento de la Web.

− HTML, como lenguaje para crear los contenidos de la Web, basado en Standard Generalized Markup Language (SGML).

− HTTP, como protocolo de comunicación entre las computadoras de la Web, encargado de la trasferencia de las páginas Web y demás recursos.

− URL, como medio de localización de los distintos recursos de Internet.

Figura 1.2: Elementos pilares de la World Wide Web

Page 14: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

14 Sistema a Distancia

Lección 2: World Wide Web

2.1 Historia de la World Wide Web

La Web es una parte esencial en nuestras vidas, y las aplicaciones son herramientas indispensables para esta sociedad de información, así como fue en su momento el teléfono.

En 1989 Tim Berners-Lee crea la WWW (World Wide Web), desarrollando las especificaciones de tres recursos esenciales: el lenguaje de marcas de hipertexto HTML (HyperText Markup Language), el protocolo de transferencia de hipertexto HTTP (HyperText Transfer Protocol) y un software cliente denominado navegador Web.

En 1992 en Estados Unidos, se crea la ISOC (Internet Society), organismo sin fines de lucrativos que asumió las responsabilidades por la parte técnica y directiva de Internet determina protocolos para las computadoras como para las aplicaciones de software (De Viveiros, 2011, p.18).

El 25 de noviembre de 1991, la Internet Assigned Numbers Authority (IANA) y la Internet Corporation for Assigned Names and Numbers (ICANN) le asignaron a la Red Científica Peruana la administración de nombres de dominio para el Perú, conocido actualmente como el .pe. De esta manera el Perú puede registrar dominios para sitios Web (En el portal Punto.pe, http://punto.pe/history.php, se muestra una reseña de la Evolución del dominio .pe en Perú).

Luego, en 1993 nacen los sitios Web oficiales de la Casa Blanca (http://www.whitehouse.gov) y las Naciones Unidas (http://www.un.org), de esta manera Internet empieza a ser tomada en consideración por los medios de comunicación y el sector empresarial. Así mismo, la National Science Foundation (NSF) crea INTERNIC (INTERnet Network Information Center), organismo de administración de Internet, dedicado a proveer servicios específicos de Internet, como bases de datos y directorios, registro de dominios e información. (De Viveiros, 2011, p. 17).

En este mismo año se incorporan los dominios regionales de Bulgaria (.bg), Costa Rica (.cr), Egipto (.eg), Emiratos Árabes Unidos (.ae), Fiyi (.fj), Ghana (.gh), Guam (.gu), Indonesia (.id), Islas Vírgenes (.vi), Kazajstán (.kz), Kenia (.ke), Liechtenstein (.li), Perú (.pe), Rumanía (.ro), Rusia (.ru), Turquía (.tr) y Ucrania (.ua).

El 1 de Octubre de 1994 se constituyó el organismo de coordinación, W3C (World Wide Web Consortium). Liderado inicialmente desde el Laboratory for Computer Science del MIT por el mismo creador de la WWW, Tim Berners-Lee y Al Vezza, el W3C ha tomado bajo su responsabilidad la evolución de varios protocolos y estándares relacionados con el Web. (Aubry, 2009, p. 12).

En el mismo año, se da inicio al desarrollo de los buscadores el primero en ser presentado fue Yahoo, (un directorio de internet) desarrollado por dos estudiantes de maestría de la Universidad de Stanford (David Filo y Jerry Yang), que inmediatamente tuvo un éxito masivo.

En septiembre de 1998 se constituyó la compañía 'Google Inc.', con Larry Page como Director General y Sergey Brin como Presidente [Lester, 2011].

Page 15: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

15 Sistema a Distancia

2.2 HTML

2.2.1 HTML Básico

HTML es un lenguaje de etiquetas que está conformado por documentos de texto plano, donde el formato del texto se especifica mediante marcas de texto (llamados etiquetas, tags), que delimitan los contenidos a los que afecta la etiqueta, por lo tanto tenemos etiquetas de inicio o apertura y etiquetas de marcado final o cierre.

Ejemplos de etiquetas de HTML son:

<title>Título de documento</title>

<P>Este es un párrafo </P>

<B>Negrilla<I>Itálica</I>Negrilla</B>

Los atributos de las etiquetas, que especifican parámetros adicionales a la etiqueta, se incluyen en la etiqueta de inicio de la siguiente forma:

<ETIQUETA parametro1=”ATRIBUTO” parametro2=”ATRIBUTO” ...> Contenido </ETIQUETA>

Por ejemplo:

<A HREF=“http://www.w3c.org”>Enlace</A>

<IMG SRC=“miimagen.jpg” BORDER=”1” ALT=“NOMBRE IMAGEN”>

HTML permite omitir en algunos casos la etiqueta de cierre, como es el caso de la etiqueta IMG. Muchos visualizadores o programas clientes Web que utilizamos no entiende alguna etiqueta, la ignorará y hará lo mismo con todo el texto afectado por ésta etiqueta, por consiguiente es importante tener actualizado el navegador para que entienda el lenguaje HTML.

Todos los documentos HTML siguen aproximadamente la misma estructura. Todo el documento debe ir contenido en una etiqueta HTML, dividiéndose en dos partes: la cabecera, contenida en una etiqueta HEAD y el cuerpo del documento (donde está la información del documento), que está envuelto por una etiqueta BODY.

Un documento en HTML básico contiene básicamente las siguientes etiquetas:

<HTML>

<HEAD>

<TITLE>Título del documento</TITLE>

</HEAD>

<BODY>

Texto del documento

</BODY>

</HTML>

Page 16: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

16 Sistema a Distancia

A la hora de desarrollar páginas HTML básico, se debe tener presente el tipo de visualizador que utilizarán los potenciales usuarios.

2.2.2 Hojas de Estilo (CSS)

Las hojas de estilo o simplemente llamados CSS son estándares creador por la W3C, que sirve para separar el formato de representación y presentación del contenido de un documento HTML o XML. Eso se consigue asociando atributos de presentación a cada una de las etiquetas de HTML.

Por ejemplo, si deseamos que todos los párrafos de nuestro documento (definidos por <P></P>) tengan el fondo azul (blue en ingles) y el texto en amarillo (yellow en ingles) usaremos el siguiente código:

<STYLE TYPE=“text/css”>

P {color: blue; background:yellow;}

</STYLE>

Para indicar qué estilos debemos usar en una página, disponemos de la etiqueta STYLE, la etiqueta LINK, que nos permite indicar un fichero externo que contendrá nuestros estilos.

La etiqueta STYLE tiene que estar en la cabecera de la página. Dispondremos de un parámetro TYPE que nos permite indicar qué sintaxis usaremos para definir los estilos, que en nuestro caso será text/css. La etiqueta LINK, para poder definir una hoja de estilos externa, tiene la siguiente apariencia:

<LINK REL=“stylesheet” HREF=“estilo.css” TYPE=“text/css”>

Es recomendable usar la etiqueta LINK para la definición de las hojas de estilo asociadas a una página, ya que de ese permitirá mejor la actualización o el mantenimiento de las páginas web que invocan hojas de estilo.

Es importante resaltar que la sintaxis de las hojas de estilo (CSS) es sensible a mayúsculas y minúsculas.

Es importante entender que esta sintaxis nos permitiría definir el formato que deseamos para los párrafos de nuestra Web. Existe una extensión de dicha sintaxis que hace posible definir un estilo que sólo se aplicará a ciertas partes de nuestro documento.

En concreto, nos permite definir clases de elementos a los que aplicaremos el estilo.

Por ejemplo, para definir una clase de párrafo que llamaremos destacado:

P.destacado {color: blue; background:yellow;}

Podemos usar luego el atributo CLASS que HTML 4.0 añadió a HTML para definir la clase de cada párrafo:

<P>Un párrafo normal sin el atributo CLASS</P

<P CLASS=“destacado”>Este es un párrafo especial</P>

<P CLASS=“destacado”>Otro también destacado</P>

Page 17: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

17 Sistema a Distancia

En resumen, “Las hojas de estilo definen cómo se muestran los elementos HTML, tal como lo hacia la etiqueta <font> o el atributo de color en HTML 3.2. Las hojas de estilo se guardan, normalmente, en archivos CSS externos. Estas hojas de estilo externas están disponibles para cambiar la apariencia y la maquetación de todas las páginas de un sitio web, solamente editando un documento CSS (Egea, 2007, p. 134).

2.2.3 HTML Dinámico

El HTML dinámico (DHTML o del inglés dynamic HTML) no es un estándar definido por el W3C, sino que es un término de marketing que utilizaron Netscape y Microsoft para referirse al conjunto de nuevas tecnologías de Web. Dicho conjunto comprende:

- HTML, especialmente la versión HTML 4.0.

- Hojas de estilo (CSS o Hoja de estilo).

- Javascript (Lenguaje de programación).

También se suele denominar como DHTML a este conjunto de tecnologías, especialmente en aquellos casos en que operan conjuntamente para enriquecer la experiencia Web del usuario. La propuesta es ofrecer al usuario interfaces gráficas mucho más ricas y complejas, controlar formularios de forma más eficiente. El código Javascript se ejecuta en el lado del cliente, para mejorar el rendimiento de la página DHTML.

Uno de los puntos claves de DHTML es DOM (document object model), que define una jerarquía de objetos accesibles mediante Javascript, que representan todos y cada uno de los elementos del documento HTML.

2.2.4 HTML 5

HTML 5 es la quinta versión importante de HTML. Es una tecnología creada para modernizar la web y el desarrollo de las aplicaciones web, en línea y fuera de línea. Se ha elaborado en base a la versión HTML 4, XHTML 1 y DOM Nivel 2 (DOM - Document Objetc Model), (Ramos, 2011, p. 30).

Esta es la primera vez que HTML y XHTML se han desarrollado en paralelo. Todavía se encuentra en modo experimental, según menciona la misma W3C; aunque ya es usado por múltiples desarrolladores y arquitectos web por sus notables mejoras, avances y ventajas.

Por el momento son pocos los navegadores que reconocen las etiquetas HTML como: Internet Explorer 9, Mozilla Firefox 8, Google Chrome 16. Por lo tanto se recomienda al usuario común actualizar a la versión más actual, para poder disfrutar de todo el potencial que trae HTML 5.

El desarrollo de esta versión es controlado y regulado por el Consorcio World Wide Web Consortium (W3C).

Entre las características de HTML 5, podemos citar:

a) Estructura del cuerpo: HTML 5 permite agrupar elementos como cabecera, pie, bloques arriba, bloques abajo, bloque derecha, bloque izquierda, etc.

Page 18: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

18 Sistema a Distancia

en nuevas etiquetas que representarán cada uno de las partes típicas de una página web.

b) Etiquetas para contenido específico: Generalmente se utiliza una única etiqueta para incorporar tipos de contenido enriquecido, como animaciones, aplicaciones con flash o incluso vídeos. En HTML se utiliza etiquetas específicas para cada tipo de contenido en particular, como audio, vídeo, animaciones, etc.

c) Canvas: Se trata de una nueva una gran innovación que permite dibujar en la web, utilizando las funciones de un API, estos dibujos o formas pueden estar animadas y responder a interacción del usuario. La idea central es reemplazar lo que hace Flash, pero dentro de la especificación de esta versión HTML.

d) Bases de datos locales: Si la idea es trabajar offline (sin conexión a internet), HTML 5 permitirá el uso de una base de datos local, con la que se podrá trabajar en una página Web por medio del cliente y a través de un API.

e) Web Workers: Se trata de procesos que requieren bastante tiempo de procesamiento por parte del navegador, pero que se podrán realizar en un segundo plano, para que el usuario no tenga que esperar que se terminen para empezar a usar la página.

f) Geolocalización: Las páginas Web se podrán localizar geográficamente por medio de un API que permita la Geolocalización.

g) API para mejorar la interfaz de usuario: Se trata de dar enfoque al uso de "drag & drop" (arrastrar y soltar) en las interfaces de usuario de los programas convencionales, también incorporadas por medio de un API.

h) Fin de las etiquetas de presentación: Todas las etiquetas que tienen que ver con la presentación del documento, es decir, que modifican estilos de la página, serán depuradas. La definición del aspecto de una Web estará a cargo únicamente de una hoja de estilo (CSS).

i) Video: La presentación de los videos en la web ya no dependerá más de un plugin correspondiente, en ocasiones cuando encontramos videos en algunas páginas web nos solicita la instalación del plugin. HTML 5 permitirá la presentación y reproducción de videos e incrustarlos en páginas sin la necesidad de un plugin.

2.3 Protocolo HTTP

HTTP (HyperText Transfer Protocol) es el protocolo de transferencia de hipertexto, se trata de un conjunto de reglas que rigen la transferencia de datos en una comunicación Web de un servidor web y un cliente web.

Se trata de un protocolo de aplicación para transferencia de hipertexto, basado en peticiones de URL.

Este protocolo de transferencia de hipertextos basado fundamentalmente en HTML, fue implementado inicialmente en el año de 1991 y se denomino HTTP 0.9. El protocolo fue definido en 1992 e implementado en marzo de 1993. La

Page 19: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

19 Sistema a Distancia

versión 1.0, esta primer versión fue desarrollado por Tim Berners-Lee y la última versión es la 1.1 desarrollada en la RFC 2616, (Salavert, 2003, p. 142).

Entre las características más importantes que podemos citar:

- Liviano: Capaz de ser implementado en cualquier servidor y utilizado por un cliente web sin consumir enormes cantidades de recursos computacionales

- Rápido: Para facilitar la recuperación rápida de información.

- Sin Estado: Basado en peticiones y respuestas. Cada nueva solicitud establece una nueva conexión con el servidor.

En el Internet, las comunicaciones HTTP generalmente toman lugar sobre conexiones TCP. El puerto por omisión es el 80, pero también pueden ser usados otros puertos.

Figura 2.1: Protocolo HTTP en una arquitectura Cliente/Servidor

El intercambio de mensajes de solicitud y de respuestas entre el servidor y cliente consta de 4 fases:

a. Apertura de la conexión mediante el empleo del navegador por parte del usuario.

b. Petición de una solicitud al servidor por parte del usuario desde su navegador. Esto incluye la versión del protocolo, el método, el URL y otros parámetros tales como las MIME y la información del usuario.

c. El servidor envía la respuesta al usuario, con los mensajes de error si son necesario.

d. Finalmente se cierra la conexión.

Page 20: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

20 Sistema a Distancia

2.3.1 Versiones HTTP

a) Versión HTTP 0.9

Primera versión HTTP/0.9 solo soportaba el método GET.

b) Versión HTTP 1.0

El desarrollo de HTTP 1.0. se inició en 1992 pero la versión final fue liberada en 1996. (Salavert, 2003, p. 143)

La primera versión sólida se conoce como HTTP 1.0. Protocolo inicial (HTTP 0.9.) resultaba insatisfactorio. No había como devolver de vuelta la información sobre el pedido Era imposible para un cliente enviar información al servidor.

Además incorpora la mayor parte de los elementos de lo que se conoce en la actualidad.

Concepto tipo de medio (adoptó MIME - Multipurpose Internet Mail Extensions, en español - Extensiones de Correo Internet Multipropósito).

Además se introduce por primera vez la autentificación básica.

Se crean los métodos: GET, POST y HEAD, además de los tipos de peticiones que los clientes pueden enviar.

- Método GET

Es un tipo de petición simple y muy usada por las aplicaciones web, que sirve para recuperar recursos estáticos del servidor.

Puede usarse para recuperar recursos dinámicos enviando parámetros al servidor:

http://www.somoslibres.org/aplicacionDinamica?parametro=valor

Los parámetros van codificados en la misma URL

- Método POST

Se usa para mandar parámetros al servidor web, generalmente sirve para recuperar recursos generados dinámicamente. Su funcionamiento es igual al de GET, sólo que los parámetros se envían en el cuerpo de la petición, no son visibles en la URL.

- Método HEAD

Sólo devuelve cabeceras (no el cuerpo), se usa para implementar cachés de navegadores, informar al usuario del tamaño del recurso antes de intentar recuperarlo.

c) La versión HTTP 1.1

HTTP 1.0 presentaba algunas limitaciones importantes:

Page 21: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

21 Sistema a Distancia

- Lentitud de establecer TCP.

- Una transacción por conexión.

- Modelo simple y primitivo de caché.

- Mecanismos de autentificación débil.

Con la presentación de HTTP 1.1, desarrollado en 1997, incorpora un modelo de conexión persistente, además tiene soporte para manejo de servidores virtuales, un sistema de caché más sofisticado y esquema seguro de autentificación (Salavert, 2003, p. 143).

Figura 2.2: Comparación de versiones del protocolo HTTP

2.4 Tecnología Web

Son las aplicaciones web que hacen uso de las Tecnologías Web, las mismas que ofrecen ventajas enormes en cuanto a eficiencia, además el Software basado en esta tecnología, flexible y rápido.

Las tecnologías relacionadas a la Web su gestión se simplifica mucho y el soporte al usuario se puede realizar a distancia.

La Tecnología Web se ha convertido un área de investigación donde se incorporan técnicas, métodos, metodologías, mecanismos para su desarrollo.

Las funciones habituales con la tecnología Web podemos citar:

a) Permite facilitar la búsqueda y localización de información.

b) Acceso a diferentes tipos de recursos de información en línea.

c) Posibilitar la comunicación con otras personas.

d) Permite publicar información en Internet.

e) Permite el aprendizaje de diferente tipo de conocimientos.

f) Posibilita realizar negocios, actividades comerciales y telegestión.

Page 22: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

22 Sistema a Distancia

g) Permite actuar como un excelente medio de publicidad y mercadeo.

2.5 Tecnologías para el desarrollo Web

Las tecnologías Web son un conjunto de herramientas que permiten lograr el proceso de desarrollo de un sitio Web de gran calidad, eficiencia, seguridad, usabilidad, funcionamiento y capacidad de rendimiento. Existe un gran número de herramientas para el uso y desarrollo web que desarrolladores utilizan para el comercio, marketing, educación, salud, entre otros.

Entre las que se destacan tenemos: navegadores web, servidores web y sobre todo lenguaje de programación

2.5.1 Navegadores Web

Son herramientas que nos permiten visualizar el contenido web, interpretando la información de archivos y sitios Web. De esta forma el navegador interpreta el código, HTML generalmente, en el que está escrita la página Web y lo presenta en pantalla, permitiendo al usuario interactuar con su contenido mediante enlaces o hipervínculos.

Existen un gran número de navegadores, tales como: Mozilla Firefox, Google Chrome, Amaya, Epiphany, Galeon, Internet Explorer, Konqueror, Opera, Safari, Seamonkey, Shiira, Flock, Arora, K-Meleon, entre otros.

La mayoría de estos navegadores también funcionan en los dispositivos móviles y tablet PC.

2.5.2 Servidores Web

Un servidor Web es un sistema distribuido que procesa una aplicación del lado del servidor. El código recibido por el cliente suele ser compilado y ejecutado por un navegador Web. Para la comunicación entre el servidor y cliente se utiliza el protocolo de comunicación HTTP, perteneciente a la capa de aplicación del modelo OSI.

Para Mateu (2004), “Un servidor web es un programa que atiende y responde a las diversas peticiones de los navegadores, proporcionándoles los recursos que solicitan mediante el protocolo HTTP o el protocolo HTTPS (la versión segura, cifrada y autenticada de HTTP)”, (p. 23).

Un servidor Web básico tiene un esquema de funcionamiento muy sencillo, ejecutando de forma infinita el bucle siguiente:

a) Espera peticiones en el puerto TCP asignado

b) Recibe una petición de un cliente web.

c) Busca el recurso en la cadena de petición.

d) Envía el recurso por la misma conexión por donde ha recibido la petición.

e) Vuelve a recibir otra petición.

Page 23: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

23 Sistema a Distancia

Un servidor Web que sigue este esquema cumple con los requisitos básicos de los servidores HTTP.

Algunos servidores web importantes son: Apache, IIS, Cherokee, Tomcat, ighttpd, thttpd y muchos más

2.5.3 Lenguajes de programación para el desarrollo Web

Existen un gran número de lenguajes de programación para el desarrollo web en el lado del servidor, entre los que podemos citar: PHP, Java Servlets y JavaServer Pages (JSP), Javascript, Perl, Ruby, Python, ASP/ASP.NET, C#, entre otros lenguajes.

2.6 Arquitectura Cliente/Servidor

Este esquema de comunicaciones "cliente-servidor“, es utilizado por las tecnologías Web, donde el protocolo de comunicación común es el HTTP, tal como se muestra en la figura 2.2.

La arquitectura cliente/servidor es un modelo de aplicación en un sistema distribuido, y es la arquitectura común que más utilizan las tecnologías Web, donde las tareas se reparten entre los proveedores denominado “servidores” y los que solicitan la información denominados “clientes”. Un cliente realiza peticiones a otra aplicación, el servidor, que devuelve una respuesta.

De acuerdo a Sommerville (2006) "En una arquitectura cliente-servidor, una aplicación se modela como un conjunto de servicios proporcionados por los servidores y un conjunto de clientes que usan estos servicios" (p. 245).

Los clientes necesitan conocer qué servidores están disponibles. Pero normalmente no conocen la existencia de otros clientes. Clientes y Servidores son procesos diferentes, como se muestra en la figura 2.3, que representa un modelo lógico de una arquitectura distribuida cliente/servidor.

Figura 2.3: Arquitectura Cliente/Servidor

La mayoría de los servicios de Internet son tipo de cliente/servidor. Tan solo el hecho de visitar un sitio Web requiere una arquitectura cliente/servidor, ya que el servidor Web muestra las páginas Web al navegador.

Page 24: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

24 Sistema a Distancia

Lección 3: Estándares Web

3.1 Estándares y otras especificaciones técnicas

La Web se basa de una gran diversidad de tecnologías y estándares, en ese sentido ninguna tecnología puede pretender cubrir todas las necesidades de la Web, la construcción de los inicios de la Web requiere seguir un proceso imprescindible para asegurar la interoperabilidad de las tecnologías, por la cantidad de sistemas operativos, lenguajes de programación, gestores de base de datos y demás tecnologías. Por lo tanto la Web debe ser de carácter universal y accesible para todo el mundo.

Los estándares y demás especificaciones técnicas aplicadas a la Web definen y describen aspectos sobre el uso y desarrollo de la World Wide Web, asociado con la tendencia de aprobar un conjunto de mejores prácticas estandarizadas para construir y desarrollar sitios de contenido Web, diseño y desarrollo que incluyan modelos, metodologías, técnicas, métodos y especificaciones abiertas.

Estas especificaciones y estándares no sólo son para la World Wide Web, también para otras herramientas y tecnologías de Internet, que en su mayoría consideran aspectos vinculados a la interoperabilidad, la accesibilidad y la usabilidad de los sitios.

Esta es la lista de las organizaciones (Zeldman, 2005) que regulan y estandarizan la web:

- Recomendaciones publicadas por la World Wide Web Consortium (W3C).

- Engineering Task Force (IETF), aplicada para estándares de Internet en general.

- Request For Comments (RFC), petición de comentarios documentos publicados por la IETF.

- ISO, estándares publicados por la Organización Internacional para la Estandarización.

- Ecma, estándares publicados por Ecma International.

- Internet Assigned Numbers Authority (IANA), estándares aplicados para nombres.

3.2 World Wide Web Consortium (W3C)

W3C se guía por los principios de accesibilidad, internacionalización, e independencia de dispositivo, entre otros. Esto facilita que el acceso a la Web sea posible desde cualquier lugar, en cualquier momento y utilizando cualquier dispositivo.

W3C (World Wide Web Consortium) es el encargado de formular la especificación de números estándares para la World Wide Web entre las que desatacan: HTML, CSS y XML.

Page 25: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

25 Sistema a Distancia

a. HTML

HTML, siglas en inglés HyperText Markup Language (Lenguaje de Marcas de Hipertexto), es el lenguaje de marcado utilizado para la construcción de páginas web.

b. XML

XML, siglas en inglés de eXtensible Markup Language (Lenguaje de marcas extensible), es un metalenguaje extensible de etiquetas desarrollado por el World Wide Web Consortium (W3C). XML no es un lenguaje en particular, es una manera de definir lenguajes para diferentes necesidades. Algunos de estos lenguajes que usan XML para su definición son XHTML, XPDL, BPEL, XSD, RSS, SVG, MathML y muchos formatos derivados a partir de este lenguaje de marcas.

Se trata de un estándar para el intercambio de datos, interoperabilidad y utilizado para la integración de datos, aplicaciones y procesos.

c. CSS

Las hojas de estilo en cascada (en inglés Cascading StyleSheets), es un lenguaje para definir la presentación de un documento estructurado escrito en HTML o XML y por extensión en XHTML.

A continuación los resultados de los estándares que formulo hasta el año 2004 la W3C:

Figura 3.1: Estándares propuestos por la W3C hasta el año 2004

Fuente: W3C http://www.w3c.es/Presentaciones/2005/0314-estandares-JA/7.html

Page 26: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

26 Sistema a Distancia

Lección 4: Implementación de un Servidor Web

4.1 Introducción a los Servidores Web

El servidor Web es uno de los componentes más importantes del ecosistema Web, también conocido como servidor HTTP es un programa que procesa una aplicación del lado del servidor realizando conexiones bidireccionales y unidireccionales. El código recibido por el cliente suele ser compilado y ejecutado por un navegador Web.

Los servidores Web se componen básicamente de los siguientes componentes:

Figura 4.1: Componentes de un Servidor Web

Fuente: Elaboración propia

• Núcleo: Es el servidor como tal, y es el centro del servidor Web. Siempre está cargado y funcionando cuando el servidor está encendido.

• Módulos: Los servidores Web son bastante complejos. Estos módulos, conocidos como extensiones del servidor, se instalan cuando se configuran los servidores Web.

• Páginas: En una determinada carpeta están alojados las páginas webs donde está guardada la información, están estructurados en forma de árbol de directorios.

4.2 Servidor Web Apache

Apache es un servidor Web de código libre robusto cuya implementación se realiza de forma colaborativa, con prestaciones y funcionalidades equivalentes a las de los servidores comerciales. El proyecto está dirigido y controlado por un grupo de voluntarios de todo el mundo que, usando Internet y la web para comunicarse, planifican y desarrollan el servidor y la documentación relacionada (Rivera, 2008, p.8).

Page 27: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

27 Sistema a Distancia

Se trata de un proyecto de software libre más utilizado en internet, desarrollado por el grupo Apache Software Foundation. Este servidor ha sido creado sobre los principales sistemas operativos Unix y Linux, para ello los creadores ha desarrollado el servidor con los requerimientos de: seguridad, eficiencia, extensibilidad y estandarización. Estos objetivos junto con sus características de producto de código abierto han conseguido situarlo como uno de los servidores web líderes en el mercado.

4.3 Implementación de un Servidor Web

Tenemos dos opciones principales para instalar Apache: podemos compilar el código fuente o podemos instalarlo a partir de un paquete binario adecuado a nuestro sistema operativo basado en GNU/Linux.

4.3.1 Compilación de las fuentes del Servidor Web

Para compilar apache, a partir de código fuente sobre plataforma GNU/Linux Centos, debemos obtener, previamente, de la web de apache la versión del siguiente sitio web: http://www.apache.org/dyn/closer.cgi, seleccione uno de los mirrors, por ejemplo: http://apache.osuosl.org/httpd/ y luego descargue el paquete httpd-2.2.21.tar.gz (corresponde a la última versión estable). Las versiones cuya denominación en el nombre figura como beta, esta no es recomendable para implementar servidores en producción.

Una vez descargado, seguiremos los siguientes pasos:

- Descomprimiremos el fichero que acabamos de descargar, que nos creará un directorio donde estarán las fuentes del servidor.

# tar xzvf httpd-2.2.21.tar.gz -C /usr/local

- Luego ingresar al directorio donde se encuentra el programa fuente.

# cd /usr/local/httpd-2.2.21

A continuación, configuraremos el código para su compilación. Para ello ejecutaremos:

# ./configure --prefix=/usr/local/apache --enable-so

Disponemos de algunos parámetros para ajustar la compilación de apache.

- Una vez configurado el código fuente, si no se han producido errores procederemos a compilarlo. Para ello ejecutaremos:

# make

Para compilar apache solo se requiere como mínimo, GNU Make y GNU CC.

- Una vez compilado, podemos instalarlo en el directorio que hemos designado como destino de acuerdo a la configuración anterior, con el comando configure. Este paso se realiza usando uno de los objetivos que ya tiene definido make. Concretamente lo realizaremos con:

# make install

Page 28: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

28 Sistema a Distancia

- Una vez instalado, dispondremos, dentro del subdirectorio bin del directorio de instalación, especificado con prefix, un programa llamado apachectl que nos permitirá controlar el servidor. Para iniciar el servicio ejecutar los siguientes comandos:

# cd /usr/local/apache/bin

# ./apachectl start

Para probar, si se ha procedido correctamente, colocar el nombre del servidor “localhost” o la dirección ip del servidor en el navegador, donde debe mostrar la siguiente imagen:

Figura 4.2: Probando el servidor web apache httpd

Finalmente para detener el servicio ejecutamos:

# cd /usr/local/apache/bin

# ./apachectl stop

4.3.2 Instalación de un servidor Web utilizando GNU /Linux Ubuntu

La segunda opción es instalar los archivos binarios sin necesidad de compilar las fuentes, a continuación se instalará Apache, PHP y MYSQL desde la línea de comandos de Linux, utilizando una conexión a internet.

Durante la instalación puede que se necesite descargar archivos desde el sitio web de la distribución de Linux, en este caso ubuntu, por lo que es necesario disponer de conexión a Internet; (Ramos, 2011, p. 12) los pasos a seguir son:

a. Se abre la consola, se escribe la orden sudo "su" y se pulsa la tecla "intro". A continuación, se escribe la contraseña del usuario del sistema operativo. Una vez como súper usuario se escribe la orden para instalar Apache:

# apt-get install apache2

b. A continuación, se escribe la orden para instalar MYSQL:

# apt-get install mysql-server

Al final, nos pide escribir una contraseña para el usuario root, el cual elegimos a nuestra consideración.

Page 29: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

29 Sistema a Distancia

c. A continuación, se escribe la siguiente orden para instalar PHP:

# apt-get install php5

d. A continuación se escribe la siguiente instrucción en consola para instalar el módulo de Apache para autentificación MYSQL:

# apt-get install libapache2-mod-auth-mysql

e. Finalmente, se escribe la siguiente instrucción para instalar el módulo de MYSQL para PHP:

# apt-get install php5-mysql

Para comprobar si el servidor web está funcionando, se abre el navegador web y se escribe la URL http://localhost, debe aparecer la pantalla de apache.

Para comprobar si el servidor Mysql está trabajando, se escribe:

# mysql -u root -p

Y pulsar la tecla "Enter", nos pedirá la contraseña del usuario "root" (por defecto presionar la tecla “Enter” en vista que por defecto se encuentra sin clave).

Para salir del editor de comando de MySQL, escribir el comando “exit”.

Finalmente, para probar la instalación de PHP se crea un archivo de nombre "prueba.php" en la carpeta /var/www/html

# touch prueba.php

Utilizando el editor vi ingresar las siguiente líneas:

# vi prueba.php

<? phpinfo(); ?>

A continuación, abrir el navegador e ingresar el siguiente URL http://localhost/prueba.php, debiendo mostrar la siguiente figura:

Figura 4.4: Información de la Configuración de php

Page 30: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

30 Sistema a Distancia

Con esto podemos iniciar a desarrollar aplicaciones con php y mysql en una distribución GNU/Linux ubuntu.

Page 31: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

31 Sistema a Distancia

RESUMEN

La unidad desarrollada nos brinda una revisión de los fundamentos más importantes de Internet y la World Wide Web. Se describe históricamente su evolución, los protocolos de comunicación y las tecnologías relacionadas a la web.

Además se plantea a la World Wide Web como el mejor referente de Internet, gracias a la evolución del HTML, HTTP y componentes como los Navegadores Web y Servidores Web que han permitido rápidamente la evolución y el desarrollo de Internet. Se hace énfasis a la arquitectura cliente/servidor como un modelo de referente para las Tecnologías Web, además de los lenguajes de programación que permiten el desarrollo de aplicaciones.

Se describe los estándares web que regulan el crecimiento y perfeccionamiento de la web además se presenta a la World Wide Web Consortium como la institución referente en definir y regular los estándares de la Web.

Finalmente, en esta unidad se describe y detalla la forma de implementar un servidor web, conociendo sus componentes, para luego compilar el código fuente del servidor web apache o alternativamente instalando y configurando el Servidor Web, utilizando una distribución GNU/Linux Ubuntu.

Page 32: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

32 Sistema a Distancia

LECTURA

UNA BREVE HISTORIA DE INTERNET

Autores: Barry M. Leiner, Vinton G. Cerf, David D. Clark, Robert E. Kahn, Leonard Kleinrock, Daniel C. Lynch, Jon Postel, Lawrence G. Roberts, Stephen Wolff

La primera descripción documentada acerca de las interacciones sociales que podrían ser propiciadas a través del networking (trabajo en red) está contenida en una serie de memorándums escritos por J.C.R. Licklider, del Massachusetts Institute of Technology, en Agosto de 1962, en los cuales Licklider discute sobre su concepto de Galactic Network (Red Galáctica). El concibió una red interconectada globalmente a través de la que cada uno pudiera acceder desde cualquier lugar a datos y programas. En esencia, el concepto era muy parecido a la Internet actual. Licklider fue el principal responsable del programa de investigación en ordenadores de la DARPA desde Octubre de 1962. Mientras trabajó en DARPA convenció a sus sucesores Ivan Sutherland, Bob Taylor, y el investigador del MIT Lawrence G. Roberts de la importancia del concepto de trabajo en red.

En julio de 1961 Leonard Kleinrock publicó desde el MIT el primer documento sobre la teoría de conmutación de paquetes. Kleinrock convenció a Roberts de la factibilidad teórica de las comunicaciones vía paquetes en lugar de circuitos, lo cual resultó ser un gran avance en el camino hacia el trabajo informático en red. El otro paso fundamental fue hacer dialogar a los ordenadores entre sí. Para explorar este terreno, en 1965, Roberts conectó un ordenador TX2 en Massachusetts con un Q-32 en California a través de una línea telefónica conmutada de baja velocidad, creando así la primera (aunque reducida) red de ordenadores de área amplia jamás construida. El resultado del experimento fue la constatación de que los ordenadores de tiempo compartido podían trabajar juntos correctamente, ejecutando programas y recuperando datos a discreción en la máquina remota, pero que el sistema telefónico de conmutación de circuitos era totalmente inadecuado para esta labor. La convicción de Kleinrock acerca de la necesidad de la conmutación de paquetes quedó pues confirmada.

A finales de 1966, Roberts se trasladó a la DARPA a desarrollar el concepto de red de ordenadores y rápidamente confeccionó su plan para ARPANET, publicándolo en 1967. En la conferencia en la que presentó el documento se exponía también un trabajo sobre el concepto de red de paquetes a cargo de Donald Davies y Roger Scantlebury del NPL. Scantlebury le habló a Roberts sobre su trabajo en el NPL así como sobre el de Paul Baran y otros en RAND. El grupo RAND había escrito un documento sobre redes de conmutación de paquetes para comunicación vocal segura en el ámbito militar, en 1964. Ocurrió que los trabajos del MIT (1961-67), RAND (1962-65) y NPL (1964-67) habían discurrido en paralelo sin que los investigadores hubieran conocido el trabajo de los demás. La palabra packet (paquete) fue adoptada a partir del trabajo del NPL y la velocidad de la línea propuesta para ser usada en el diseño de ARPANET fue aumentada desde 2,4 Kbps hasta 50 Kbps.

Page 33: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

33 Sistema a Distancia

En Agosto de 1968, después de que Roberts y la comunidad de la DARPA hubieran refinado la estructura global y las especificaciones de ARPANET, DARPA lanzó un RFQ para el desarrollo de uno de sus componentes clave: los conmutadores de paquetes llamados interface message processors (IMPs, procesadores de mensajes de interfaz). El RFQ fue ganado en Diciembre de 1968 por un grupo encabezado por Frank Heart, de Bolt Beranek y Newman (BBN). Así como el equipo de BBN trabajó en IMP con Bob Kahn tomando un papel principal en el diseño de la arquitectura de la ARPANET global, la topología de red y el aspecto económico fueron diseñados y optimizados por Roberts trabajando con Howard Frank y su equipo en la Network Analysis Corporation, y el sistema de medida de la red fue preparado por el equipo de Kleinrock de la Universidad de California, en Los Ángeles.

A causa del temprano desarrollo de la teoría de conmutación de paquetes de Kleinrock y su énfasis en el análisis, diseño y medición, su Network Measurement Center (Centro de Medidas de Red) en la UCLA fue seleccionado para ser el primer nodo de ARPANET. Todo ello ocurrió en Septiembre de 1969, cuando BBN instaló el primer IMP en la UCLA y quedó conectado el primer ordenador host. El proyecto de Doug Engelbart denominado Augmentation of Human Intelect (Aumento del Intelecto Humano) que incluía NLS, un primitivo sistema hipertexto en el Instituto de Investigación de Standford (SRI) proporcionó un segundo nodo. El SRI patrocinó el Network Information Center, liderado por Elizabeth (Jake) Feinler, que desarrolló funciones tales como mantener tablas de nombres de host para la traducción de direcciones así como un directorio de RFCs (Request For Comments). Un mes más tarde, cuando el SRI fue conectado a ARPANET, el primer mensaje de host a host fue enviado desde el laboratorio de Leinrock al SRI. Se añadieron dos nodos en la Universidad de California, Santa Bárbara, y en la Universidad de Utah. Estos dos últimos nodos incorporaron proyectos de visualización de aplicaciones, con Glen Culler y Burton Fried en la UCSB investigando métodos para mostrar funciones matemáticas mediante el uso de "storage displays" (N. del T.: mecanismos que incorporan buffers de monitorización distribuidos en red para facilitar el refresco de la visualización) para tratar con el problema de refrescar sobre la red, y Robert Taylor e Ivan Sutherland en Utah investigando métodos de representación en 3-D a través de la red. Así, a finales de 1969, cuatro ordenadores host fueron conectados conjuntamente a la ARPANET inicial y se hizo realidad una embrionaria Internet. Incluso en esta primitiva etapa, hay que reseñar que la investigación incorporó tanto el trabajo mediante la red ya existente como la mejora de la utilización de dicha red. Esta tradición continúa hasta el día de hoy.

Se siguieron conectando ordenadores rápidamente a la ARPANET durante los años siguientes y el trabajo continuó para completar un protocolo host a host funcionalmente completo, así como software adicional de red. En Diciembre de 1970, el Network Working Group (NWG) liderado por S. Crocker acabó el protocolo host a host inicial para ARPANET, llamado Network Control Protocol (NCP, protocolo de control de red). Cuando en los nodos de ARPANET se completó la implementación del NCP durante el periodo 1971-72, los usuarios de la red pudieron finalmente comenzar a desarrollar aplicaciones.

En octubre de 1972, Kahn organizó una gran y muy exitosa demostración de ARPANET en la International Computer Communication Conference. Esta fue la

Page 34: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

34 Sistema a Distancia

primera demostración pública de la nueva tecnología de red. Fue también en 1972 cuando se introdujo la primera aplicación "estrella": el correo electrónico.

En marzo, Ray Tomlinson, de BBN, escribió el software básico de envío-recepción de mensajes de correo electrónico, impulsado por la necesidad que tenían los desarrolladores de ARPANET de un mecanismo sencillo de coordinación. En Julio, Roberts expandió su valor añadido escribiendo el primer programa de utilidad de correo electrónico para relacionar, leer selectivamente, almacenar, reenviar y responder a mensajes. Desde entonces, la aplicación de correo electrónico se convirtió en la mayor de la red durante más de una década. Fue precursora del tipo de actividad que observamos hoy día en la World Wide Web, es decir, del enorme crecimiento de todas las formas de tráfico persona a persona.

Documento extraído de "A Brief History of Internet".

Publicado en el número de Mayo/Junio de 1997, revista de la Internet Society, http://www.internetsociety.org/internet/internet-51/history-internet/brief-history-internet

y se publica con la debida autorización. El artículo está basado en otro publicado en el número de Febrero de 1997 de la revista

Communications de la ACM

Page 35: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

35 Sistema a Distancia

AUTOEVALUACIÓN 1. Según Vértices, Internet se constituye como un fenó meno:

a. Político b. Cultural c. Social d. Gubernamental e. Sociocultural

2. Según Hervo, Internet es considerado como una red:

a. Centralizada b. Privada c. Abierta d. Restringuida e. Cerrada

3. Es el encargado de administrar los dominios .pe en Perú:

a. IANA b. ISOC c. RCP d. El Estado Peruano e. W3C

4. Para Cancelo y Giraldez “lo que hace que una red fu ncione

adecuadamente es el mantenimiento de los estándares de comunicación llamados …”: a. Ordenadores b. Protocolos c. Conexiones d. Telecomunicaciones e. Centro Procesamiento de Datos

5. El protocolo TCP de acuerdo al modelo TCP/IP corres ponde a la capa:

a. Aplicación b. Transporte c. Internet d. Red e. Enlace de datos

6. El siguiente ejemplo: body { padding-left: 11em; font-family: Georgia, "Times New Roman", serif;

color: red; background-color: #d8da3d;

} h1 {

font-family: Helvetica, Geneva, Arial, sans-serif; }

Page 36: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

36 Sistema a Distancia

Corresponde a: a. html b. java c. css d. html5 e. php

7. Se define como procesos que requieren bastante tiem po de

procesamiento por parte del navegador, pero que se podrán realizar en un segundo plano: a. APIS b. Base de Datos c. Aplicaciones Web d. Web Workers e. HTML

8. Aplicada para estándares de Internet en general.

a. W3C b. RFC c. IANA d. IETF e. ISO

9. Considerado un metalenguaje cuya simplificación y a daptación del SGML

permite definir la gramática de lenguajes específic os: a. html b. jsp c. xml d. css e. php

10. Es un modelo de aplicación que más utilizan las tec nologías web:

a. Petición y Respuesta b. Sistema Distribuido c. Protocolo de Comunicación d. Cliente/Servidor e. Estándares Web

Page 37: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

37 Sistema a Distancia

RESPUESTAS DE CONTROL

1. e 2. c 3. c 4. b 5. b 6. c 7. d 8. d 9. c 10. d

Page 38: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

38 Sistema a Distancia

EJERCICIOS PROPUESTOS

Caso: Instalación y Configuración del Servidor Web en GNU/Linux Realizar la ejecución de comandos como usuarios “root”. 1. Ingresar al sitio de internet http://www.php.net/downloads.php y descargar la

versión (Current stable) de php con extensión .tar.gz. Ingresar al mirror ó Sitio Canadá y descargar el paquete. Para desempaquetar y descomprimir el paquete php-VERSION1.tar.gz ejecute las siguientes líneas de comando: Nota : reemplazar VERSION1 por la que corresponde. Ejemplo: VERSION1 = 5.3.8 ó superior. cd /root/Desktop tar xzvf php-VERSIÓN1.tar.gz -C /usr/local

2. Ingresar al sitio de internet http://www.apache.org/dyn/closer.cgi y luego dar clic en cualquiera de los enlaces que muestra en pantalla. Un vez que ingreso busque e identifique la carpeta httpd para luego dar clic sobre ella. Descargar la última versión de httpd (apache) con extensión .tar.gz.

Para desempaquetar y descomprimir el paquete httpd-VERSION2.tar.gz en /usr/local ejecute las siguientes líneas de comando: Nota : reemplazar VERSION2 por la que corresponde. Ejemplo: VERSION2 = 2.2.21 ó superior. cd /root/Desktop tar xzvf httpd-VERSION2.tar.gz -C /usr/local

Para compilar, configurar e instalar apache ejecute las siguientes líneas de comando: cd /usr/local/httpd-VERSION2/ /configure --prefix=/usr/local/apache --enable-so make make install

3. Para activar el servicio del apache ejecute: /usr/local/apache/bin/apachectl start Luego abrir el browser y escriba en la barra de dirección lo siguiente: http://localhost

Page 39: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

39 Sistema a Distancia

Debe de mostrar una página con el texto Its Work Bajar el servicio de apache ejecutando la línea de comando: /usr/local/apache/bin/apachectl stop

4. Ingrese al directorio /usr/local/php-VERSION1 cd /usr/local/php-VERSION1

5. Ejecute la siguiente línea de comando para la configuración:

./configure --with-apxs2=/usr/local/apache/bin/apxs --with-mysql --with-gd --with-jpeg-dir --with-png-dir --with-zlib --with-zlib-dir --with-freetype-dir --with-kerberos --with-openssl-dir --with-pear=/usr/local/php-VERSION1/pear --with-bz2 --with-iconv --enable-mbstring --enable-zip --with-gettext --enable-gd-native-ttf --with-curl --with-xmlrpc --with-mysqli

6. Ejecute el comando make para la compilación

make

7. Ejecute make install para la instalación make install

8. Copiar el archivo php.ini-development a /usr/local/lib/ como php.ini cp php.ini-dist /usr/local/lib/php.ini

9. Editar el archivo de configuración del Servidor Web Apache httpd.conf. Ingrese al directorio /usr/local/apache/conf: cd /usr/local/apache/conf vi httpd.conf a. A continuación en la modifique la línea:

#ServerName www.example.com

Retirar la almohadilla (#) e ingrese la IP o el HOSTNAME de su ordenador quedando de la siguiente manera.

ServerName INGRESE_IP_DE_SU_ORDENADOR

Nota.- Para obtener la dirección IP del ordenador ejecute el comando ifconfig

b. Identifique a continuación el siguiente módulo:

Page 40: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

40 Sistema a Distancia

<IfModule dir_module> DirectoryIndex index.htm

</IfModule> Y modifíquelo de la siguiente manera: <IfModule dir_module>

DirectoryIndex index.php index.htm index.html default.htm </IfModule>

c. Comprobar que la siguiente línea se encuentre habilitada:

LoadModule php5_module modules/libphp5.so

Nota .- En caso de no visualizar la línea anterior deberá volver a ejecutar los comandos a partir desde el paso 4.

d. Agregar al final, del archivo de configuración de apache, lo siguiente:

<FilesMatch "\.ph(p[2-6]?|tml)$"> SetHandler application/x-httpd-php </FilesMatch> <FilesMatch "\.phps$"> SetHandler application/x-httpd-php-source </FilesMatch> Guardar los cambios.

10. Levantar el servicio de apache, ejecute la siguiente línea de comando: /usr/local/apache/bin/apachectl start

11. Para comprobar la configuración del Servidor crear el siguiente archivo dentro

del directorio /usr/local/apache/htdocs

cd /usr/local/apache/htdocs touch info.php

• Con el editor vi crear el archivo

vi info.php Agregue el siguiente contenido: <?php phpinfo(); ?>

Page 41: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

41 Sistema a Distancia

• Guardar los cambios.

12. En el browser o navegador ingrese el siguiente URL

http://IP_DE_SU_ORDENADOR/info.php

13. Ingresar al sitio de Internet http://www.phpmyadmin.net/home_page/downloads.php y descargar el paquete phpMyAdmin-VERSION3-all-languages.tar.gz Nota : reemplazar VERSION3 por la que corresponde. Ejemplo: VERSION3 = 3.4.9 ó superior. tar xzvf phpMyAdmin-VERSION3-all-languages.tar.gz -C /usr/local/apache/htdocs

14. Renombrar la carpeta phpMyAdmin-VERSION3-all-languages de la siguiente

manera:

cd /usr/local/apache/htdocs mv phpMyAdmin-VERSION3-all-languages phpmyadmin

• En el browser abrir el siguiente URL

http://IP_DE_SU_ORDENADOR/phpmyadmin Caso: Instalación de otros servidores Web a. Instalar y configurar el servidor Web Jetty y Apache Tomcat b. Realizar una comparación técnica entre los servidores Web: thttpd, Roxen,

AOLServer y Glassfish Caso: Versiones HTML a. Desarrollar un formulario en versiones HTML básico, HTML Dinámico y

HTML5 y mostrarlo en el servidor Web. b. Crear un formulario utilizando HTML 4.0, su hoja de estilo más su control

dinámico utilizando java script. Caso: Hoja de Estilos (CSS) Crear una página web con una hoja de estilo, donde caracterice el tipo de fuente, tamaño, justificación y defina como background una imagen.

Page 42: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

42 Sistema a Distancia

EXPLORACIÓN ON LINE

• URL: http://www.w3c.es/

Sitio oficial de la World Wide Web Consortium (W3C) donde se definen los estándares web como html, xml y rss. Recientemente definieron el estándar HTML 5.0.

• URL: http://www.internetsociety.org/

Sitio oficial de la Internet Society organización no gubernamental y sin ánimo de lucro, constituida como la única organización dedicada exclusivamente al desarrollo mundial de Internet

• URL: https://developer.mozilla.org/en/Canvas_tutorial

Tutorial de Canvas desarrollado por la empresa Mozilla que promueve el uso del estándar HTML 5.0, este componente permite crear imágenes incluso en 3D utilizando HTML

• URL: http://cmapspublic2.ihmc.us/rid=1239136955718_1163871558_10281/

Publicación acerca de la historia y evolución de internet

• URL: http://httpd.apache.org

Sitio oficial The Apache HTTP Server Project Apache, donde encontrará documentación para el proceso de instalación, configuración y soporte técnico de este servidor

Page 43: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

43 Sistema a Distancia

REFERENCIA BIBLIOGRÁFICA

Aubry, C. (2009) CSS 2.1: adopte las hojas de estilo para dominar los estándares de la Web. Barcelona: Editorial Casa del Libro.

Atelin, P. (2007) TCP/IP y protocolos de internet. Barcelona: Ediciones ENI

Bravo, C. y Redondo, M. A. (2005) Sistemas interactivos y colaborativos en la web. Cuenca: Ediciones de la Universidad de Castilla-La Mancha

Cancelo, P. y Giraldez, J. A. (2007) La tercera Revolución. La Coruña: Editorial NetBiblio, S.L.

De Viveiros, J.M. (2011) La Integración de Internet en el Aula. Alicante: Editorial Club Universitario.

Egea, C. (2007) Diseño Web para tod@s I: accesibilidad al contenido en la Web. Barcelona: Icaria Editorial

Hervo, C. (2007) Microsoft Internet Explorer 7. Barcelona: Ediciones ENI

Lester, David. (2011) Como empezaron. 18 Buenas ideas que se convirtieron en grandes empresas, Ediciones PROFIT, Barcelona.

Mañas, J.A. (2004) Mundo IP: Introducción a los secretos de internet y las redes de datos. Madrid: Ediciones Nowtiles, S.L.

Mateu, C. (2004) Desarrollo de Aplicaciones Web. Barcelona: Eureca Media, SL

Odlyzko, A.M. (2000) The history of communications and its implications for the Internet. Minnesota

Ramos, A. (2011) Aplicaciones Web. Madrid: Editorial Paraninfo

Raymond McLeod, Jr. (2000) Sistemas de Información Gerencial, Séptima Edición, Ediciones Pearson Educación.

Rivera, R. N. (2008) Tesis: Desarrollo de un sistema automatizado para mejorar la eficiencia en la gestión de pacientes del ISRI-CRIOR de la ciudad de San Miguel. El Salvador: Universidad de Oriente del San Salvador

Salavert, A. (2003) Los protocolos en las redes de ordenadores. Barcelona: Ediciones UPC.

Page 44: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

44 Sistema a Distancia

Sommerville, I. (2006) Ingeniería de Software (Séptima Edición). Madrid: Pearson Educación, S.A.

Vértices S.L. (2008) Introducción a Internet. Málaga: Publicaciones Vértice S.L.

Zeldman, J. (2005) Diseño con Estándares Web. Madrid: Grupo Anaya Comercial.

W3C (2008) Guía Breve de Estándares Web.URL: www.w3c.es/divulgacion/guiasbreves/Estandares. Obtenido 2 de Diciembre 2012)

Page 45: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad I Daniel Yucra S. / Santiago Gonzáles S.

45 Sistema a Distancia

BIBLIOGRAFÍA COMENTADA

- Cafasi, E. (1998) Internet: Políticas y Comunicaciones. Buenos Aires: Editorial Biblos.

Puede revisar el capítulo I, sobre la redefinición de las esferas públicas y privadas a partir de la ampliación del uso de internet. Además la página 205 hasta la 220 sobre el Internet y las publicaciones científicas

- Coulouris, G., Dollimore, J., & Kindberg, Tim (2007) Sistemas Distribuidos Conceptos y Proyecto 4ta Edición. Madrid: Addison Wesley.

Puede revisar la unidad 2, sobre los modelos de arquitectura de los sistemas distribuidos.

- Lackerbauer, I. (2000) Internet. Barcelona: Marcombo S.A.

Puede revisar el capítulo I sobre la historia y formación de internet, además de la página 253 donde le explican cómo crear su propia página.

- Eck, M. (2002) Tecnología: Mapas para el Futuro, La internet por dentro y por fuera. New York: The Rosen Publishing Group.

Puede revisar la página 16, sobre el nacimiento de la World Wide Web, la página 22 sobre la administración de Internet y la página 40 sobre una cronología sobre Internet.

- Fernández, A. (1998) Producción y diseño gráfico para la World Wide Web. Barcelona: Editorial Paidós.

Se recomienda revisar la unidad 6, sobre la estructura de la información en la World Wide Web, además de las Guías de estilo para diseño gráfico en la World Wide Web.

Page 46: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

46 Sistema a Distancia

SEGUNDA UNIDAD

Web 2.0 y Web 3.0

Sumario

La siguiente unidad describe los fundamentos de la Web 2.0 y Web 3.0 y las aplicaciones utilizadas para la gestión de contenidos y aplicaciones de inteligencia artificial.

Así mismo, se realiza la definición de los Web Services, el uso de los estándares más utilizados, cuales son las características más resaltantes y su arquitectura a través los componentes básicos relacionados a los protocolos de comunicación.

Al finalizar la unidad, definimos la Web Semántica y sus principales componentes y mecanismos que ayudan a convertir la Web en una gran infraestructura global para los usuarios.

Page 47: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

47 Sistema a Distancia

Objetivos

Al finalizar esta unidad, el estudiante será capaz de:

• Conocer los fundamentos de la Web 2.0 y las aplicaciones que se relacionan, tales como: Redes Sociales, Sistema de Gestión de Contenidos y Aprendizaje.

• Conocer los fundamentos de la Web 3.0 y las aplicaciones utilizadas en el entorno Web.

• Reconocer estándares, características y arquitectura de los Web Services.

• Identificar los componentes de la Web Semántica.

Page 48: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

48 Sistema a Distancia

Lección 5: Fundamentos de la Web 2.0

5.1 Historia y Evolución de la Web

Los acontecimientos más importantes en el nacimiento de la Web se remontan en los años cuarenta:

− 1945: Vannevar Bush escribe el artículo "As We May Thik" en el Atlantic Monthñy sobre un dispositivo fotoeléctrico y mecánico, llamado menex, capaz de crear y seguir enlaces entre distintos documentos almacenados en microfichas (un sistema parecido a lo que hoy se conoce como hipertexto), (Luján, 2002, p. 15).

− 1965: Ted Nelson acuña el término "hipertexto" en el artículo "A File Structure for the Complex, the Changing and the Indeterminate". Comienza el desarrollo del proyecto Xanadu, un sistema basado en hipertexto que nunca llegó a completarse (Luján, 2002, p. 15).

− 1980: Mientras trabaja en el CERN, Tim Berners-Lee escribe un programa llamado Enqure-Within-Upon-Everuthing, que permite crear enlaces entre nodos. (Luján, 2002, p. 15-16).

− 1989 (marzo): Tim Berners-Lee escribe "Information Management:A proposal", un informe interno que circula por el CERN (Luján, 2002, p. 16).

− 1990 (septiembre): Mike Sendll, jefe de Tim Berners-Lee da el visto bueno a la compra del ordenador NeXT, lo que permite a Tim seguir adelante y crear un sistema global de hipertexto (Luján, 2002, p. 16).

− 1990 (octubre): Tim Berners-Lee inicia el desarrollo de un editor y navegador gráfico de hipertexto para NEXTStep, el sistema operativo con entorno gráfico de los ordenadores NeXT. Elige WorldWideWeb como nombre del programa "World Wide Web" como nombre del proyecto, después de descartar una serie de nombre: Information Mesh, Mine of Information e Information Mine (Luján, 2002, p. 16).

− 1990 (noviembre): se instala el primer servidor Web y se pública la primera página Web.

− 1991 (junio): se celebra un seminario sobre WWW en el CERN

− 1991 (agosto): se publica en Internet los ficheros del primer navegador.

− 1991 (diciembre): Paul Kunz instala el primer servidor Web fuera de Europa en Stanford Linear Accelerator Center (SLAC), (García, 2007, p. 19).

− 1992: aparecen los primeros navegadores de terceras partes, Erwise, Viola y Midas.

− 1992: Marc Andreesen y Eric Bina comienzan a trabajar en un nuevo navegador gráfico para Unix en la Nation Center for Supercomputing Applications (NSCA), (García, 2007, p. 20).

− 1993 (febrero): se publica el navegador gráfico NCSA Mosaic para X-Window sobre Unix, dando inicio a Nestcape y al resto de navegadores de hoy en día (Aguilar, 2003, p. 131).

Page 49: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

49 Sistema a Distancia

A continuación las tecnologías y estándares que han permitido la evolución de la Web hasta la versión Web 4.0:

Figura 2.1: Evolución de la Web

Fuente: Radas Networks y Nova Spivack 2007

Como hemos visto, la Web ha pasado por tres etapas o generaciones muy claras:

a) Primer Generación de Contenido estático

b) Segunda Generación de Contenido Dinámico o Interactivo

c) Tercera Generación o de Contenido Colaborativo

Sin embargo, la evolución continúa y desde el año 2010 estamos en pleno desarrollo de la web 3.0 donde destaca la Web Semántica e Inteligencia Web.

5.2 Web 1.0

La Web se inicia con la versión 1.0 o simplemente Web 1.0, donde las páginas eran estáticas y el usuario todavía no podía interactuar con las páginas. Sus características son:

− Las páginas Web estaban escritas en un simple editor de texto utilizando solo código HTML. Las tareas de añadir, cambiar o actualizar algo en la página web requería mucho tiempo y trabajo.

− Los usuarios eran simples lectores que podían ver contenidos como textos e imágenes y no podían registrarse ni comentar o añadir contenidos a las páginas, era una labor técnica y en algunos casos sin herramientas de apoyo.

Page 50: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

50 Sistema a Distancia

− Todavía no se definía alguna norma de diseño, con lo que era fácil encontrarse página con múltiples colores y diseños incluso extravagantes.

− En su inicio no se utilizaban gestores de base de datos para guardar o almacenar información, por lo tanto no existían los usuarios ni el registro de usuarios, todos eran visitantes.

En la Web 1.0 no existía Google, Altavista o Yahoo u otros buscadores. Tampoco existía Facebook, Myspace, Messenger, menos mensajería instantánea. Existiendo, en aquel momento, canales de IRC.

Los contenidos y el diseño estaban juntos en el código HTML de las páginas. Si alguien deseaba cambiar alguna característica de la página, como el color o el tipo de letra de un párrafo, era necesario cambiarlo en cada uno de ellas y se incrementaba la labor por la gran cantidad de páginas que había que mantener.

5.3 ¿Qué es la Web 2.0?

El termino Web 2.0 fue utilizado por primera vez por una diseñadora, Dacy Dinucci, en 1999. Lo usó en un artículo titulado <<Fragmented Future>> para referirse a los cambios estéticos y de diseño que empezaban a apreciarse en la Web, ya que comenzaba a acceder a ella con diferentes tipos de dispositivos, no sólo ordenadores. Tim O'Reilly, el presidente de O'Reilly Media, en 2004, lo acuño, como título de una conferencia que estaba organizando. (Barza y Capella, 2010, pp. 20-21).

La Web 2.0 es la representación de la evolución de las aplicaciones tradicionales hacia aplicaciones Web enfocadas al usuario final. La Web 2.0 es una actitud y no necesariamente precisa de una tecnología.

La Web 2.0 es la transición que se ha dado de aplicaciones tradicionales hacia aplicaciones que funcionan a través de la Web enfocada al usuario final. Todo el alto grado de interactividad es el común denominador. Se trata de aplicaciones que generen colaboración y de servicios que reemplacen las aplicaciones de escritorio desarrolladas en esa época.

Es una etapa que ha definido nuevos proyectos en Internet y está preocupándose por brindar mejores soluciones para el usuario final. Muchos aseguran que hemos reinventado lo que era el Internet, otros hablan de burbujas e inversiones, pero la realidad es que la evolución natural del medio realmente ha propuesto cosas más interesantes como lo analizamos diariamente en las notas de actualidad.

La Web 2.0 no se trata de una nueva Internet ó tecnología ó herramienta, se trata de enfocar la Web en un nuevo rumbo con más participación de los usuarios que lo utilizan.

Se trata de pensar la Web como una plataforma, plantea una arquitectura y una visión de los intereses y necesidades de los usuarios.

5.4 Aplicaciones más populares de la Web 2.0

Las aplicaciones Web 2.0 usan diferentes tecnologías que dan inicio a la transformación de Internet, cuyas características se pueden resaltar:

Page 51: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

51 Sistema a Distancia

- Transformar las aplicaciones de escritorio hacia una plataforma completamente Web.

- El uso de los estándares como el XHTML.

- Separación de contenido del diseño con uso de hojas de estilo.

- Sindicación de contenidos utilizando RSS.

- Uso de técnicas como Ajax (combinación de javascript asincrónico y xml) para crear aplicaciones interactivas.

- Uso de los framework como Ruby on Rails para desarrollar otras aplicaciones Web utilizando el patrón de diseño arquitectónico MVC.

- Utilización de redes sociales como facebook, twitter, identica y redes sociales especializadas de acuerdo a alguna especialidad.

- Los usuarios toman el control del manejo de la información.

- Proveer API utilizando XML para que las aplicaciones puedan ser manipuladas por otros.

- Uso de XML como lenguaje para la interoperabilidad e intercambio de datos.

Por lo tanto las aplicaciones más significativas de la Web 2.0 podemos citar:

− Wiki: Se trata de un tipo de aplicación colaborativa que bajo la estructura de un procesador de texto en línea permite que cualquier usuario pueda escribir, publicar o editar archivos o enlaces, sin ninguna complejidad.

− Repositorios: Es una herramienta que permite compartir conocimientos entre investigadores y académicos. Creados bajo la filosofía colaborativa, ofrecen la posibilidad de subir o descargar de la Web, herramientas tales como: archivos de multimedia, textos, sonidos o videos que pueden ser utilizadas con fines científicos o pedagógicos, principalmente en universidades y centros de estudios.

− Flickr: Es el nombre de una empresa que planteó la posibilidad de compartir imágenes a través de Internet. También se caracteriza por ofrecer un espacio de almacenamiento gratuito y por contar con una interfaz intuitiva, permite subir fotografías sin necesidad de instalar algún tipo de aplicación en el computador.

− YouTube: Es una herramienta que le permite al usuario subir y compartir videos o imágenes animadas sin contar con grandes recursos tecnológicos. YouTube usa un reproductor en línea basado en Adobe Flash, actualmente puede utilizar también un reproductor HTML.

− Lectores RSS: Las aplicaciones RSS permiten que los usuarios se suscriban y enlacen a una página con notificaciones cada vez que la página cambia o se actualiza. Muy utilizado por todos los medios de comunicación.

− Podcasting: Método distribución de archivos en formatos de audio o video a través de Internet, para ser escuchados en dispositivos portátiles. La diferencia entre un podcast y una descarga de audio o video es la suscripción. Las subscripciones se actualizan de manera sin visitar el sitio Web origen. Las radios comerciales proporcionan sus contendidos con esta tecnología.

Page 52: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

52 Sistema a Distancia

− Redes Sociales: Se trata de comunidades participativas y colaborativas donde se establecen relaciones entre usuarios en base a sus intereses comunes. Se trata de aplicaciones muy visitadas e interactivas por los usuarios de internet.

− Weblogs: Es un espacio de comunicación personal donde sus contenidos abarcan cualquier tipo de tema y el usuario publica información de interés, además presentan una marcada estructura cronológica, donde hay enlaces a sitios web de referencia que tienen relación con los contenidos del blog.

5.5 Redes Sociales

Se trata de uno de los desarrollos más innovadores de la Web 2.0. Desde que fueron concebidas, su finalidad ha sido la de crear un lugar de encuentro para que miles de usuarios con interés comunes puedan comunicarse.

Actualmente, millones de usuarios comparten aficiones, amistades, ideas, fotografías, vídeos y elementos multimedia de todo tipo. Su crecimiento ha si sido tan enorme que se ha convertido en un fenómeno social.

Para Fernández (2010) "Las redes sociales son Web que permiten a los usuarios entrelazarse para poder comunicarse entre sí, con los amigos que se encuentren dentro de su propia red, en la cual pueden intercambiar fotos, video, mensajes instantáneos, comentarios en fotos, etc. Existen diferentes tipos de redes, éstas son las redes profesionales, temáticas, mixtas, de ocio, personas, entre otros., y aún hoy siguen creciendo nuevos tipos de redes. Las redes que suelen utilizar los jóvenes son las redes personales de ocio." (p. 7).

Aplicaciones como Youtube, Myspace, Facebook, Twitter, este último en ocupar los primeros puestos en el ranking absoluto de los lugares más visitados de Internet, están cambiando totalmente la forma de relacionarnos con nuestros amigos, vecinos, conocidos, clientes, seguidores y compañeros de trabajo (Ramos, 2011, p. 22).

El funcionamiento es sencillo. Una persona se registra en una red social (por ejemplo en facebook) y empieza a invitar amigos y conocidos a formar parte de la red para compartir intereses, preocupaciones, fotos, mensajes, etc.; los amigos y conocidos reciben invitaciones y deciden unirse a la red; estos a su vez invitan a otros amigos, proporcionando la posibilidad de interactuar y compartir intereses con personas que no conocemos. Las redes sociales son sistemas abiertos que se va construyendo con lo que cada miembro aporta y rompe el aislamiento de muchas personas en una sociedad tan tecnificada como el actual, donde ha tenido un uso masivo en los teléfonos móviles.

Las ventajas de las redes sociales son numerosas, entre las que podemos destacar:

a) Permiten la relación e interacción con otras personas.

b) Permite establecer contacto profesional e incluso encontrar oportunidad laboral.

c) Plataforma ideal para el entretenimiento y ocio.

d) Posibilidad de publicar todo tipo de contenido, incluso la capacidad de hacer una transmisión en vivo (lifestreaming).

Page 53: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

53 Sistema a Distancia

Sin embargo, como cualquier aplicación, también tiene sus puntos débiles, entre los que destaca:

a) Nuestra privacidad puede verse en peligro, en caso que dejemos abierta el perfil todo el mundo podría verlo.

b) Otro riesgo es la suplantación de personalidad, que es una forma de engaño en la que una persona pretende ser o hacerse pasar por otra.

c) Falta de control de datos, sobre todo cuando publicamos, este puede convertirse en propiedad de las redes sociales.

5.6 Weblogs y Blogósfera

Un blog, es una bitácora donde el usuario publica información, se trata de un espacio o sitio Web periódicamente actualizado que recopila cronológicamente textos o artículos de uno o varios autores, apareciendo primero el más reciente, donde el autor conserva siempre la libertad de dejar publicado lo que crea pertinente.

Un blog constituye una herramienta de colaboración asincrónica que permite que cualquiera pueda expresar ideas y poner contenidos a disposición de otros en la Web de una manera sencilla (Martínez, 2009, p.121).

Por lo general los blogs son entornos:

− Colaborativos: ya que permiten que otros internautas añadan comentarios a las entradas iniciadas por el creador del blog.

− Definibles: es decir, se puede delimitar quiénes pueden añadir comentarios, lo que hace posible que se creen entornos restringidos aunque a la vez sean públicos y visibles a cualquier otro usuario Web.

− Interactivos: desde ellos pueden enlazarse otros sitios Web, videos, audios, etc. dando acceso a otros contenidos y permitiendo la puesta en práctica de otras habilidades lingüísticas. Algunos espacios permiten incluso que se suban archivos de audio (podcasts).

− Gratuitos: al menos existe un gran número de espacios donde crear blogs que incluso no incluyen ningún tipo de publicidad.

Blogósfera como un sistema virtual, en el que se establecen comunidades de weblogs, categorizados temáticamente o por perfiles de interés. Estos conforman, pues, el mensaje y la blogosfera, el lugar para habitar en Internet (Cabero, 2006, p.234)

5.7 Implementación de un blog personal

Crear un blog es simple y fácil de editar a menudo, a continuación estas son las consideraciones que debe seguir, antes de iniciar la creación de un blog:

1. Escoger un tema.

2. Escoger un buen nombre para tu blog.

3. Escoger una buena plataforma tecnológica para tu blog.

4. Escoger una plantilla adecuada de acuerdo al tema.

Page 54: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

54 Sistema a Distancia

5. Definir un tiempo de frecuencia para publicar los post.

6. Intentar ser perseverante y activo en la blogósfera.

7. Redactar artículos interesantes para tus lectores y de calidad.

Si puedes hacer esto, tu blog puede tener éxito en la blogósfera.

A continuación los pasos para crear un blog personal utilizando el sitio de “blogger.com” de Google.

Lo primero que se debe hacer es escribir en la barra de direcciones del navegador la siguiente URL http://www.blogger.com

Entonces aparecerá la página principal del sitio Blogger, en la que vas a realizar tres sencillos pasos para crear tu blog. Lo único que necesitas es una cuenta de correo electrónico de Google la empresa dueña de este servicio de blogs.

A continuación los pasos a seguir para crear el blog personal:

a. Crear una cuenta

Una vez en la página del sitio Blogger, nos invitan a crearnos un blog con el lema: "Crea un blog. Es gratuito", la primera fase sólo será necesaria si no tenemos cuenta en Google. Si la tenemos, hay que hacer clic en el enlace "comenzar ", desde donde accederemos al segundo paso. A continuación aparece un formulario que debe completar la información requerida:

− Una cuenta de correo electrónico existente, que tendremos que repetir en el siguiente campo de texto. Aquí se escribe la dirección completa de la cuenta.

− Una contraseña escrita dos veces para evitar errores. Tiene que incluir ocho caracteres como mínimo, y puede verificarse su fortaleza, es decir, su calidad como contraseña, haciendo clic en el enlace correspondiente.

− El nombre que aparecerá como autor del blog y de los artículos. Se puede optar por un apodo o por nuestro nombre real.

− Una verificación, que consiste en escribir las letras que aparecen en una pequeña imagen, lo cual se hace para evitar que se creen cuentas automáticamente.

− Activar la casilla de aceptación de las condiciones. Conviene leer estas "Condiciones y usos del servicio de Blogger", que muchos encuentran abusivas.

Una vez completado los campos hacemos clic en la flecha “Continuar”, y continuamos con el siguiente paso

b. Elegir adecuadamente el nombre del blog

En esta fase simplemente escribiremos un nombre para nuestro blog, que podremos cambiar más tarde, y le asignaremos una dirección de Internet, Es importante que la dirección sea corta, fácil de recordar y generalmente con letras minúsculas, sin caracteres especiales como tildes. La dirección suele ser el nombre del blog o el nombre del autor, pero se puede poner lo que se quiera.

Page 55: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

55 Sistema a Distancia

Por ejemplo un nombre de prueba puede ser “tecnologiaweb". Después Blogger añade la parte final hasta quedar así:

http://tecnologiaweb.blogspot.com

Antes de continuar hay que hacer clic en el enlace que dice Comprobar la disponibilidad para ver si ese nombre ya está elegido por otro usuario; y suele ocurrir con frecuencia que ya esté utilizado.

c. Elegir una plantilla

En este último paso tendremos que elegir una plantilla o conocido un theme, que es el diseño general del blog. Elegiremos la que más nos guste, pero más adelante podremos cambiarla siempre que lo deseemos..

d. Acceder al blog

La forma más sencilla es ir a la página principal de Blogger http://www.blogger.com, y allí nos presentan un formulario con un campo de texto y otro de contraseña. En el primero escribimos nuestro nombre de usuario, en este caso nuestra cuenta de Google o la dirección completa de la cuenta de correo con que registramos nuestro blog. Cuando hagamos clic en el enlace Acceder, llegaremos a nuestro Escritorio del blog.

Escribiendo la dirección completa del nuevo blog como, por ejemplo: http://tecnologiaweb.blogspot.com. En este caso, aparecerán unos enlaces en la parte superior del blog. Hay que hacer clic en Acceder, que está en la parte derecha, y entonces llegaremos a la página principal de Blogger para incluir nuestros datos.

Y encima de ella veremos la barra de Blogger, con la que podremos entrar a la sección de Administración y escribir una Nueva Entrada en el blog o elegir la opción “Personalizar el Diseño”, además de otras funciones.

e. Panel de control

Cuando accedemos a nuestro blog, recién creado, nos encontramos con el Escritorio, que nos da acceso a la parte privada del blog o administración. Desde aquí controlamos todos nuestros blogs y también, a la izquierda, nuestro perfil de usuario y cuenta.

El perfil de usuario es importante para formar parte de la comunidad de Blogger, que es muy extensa en todo el mundo. Estos datos personales los podrán ver los visitantes de nuestro blog, pero también se verán mediante un enlace cuando escribamos un comentario en otro blog. Siempre es conveniente que escribamos algunos datos nuestros para que los demás nos conozcan, aunque sea un poco, pues no hay que olvidar que el carácter personal es importante en los blogs.

En el panel de control, aparecen otros enlaces importantes, que corresponden a las principales secciones de la administración del blog:

Page 56: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

56 Sistema a Distancia

− Nueva entrada, para escribir un nuevo texto en nuestro blog.

− Editar entradas, para ver todas las entradas escritas en el blog y editarlas.

− Comentarios, si los hubiera, para mostrar todos los comentarios de nuestro blog.

− Configuración, para configurar nuestro blog, es decir, una serie de opciones para personalizarlo según nuestros gustos y necesidades.

− Diseño: para modificar el diseño elegido o escoger otro nuevo.

− Monetizar: es una nueva opción para ganar dinero con la publicidad de AdSense, propia de Google.

− Estadísticas, que nos proporciona unas breves estadísticas de las visitas a nuestro blog.

5.8 Sistema de Gestión de Aprendizaje (LMS)

Sistema de Gestión de Aprendizaje, (Learning Management System - LMS) es una aplicación instalado en un servidor, que se emplea para administrar, distribuir y controlar las actividades de formación a distancia de una institución u organización.

Las principales funciones del LMS son: gestionar usuarios, recursos así como materiales y actividades de formación, administrar el acceso, controlar y hacer seguimiento del proceso de aprendizaje, realizar evaluaciones, generar informes, gestionar servicios de comunicación como foros de discusión, videoconferencias, entre otros.

Un LMS se focaliza en gestionar contenidos creados por fuentes diferentes, en este caso un docente. La labor de crear los contenidos para las asignaturas se desarrolla mediante un LCMS (Learning Content Management Systems). La mayoría de los LMS funciona con tecnología internet cuya plataforma tecnología en un sistema cliente servidor web.

Un LMS es una aplicación residente en un Servidor Web, en la que se desarrollan acciones formativas. Es sinónimo de plataforma virtual. Es el lugar donde alumnos, tutores, profesores o coordinadores se conectan a través de Internet (navegador web) para descargar contenidos, ver el programa de asignaturas, enviar correos al profesor, charlar con los compañeros, debatir en un foro, participar en una tutoría, etc. (Varela, 2007, p. 54).

5.8.1 Implementación de un LMS

Para iniciar el proceso de instalación es necesario conocer los requisitos necesarios en este caso vamos a proceder a utilizar el LMS Chamilo, una aplicación web de Software Libre.

a) Prerrequisitos

Chamilo puede ser instalado indiferentemente en servidores Windows, Linux, Mac OS X y UNIX. Sin embargo, recomendamos el uso de un servidor Linux para una

Page 57: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

57 Sistema a Distancia

óptima flexibilidad, control remoto y escalabilidad. (Chamilo puede ser instalado indiferentemente en servidores Windows o Linux.

Chamilo es un LMS que se ejecuta con Apache, MySQL y PHP (trilogía también llamada AMP).

Puede ser enriquecida con la conversión a PowerPoint (característica llamada Dokeos Oogie) mediante el uso de OpenOffice.org + Java. Quizás también quiera agregar el plugin de Videoconferencia de Chamilo mediante el uso de RED5 servidor de código abierto de Flash.

Todo este software es software de código abierto y está disponible libremente.

Para ejecutar Chamilo LMS en su servidor, necesita instalar WAMP, LAMP o MAMP:

- Para instalar WAMP (AMP en Windows), recomendamos el instalador XAMPP .exe

- Para instalar LAMP (AMP en Linux), use el administrador de paquetes de su distribución favorita (Synaptic, RPMFinder etc.). Por ejemplo, en un servidor Ubuntu, use Shell o Synaptic siguiendo la Ubuntu guide on Apache y las secciones siguientes.

- Para instalar MAMP (AMP en Mac OS X), referirse al sitio web dedicado a MAMP.

b) Servidor de Base de Datos MySQL

Se necesitará una cuenta de acceso y una contraseña que le permita administrar y crear al menos una base de datos. De manera predeterminada, Chamilo creará una nueva base de datos para cada curso. Usted también puede instalar Chamilo con una sola base de datos, en ese caso, deberá seleccionar esta opción durante la instalación.

Para aprovechar la ventaja de la conversión Oogie de PowerPoint / Impress, necesita:

− OpenOffice.org y Java Runtime Environment

Para aprovechar la ventaja de la Videoconferencia de Chamilo se necesita: Servidor de Flash de Código Abierto RED5.

c) Proceso de Instalación de Chamilo LMS

- Descargar Chamilo LMS (http://www.chamilo.org/es/download-es)

- Descomprimirlo.

- Copiar el directorio de Chamilo en su directorio web de Apache. Este puede ser C:\xampp\htdocs\ en un servidor Windows o /var/www/html/ en un servidor Linux.

- Abrir su navegador web (Internet Explorer, Firefox...) y escribir http://localhost/chamilo/ si se instala de manera local o http://www.domain.com/chamilo/ si se instala remotamente.

Page 58: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

58 Sistema a Distancia

- Seguir el proceso de instalación web. Usted puede aceptar todos los valores predeterminados. Considere cambiar la contraseña de administrador y recuérdela.

Los siguientes directorios necesitan tener permisos de lectura, escritura y ejecución para todo el mundo (remplace [chamilo] por el directorio en el cual está ubicado su Chamilo):

[chamilo]/main/inc/conf/

[chamilo]/main/upload/users/

[chamilo]/main/default_course_document/images/

[chamilo]/archive/

[chamilo]/courses/

[chamilo]/home/

Opcionalmente, puede hacer lo mismo a los directorios siguientes si desea activar la subida de paquetes de estilos CSS y la definición de sub-idiomas:

[chamilo]/main/css/

[chamilo]/main/lang/

En Linux, Mac OS X y sistemas operativos BSD puede usar el comando CHMOD 0777. En Windows, es probable que necesite revisar las propiedades de los directorios (mediante el uso del clic derecho en ellos).

Los siguientes archivos necesitan tener permisos de lectura y escritura para el navegador web, sólo durante la instalación de Chamilo:

chamilo/main/inc/conf/configuration.php

En Linux, Mac OS X y sistemas operativos BSD usted puede usar el comando CHMOD 666 para esto (aunque nosotros recomendamos que busque la ayuda de un administrador de sistemas con experiencia). En Windows, es probable que usted necesite revisar las propiedades de los directorios (mediante el uso del clic derecho en ellos).

d) Configuración PHP

Para obtener lo mejor de Chamilo, necesita ajustar la configuración de PHP. Considere:

Editar el archivo php.ini (en Windows puede estar ubicado en C:\xampp\php\php.ini, en Ubuntu Linux : /etc/php5/apache2/php.ini

Buscar la palabra "max" y incrementar los valores para optimizar el servidor

Quizás desee terminar con los siguientes valores:

max_execution_time = 300 ; Tiempo máximo de ejecución para cada script, en segundos

max_input_time = 600 ; Tiempo máximo que cada script que puede emplear para analizar los datos solicitados

Page 59: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

59 Sistema a Distancia

memory_limit = 256M ; Máxima cantidad de memoria que un script puede consumir (128MB)

post_max_size = 64M

upload_max_filesize = 100M

Algunos usuarios pueden encontrar problemas si en sus configuraciones de PHP no se ajustan a las siguientes:

short_open_tag = On

safe_mode = Off

magic_quotes_gpc = On

magic_quotes_runtime = Off

En versiones de Chamilo/Dokeos anteriores se requerirá que register_globals estuviera configurada en On. Esto ya no necesario, puede estar configurado en Off y Chamilo funcionará bien.

Si usa PHP 5.3 o superior, se necesita configurar la variable date.timezone a la zona horaria de su servidor. Por ejemplo, si su servidor está en la zona horaria 'America/Lima', modificar en el php.ini:

date.timezone = 'America/Lima'

5.9 Sistema de Gestión de Contenidos

Popularmente conocido con su acrónimo CMS, es la herramienta software que permite al usuario gestionar dinámicamente los elementos que componen un sitio web. Desde la creación de páginas, redacción, diseño, archivos a permisos (Rojas, 2006, p. 95).

Un Sistema de Administración de Contenidos (CMS) provee las herramientas necesarias para gestionar el ciclo de vida de los contenidos: creación, gestión, presentación, mantenimiento y actualización de un portal web.

Los Sistemas de Administración de Contenidos son programas que permite crear una estructura de soporte para la creación y administración de contenidos por parte de los participantes de un sitio web de manera sencilla, flexible y sin muchos conocimientos técnicos.

Consiste en una interfaz que controla una o varias bases de datos donde se aloja el contenido del sitio. El sistema permite manejar de manera independiente el contenido y el diseño. Así, es posible manejar el contenido y darle en cualquier momento un diseño distinto al sitio sin tener que darle formato al contenido de nuevo, además de controlar la publicación en el sitio. Un ejemplo clásico son los editores que cargan el contenido al sistema y otro de nivel superior que permite que estos contenidos sean visibles a todo el público (Moro y Torres, 2008, p. 95).

Originalmente usado para la publicación de sitios web, los primeros sistemas de administración de contenidos fueron desarrollados internamente por organizaciones que publicaban en Internet, como revistas en línea, periódicos y publicaciones de algunas empresas. En 1995, CNET sacó su sistema de primer

Page 60: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

60 Sistema a Distancia

CMS y creó una compañía llamada Vignette, que abrió el mercado para los sistemas de administración de contenido comerciales.

Las ventajas de los CMS:

− Mantenimiento completamente descentralizado.

− Los autores de los contenidos con pocos conocimientos técnicos.

− Consistencia del diseño y flexible su cambio.

− Contenido almacenado en una sola base de datos.

− Contenido dinámico y altamente actualizable.

− Actualizaciones permanentes.

− Coordinación de tareas para publicar entradas entre los usuarios del CMS.

− Programación de contenido de acuerdo a un calendario establecido.

A continuación se muestra una comparación de cinco CMS en función de los requerimientos del sistema, de la aplicación del servidor, del costo y de las bases de datos que utiliza cada CMS.

Tabla 5.1: Comparación de CMS

Fuente: Adaptado de http://multimedia.uoc.edu/~wordpress/wp-content/uploads/cms.pdf

CMS Bricolage 1.10

Drupal 6.4 Joomla! 1.5.6 OLAT 5.2 Poseidon

0.6.1

Requerimientos del sistema

Bricolage Drupal Joomla! OLAT Poseidon

Aplicación de servidor

mod_perl PHP 4.3.5+

Supports PHP (Apache recommended)

Tomcat PHP 4.3.0+

Costo Open-Source (Gratuito)

Gratuito Gratuito 0 Gratuito

Bases de datos PostgreSQL MySQL, Postgres

MySQL

MySQL, Postgres, mSQL, Interbase, Sybase

MySQL 4.0.3+

5.9.1 Implementación de un CMS

Se puede instalar en Windows ó Linux y estos son los requerimientos que se necesitan:

− Descarga alguna versión actual, del URL: http://www.joomlaspanish.org/

− Un Servidor local Apache, previamente instalado, por lo menos una versión de PHP 5.XX.XX o superior

Page 61: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

61 Sistema a Distancia

A continuación, los pasos a seguir para la instalación:

a. Una vez descargado Joomla, lo descomprimiremos en la carpeta www., de nuestro servidor local, o en la carpeta de inicio del servidor web, o en la carpeta donde está la configuración de su localhost.

b. El segundo paso, será crear la base de datos, para este paso es necesario tener instalado "phpmyadmin"

c. En "phpmyadmin", elegiremos un nombre para nuestra base de datos, por ejemplo “joomla”, y haremos clic en el botón “crear”.

d. Una vez creada la base de datos, empezaremos con la instalación de Joomla, para esto escribiremos en nuestro navegador la siguiente URL “http://localhost/index.php”, nos mostrará una pantalla donde tendremos que elegir el idioma de instalación, y después haremos clic en el botón siguiente, situado en la parte superior derecha.

e. En la siguiente pantalla, debemos verificar que todos los campos estén de color verde, para así tener una instalación completamente funcional y sin ningún error. Si todo está bien, hacemos clic en siguiente.

f. El siguiente paso es leer la licencia del programa, y hacer clic en siguiente.

g. En la siguiente pantalla, debemos rellenar los campos con la información de nuestra base de datos creada anteriormente. Para el tipo de la base de datos, elegiremos la opción, MySQL, en nombre del servidor escribiremos “localhost”, en este campo casi siempre el nombre será localhost,. En nombre de usuario y contraseña, escribiremos los datos del usuario para conectarnos a nuestra base de datos, como estamos en localhost, utilizaremos “root”, y colocamos la contraseña correspondiente. El siguiente campo, será ingresar el nombre de nuestra base de datos antes creada, en este caso "joomla". Es importante llenar completamente los campos y presionamos el botón siguiente.

h. Después encontraremos una pantalla para la configuración de la cuenta FTP, este paso no es necesario llenarlo por ahora.

i. El paso siguiente será llenar el nombre que tendrá nuestro sitio web, el correo del administrador, así como su contraseña. También existe una opción de instalar los datos de ejemplo, esto es recomendado para principiantes, pero si deseas hacer una instalación limpia, no hagas clic sobre ese botón. Una vez llenados los campos con los datos correctos, hacemos clic en el botón siguiente.

j. En la siguiente pantalla, nos aparecerá un mensaje que nos indica que debemos eliminar completamente el directorio de instalación.

k. Para eliminarlo, debemos entrar a los archivos de Joomla, que se encuentran dentro de la carpeta www., y eliminar completamente la carpeta llamada “installation”.

l. Con esto hemos terminado nuestra instalación de Joomla, y podremos acceder a nuestro panel de administración desde la siguiente URL, “http://localhost/administrator/index.php”, después ingresamos nuestro nombre de usuario que es “Admin”, y nuestra contraseña que ingresamos en el paso donde se le asigno un password al administrador.

Page 62: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

62 Sistema a Distancia

m. Una vez ingresado, ya estaremos en la administración de Joomla. Y colocando el URL http://localhost, tendremos el sitio web instalado con Joomla

Page 63: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

63 Sistema a Distancia

Lección 6: Fundamentos de la Web 3.0

6.1 ¿Qué es la Web 3.0?

La expresión Web 3.0 fue acuñada por John Markoff, periodista que hace las veces de corresponsal del New York Times en Silicon Valley, en el año 2006. La expresión se refería a la futura tercera generación de servicios basados en Internet que podrían caracterizarse por una Web Inteligente y que incluirían algunos conceptos como la Web Semántica, las búsquedas en lenguaje natural, el aprendizaje de las máquinas, los agentes recomendadores y las tecnologías relacionadas con inteligencia artificial, entre otras (Miltiadis, Lytras y Ordoñez, 2009, p. 33).

Para Castello (2010), "La Web 3.0 representa una evolución lógica de la Web 2.0, en la que las capacidades de la Web participativa se acentúa más si cabe y la interacción a través de espacios 3.0 se multiplican. Se trata de la próxima generación web que está aquí y cuyo estudio, por tanto, debe ser abordado desde el ámbito científico en sus diversas vertientes: social, comunicativa, tecnológica, etc." (p. 111),

La base de esta interpretación de la Web 3.0 es que las máquinas podrán procesar la información de una forma más inteligente, dándonos mayor productividad y una experiencia de usuario más instintiva.

Sobre esta definición de la Web 3.0, debemos extraer algunos conceptos para explicarlos y reflexionar un poco más sobre en qué medida estamos o no en ese camino: la Web Semántica, el Lenguaje Natural y las Máquinas Inteligentes.

En resumen, se muestra algunas aplicaciones de las diferentes evoluciones de la Web, en la siguiente tabla:

Tabla 5.1: Aplicaciones web en sus diferentes vers iones

Fuente: Albalá, E. (2011) Bienvenida Web 3.0: Guía para sobrevivir en la Internet 2011. (pp. 12-13)

Web 1.0 Web 2.0 Web 3.0 Double click Google AdSense Publicidad Personalizada Ofoto Flickr Búsquedas Visuales Mp3.com Napster iTunes Britannica Online

Wikipedia Inteligencia Colectiva

Páginas Web Personales

Blogs Twitter a través de dispositivos móviles

Evite Upcoming-org y EVDB

Twitter y redes con Geoposicionamiento

Especulación con los nombres de dominio

Optimización en buscadores

Posicionamiento social y en las tiendas de aplicaciones

Páginas vistas Coste por clic Número de seguidores o de descargas de Apps

Publicación Participación Interacción dentro

Page 64: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

64 Sistema a Distancia

del círculo social Sistemas de gestión de Contenidos

Wikis Apps de publicación en redes sociales desde dispositivos móviles

Directorios (taxonomía)

Etiquetados (folksonomía)

Búsqueda semántica (imágenes / App Stores) y búsquedas sociales

Recuerdo de direcciones web

Sindicación Vinculación en redes, seguimiento en Twitter y suscripción en iTunes

6.2 Aplicaciones de la Web 3.0

La Web3.0 está centrado en motores de búsqueda visuales y con multimedia, además de la aplicación de la inteligencia artificial Web, los juegos en 3D a través de la Web, la realidad aumentada transformará la Web, los mundos virtuales serán un entorno común donde los usuarios y estos podrán interactuar de manera virtual y mucho más interactiva que la Web 2.0.

6.2.1 SOA

"Una aplicación SOA (Arquitectura Orientada a Servicios) es una colección de servicios y un servicio es la unidad atómica de una SOA, los servicios encapsulan procesos de negocios, los proveedores de servicios se registran solos, un servicio involucra: Find, Bind, Execute y las instancias más conocidas son los web services" (Brooks, 2008).

La arquitectura orientada a servicios (SOA), es un marco de trabajo conceptual que permite a las organizaciones unir los objetivos de negocio con la infraestructura de TI integrando los datos y la lógica de negocio de sus sistemas separados.

"Permite la creación de sistemas altamente escalables que reflejan el negocio de la organización, brinda una forma estándar de exposición e invocación de servicios (comúnmente pero no exclusivamente con Web Services), lo cual facilita la interacción entre diferentes sistemas propios o de terceros" (Bieberstein, 2003).

Con SOA, una empresa puede mantener sus inversiones en los sistemas heredados y a la gente necesaria para mantenerlos, es una solución prometedora para los problemas de integración de sistemas de información y aplicaciones.

La propuesta SOA implica, descomponer la lógica de negocio de una organización en partes más pequeñas. Donde cada una de ellas contiene su propia unidad lógica.

SOA es un enfoque para diseñar y desarrollar soluciones de negocio, a partir de componentes independientes que exponen funciones como servicios accesibles por otros componentes a través de interfaces estándares.

SOA permite alinear las capacidades de TI con los objetivos de negocio y visión del negocio, donde provee una infraestructura técnica para responder a los cambios de requerimientos del negocio.

Page 65: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

65 Sistema a Distancia

6.2.2 Web 3D

Según Revuelta y Pérez (2009) "Se menciona que la Web 3D, liderada por el Web 3D Consortium (http://www.web3d.org/), forma parte de la Web 3.0” (p. 149).

El desarrollo de entornos virtuales 3D es un paradigma propio de los videojuegos y de difícil aplicabilidad a la Web. El 3D en la Web por ahora se encuentra en fase de desarrollo. Los principales estándares Web que se están desarrollando van enfocados a incluir el 3D como un estándar.

Los mundos virtuales requieren de una identidad virtual encarnada en un avatar, con esta forma de identidad interactúan los usuarios entre sí. Los Mundos virtuales generalmente son gratuitos aunque incluyen la posibilidad de compra con dinero real bienes virtuales, formación y otras funcionalidades.

La consultora KZero Worldswide (http://www.kzero.co.uk) afirma que las cuentas abiertas en los diferentes mundos virtuales superan ya la cifra de los mil millones. Los mil millones de cuentas pertenecen a niños y adolescentes (la mitad del mundo a la que no escuchamos según Marc Prensky, inventor del término nativos digitales).

Se listan algunos de los principales mundos virtuales según la consultora KZero (Albalá, 2011, p. 45) a finales del tercer trimestre de 2010:

- Poptropica (110 millones). Juego online de Pearson Education dirigido a niños de entre 6 y 15 años, donde los jugadores pueden viajar a través del mundo virtual, competir en diferentes juegos y comunicarse con los demás niños en un entorno seguro.

- Moshi Monsters (27 millones). Juego gratuito en red para niños de 7 a 12 años en el que el jugador adopta y cuida como mascota a un monstruo. Los jugadores ganan puntos y pasan a nuevos niveles, resolviendo pruebas educacionales.

- BarbieGirls.com (19 millones). Mundo virtual para niñas de entre 6 y 13 años, lanzado por Mattel y con las muñecas Barbie como principal gancho.

- Neopets (63 millones). Otro sitio de mascotas virtuales que permite adoptar a una de las 54 diferentes especies de mascotas virtuales y jugar a cientos de juegos flash y otras actividades que posee, para así ganar neopntos, con los que comprar diferentes objetos.

- Habbo (176 millones). Ya entrando en el ámbito adolescente (el 90% de los visitantes tiene entre 13 y 18 años), Habbo es el mundo virtual líder por número de usuarios. Tiene dos tipos de salas de chat virtual, las públicas (representan escenas tales como restaurantes, parques, cines, clubes y discotecas) y las privadas, que son habitaciones que los usuarios pueden personalizar a través de decoración y enseres que se compran con créditos.

6.2.3 Realidad Aumentada

Se trata de recreaciones virtuales donde el usuario recibe información suplementaria virtual mientras recorren por el espacio físico real. El ejemplo más destacado es el proyecto Archeoguide, en el que los visitantes al recinto de Olimpia (Grecia) pueden ver una construcción virtual del santuario en un PDA,

Page 66: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

66 Sistema a Distancia

junto con información asociada, mientras recorren entre los restos del yacimiento (Carreras y Munilla, 2007, p. 87).

La realidad aumentada consiste en recrear virtualmente contenidos añadidos a los objetos que tenemos por delante. Podemos distinguir dos vertientes principales:

- La generación de objetos virtuales tridimensionales y en movimiento a partir de una información física en dos dimensiones.

- La incorporación de información sobre el entorno que nos rodea.

Se puede visualizar claramente la primera funcionalidad a través del vídeo http://www.youtube.com/watch?v=m3SJo2u7tQo

Otro ejemplo de este tipo de aplicaciones (en este caso enfocada a un público diferente) la tenemos en http://www.youtube.com/watch?v=Y4M-vmA_m18

En el vídeo se puede ver un dispositivo instalado en tiendas de juguetes y como, enfocando una caja de Lego cerrada a través del mismo, se muestra en una pantalla cómo será el juguete una vez montadas todas las piezas.

La segunda posibilidad (la incorporación de información sobre el entorno que nos rodea) se explota precisamente saliendo de casa, y está muy ligada a los dispositivos móviles. A través de dispositivos móviles, permite reinterpretar la realidad que nos circunda, ofreciendo datos añadidos sobre la imagen que obtenemos desde el visor de la cámara.

El turismo es uno de los sectores que pueden salir muy beneficiados de este tipo de aplicaciones. Un ejemplo puede verse en http://www.youtube.com/watch?v=GTgocMYUiK8

En España ya están surgiendo algunas propuestas en este sentido como

http://www.gps.huescalamagia.es desarrollada por Trackglobe. Donde el turista realiza una visita virtual y en directo por la provincia de Huesca, de la forma más cómoda, utilizando incluso su propio dispositivo móvil.

6.2.4 Apps

Se trata de programas que se instala en un dispositivo móvil en teléfonos móviles o tablet PC y se puede integrar a los equipos. Estos programas se pueden actualizar automáticamente.

Las Apps, para los dispositivos móviles, son pequeños programas que se descargan para ejecutar alguna tarea concreta. Entre las Apps más populares podemos encontrar los accesos directos a sitios como Facebook, Youtube, Twitter, incluso aplicaciones de geolocalización. (Albalá, 2011, p. 70).

Andreas Constantinou director de investigación de la consultora Vision Mobile, considera que las Apps pueden considerarse como la nueva Web, ya que añaden no sólo nuevas formas de interacción sino de descubrimiento, monetización y utilización del contexto. Podemos ver un resumen de las diferencias que apunta entre la Web y las Apps en la siguiente tabla

Page 67: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

67 Sistema a Distancia

Tabla 5.1: Comparaciones Apps y la Web convencional

Fuente: Albalá, E. (2011) Bienvenida Web 3.0: Guía para sobrevivir en la Internet 2011. (p. 74)

Descripción Apps Web Descubrimiento App Store Búsquedas o

direcciones URL Utilización del contexto Geolocalización,

contexto social, agenda…

Información proporcionada de forma explícita

Acceso

Online / offile Online

Monetización

Micropagos Publicidad

Diseño del interfaz A medida del usuario Buscando la compatibilidad con los navegadores y buscadores

Interacción Pantalla táctil, sensores de movimiento, teclado, cámara…

Teclado y ratón

Usabilidad Enfocada en fines concretos

Enfocada en la navegación

Modelo Económico Consecución de descargas

Economía de la atención

Page 68: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

68 Sistema a Distancia

Lección 7: Web Services

7.1 ¿Qué son los Web Services?

Se trata de aplicaciones que utilizan los mismos estándares de internet y protocolos que intercambian información entre diferentes sistemas, muchos consideran como una "caja negra" a la que hay que proveer datos de entrada específica y obtener una respuesta determinada.

"...Los Servicios Web son aplicaciones ofrecidos a través del Web, no son por tanto nada nuevo, sino más bien una re-invención de la rueda con ideas prestadas de Corba y DCOM" (Moliner, 2005, p. 238).

Un Web Services o Servicio Web se comunica por medio de mensajes, utilizando el protocolo SOAP entre diferentes computadoras a través de una red, de manera transparente, independiente del lenguaje de programación, independiente del sistema operativo y de la plataforma.

"Los Servicios Web significan la evolución de la informática distribuida, cuyo principio arquitectónico es permitir que aplicaciones de un entorno se conecten y compartan datos y contenido con aplicaciones de otro entorno distinto" (Munilla y García, 2003, p. 72).

Los Web Services se diseñan para permitir que los componentes se comuniquen con otros una vez conectados, además de ofrecer servicios de información y operaciones transaccionales. Este tipo de tecnología utiliza XML como formato estándar para compartir información y datos, basado en estándares de Internet (WSDL, SOAP y UDDI) para el registro de comunicaciones. Este tipo de aplicaciones interactúan con otras aplicaciones usando los protocolos de internet.

Como soluciones de intercambio de datos, usa la red de internet como plataforma operacional y sirve como una práctica para implementar SOA (Arquitectura Orientada a Servicios).

7.2 Estándares que usan los Web Services

Los Web Services, utilizan los mismos estándares de internet para construir y habilitar Web Services, las que podemos mencionar a continuación:

− HTTP ((HyperText Transfer Protocol).

− XML (Extensible Markup Language).

− SOAP (Simple Object Access Protocol).

− WSDL (Web Services Description Language).

− UDDI (Universal Description, Discovery and Integration).

7.2.1 Hypertext Transfer Protocol (HTTP)

El Protocolo de transferencia de hipertexto, es un mecanismo más extendido utilizado por los servidores y los navegadores web para comunicarse. Este protocolo regula las solicitudes de los navegadores y las transferencias de ficheros HTML por parte de los servidores. Se encuentra orientado a las

Page 69: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

69 Sistema a Distancia

transacciones bajo el esquema de petición respuesta entre un cliente y un servidor.

7.2.2 Extensible Markup Language (XML)

El Lenguaje de Marcas Extendida es un estándar para estructurar datos, formatos y contenido para documentos electrónicos, donde se definen etiquetas semánticas para organizar un documento. Además XML es un metalenguaje que permite diseñar un lenguaje propio de etiquetas.

A diferencia de un lenguaje de etiquetas normal HTML, utilizando XML te permite definir su propio lenguaje.

XML es considerado como un lenguaje universal que sirve para intercambio de datos e información entre aplicaciones, sistemas y dispositivos sobre la red de Internet.

7.2.3 Simple Object Access Protocol (SOAP)

El Protocolo de Acceso de Objeto Simple, es un tipo de protocolo de mensajería basada y construido en XML que se usa para codificar información de los requerimientos de los Web Services, además permite responder los mensajes antes de enviarlos por la red.

Estos mensajes SOAP codificados en XML son independientes de los sistemas operativos y pueden ser transportados por los protocolos que funcionan con Internet, como SMTP, MIME y HTTP.

7.2.4 Web Services Description Language (WSDL)

El Lenguaje para la Descripción de Web Services, es un formato basado en XML, que permite definir la interfaz pública para los servicios Web. Esta descripción definida en XML sirve para establecer una comunicación con los Web Services.

7.2.5 Universal Description, Discovery and Integrat ion (UDDI)

Es un directorio distribuido que opera en la Web, ofrece servicios para registrar, publicar y buscar Web Services, además de comprobar qué servicios web están disponibles. Es utilizado como mecanismo de descubrimiento de Web Services y averiguar si están disponibles.

7.3 Características de los Web Services

Los Web Services presentan diferencias sobre sistemas distribuidos tradicionales, entre los que podemos citar:

− Interoperabilidad: Los Web Services Consumidores pueden ser utilizados para recuperar información de diferentes Web Services Proveedores que se ejecutan en diferentes plataformas.

Page 70: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

70 Sistema a Distancia

− Tipos de datos de las Interfaces: Los tipo de datos definidos para los Servicios Web se corresponde con los tipos de datos definidos por la mayoría de lenguajes de programación.

− Acceso externo desde Internet: Los Web Services Proveedores realizan una buena gestión para los accesos que provienen de los Web Services Consumidores desde Internet.

− Soporte de cualquier lenguaje de programación: La puesta en marcha de un Web Services no está ligada a un lenguaje de programación en particular, por lo tanto se puede implementar o usar un Web Services independientemente del lenguaje de programación en el que fue implementado, por ejemplo: Java, Python, php ó .Net.

− Uso de los estándares de Internet: Los Web Services utilizan los estándares de Internet y estas soluciones evitan, en su medida de lo posible, reinventar soluciones a problemas que ya están resueltas.

− Soporte para cualquier infraestructura de component es distribuidas: Los Web Services no están ligados a una arquitectura de componentes determinados. Los protocolos que utilizan estas soluciones facilitan las comunicaciones entre las distintas infraestructuras de los objetos distribuidos.

7.4 Arquitectura de los Web Services

Los Web Services, en vez de obtener peticiones desde un navegador y devolver páginas web como respuesta, recibe peticiones, mediante un mensaje formateado con SOAP, desde otras aplicaciones realiza la labor que le han pedido y devuelve un mensaje de respuesta en formato SOAP.

En la figura 7.1 muestra los componentes básicos, sus relaciones protocolos de comunicación de los Web Services.

Figura 7.1: Arquitectura de un Web Services

Fuente: Adaptación propia

Page 71: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

71 Sistema a Distancia

La arquitectura básica del modelo de Web Services describe a un consumidor, un proveedor. Relacionados con estos agentes están las operaciones para publicar, encontrar y enlazar, tal como se muestra en la figura 7.1.

Básicamente consiste en que un Web Services Proveedor pública sus servicios en un corredor en este caso el WSDL, luego un consumidor se conecta al corredor utilizando el URL del WSDL para encontrar los servicios deseados expresados en operaciones y una vez que lo hace esta conexión se realiza un lazo entre el consumidor y el proveedor.

Page 72: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

72 Sistema a Distancia

Lección 8: Web Semántica

8.1 ¿Qué es la Web Semántica?

La Web semántica que promulga la Web 3.0 no depende del funcionamiento de los buscadores sino de la estructura de la propia Web (ya que sus elementos deben tener asociados atributos que otorguen significado).

La Web Semántica es la confluencia de la inteligencia Artificial y las tecnologías Web que proponen introducir descripciones explícitas sobre el significado de los recursos, para permitir que las propias máquinas tengan un nivel de comprensión de la Web suficiente como para hacerse cargo de una parte, la más costosa, rutinaria, o físicamente inabarcable, del trabajo que actualmente realizan manualmente los usuarios que navegan e interactúan con la Web. A partir de la situación actual de la Web y sus limitaciones, en este articulo se motivan y explican las propuestas de la Web semántica, se describen las tecnologías más importantes desarrolladas para llevarlas a cabo, así como el punto en el que se encuentra este proyecto promovido por el propio inventor de la Web (Bravo y Redondo, 2005, p. 195).

En poco más de una década desde su aparición, la World Wide Web se ha convertido en un instrumento de uso cotidiano en nuestra sociedad, comparable a otros medios tan importantes como la radio, la televisión o el teléfono, a los que aventaja en muchos aspectos. La Web es hoy un medio extraordinariamente flexible y económico para la comunicación, el comercio y los negocios, ocio y entretenimiento, acceso a información y servicios, difusión de cultura, etc. Paralelamente al crecimiento espectacular de la Web, las tecnologías que la hacen posible han experimentado una rápida evolución. Desde las primeras tecnologías básicas: HTML y HTTP, hasta nuestros días, han emergido tecnologías como CGI, JavaScript, ASP, JSP, PHP, Flash, J2EE, XML, por citar algunas de las más conocidas, que permiten una Web mejor, amplia, potente, flexible, o fácil de mantener. Estos cambios influyen, y son al mismo tiempo influidos por la propia transformación de lo que entendemos por WWW. La generación dinámica de páginas, el acoplamiento con bases de datos, la mayor interactividad con el usuario, la concepción de la Web como plataforma universal para el despliegue de aplicaciones, la adaptación al usuario, son algunas de las tendencias evolutivas destacadas en los últimos años.

Entre las últimas tendencias que pueden repercutir en el futuro de la Web a medio plazo, a finales de los 90 surge la visión de lo que se denomina la Web semántica (Berners-Lee 2001). Se trata de una corriente, promovida por el propio inventor de la Web y presidente del consorcio W3C, cuyo fin es lograr que las máquinas puedan entender, por tanto utilizar, lo que la Web contiene. Esta nueva Web estaría poblada por agentes o representantes de software capaces de navegar y realizar operaciones por nosotros para ahorrarnos trabajo y optimizar los resultados. Para conseguir esta meta, la Web semántica propone describir los resultados de la Web con representaciones procesales (es decir, entendibles) no sólo por personas, sino por programas que puedan asistir, representar, o reemplazar a las personas en tareas rutinarias o inabarcables para un humano, Las tecnologías de la Web semántica buscan desarrollar una Web más cohesionada, donde sea aún más fácil localizar, compartir e integrar información y

Page 73: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

73 Sistema a Distancia

servicios, para sacar un partido todavía mayor de los recursos disponibles en la Web.

Se basa en un conjunto de tecnologías pensadas en volver el contenido de los recursos (imágenes, textos, vídeos, etc.) de la Web para que sean accesibles y utilizables por los internautas. La Web Semántica fue creada por la World Wide Web Consortium (W3C), el organismo de estandarización de los lenguajes web.

Este sistema permite unir las informaciones que hasta ese momento fueron tratadas por separado. El funcionamiento de la Web Semántica integra en la Web actual la posibilidad de agregar varios datos relacionados entre ellos, ya sea semánticamente o por atributos que los determinan. Por ejemplo, para la siguiente búsqueda "actor de Nueva York de 20 años de edad", un motor de metadatos será capaz de producir una lista de referencias que corresponderá exactamente a los criterios solicitados de búsqueda.

Según la W3C: “La Web Semántica es una Web extendida, dotada de mayor significado en la que cualquier usuario en Internet podrá encontrar respuestas a sus preguntas de forma más rápida y sencilla gracias a una información mejor definida. Al dotar a la Web de más significado y, por lo tanto, de más semántica, se pueden obtener soluciones a problemas habituales en la búsqueda de información gracias a la utilización de una infraestructura común, mediante la cual, es posible compartir, procesar y transferir información de forma sencilla”. (W3C http://www.w3c.es/divulgacion/guiasbreves/websemantica)

Esta Web extendida, se apoya en lenguajes universales que resuelven los problemas ocasionados por una Web carente de semántica en la que, en ocasiones, el acceso a la información se convierte en una tarea difícil y frustrante.

La Web ha cambiado profundamente la forma en la que nos comunicamos, hacemos negocios y realizamos nuestro trabajo. La comunicación prácticamente con todo el mundo en cualquier momento y a bajo coste es posible hoy en día. Podemos realizar transacciones económicas a través de Internet. Tenemos acceso a millones de recursos, independientemente de nuestra situación geográfica e idioma. Todos estos factores han contribuido al éxito de la Web. Sin embargo, al mismo tiempo, estos factores que han propiciado el éxito de la Web, también han originado sus principales problemas: sobrecarga de información y heterogeneidad de fuentes de información con el consiguiente problema de interoperabilidad.

La Web Semántica ayuda a resolver estos dos importantes problemas permitiendo a los usuarios delegar tareas en software. Gracias a la semántica en la Web, el software es capaz de procesar su contenido, razonar con este, combinarlo y realizar deducciones lógicas para resolver problemas cotidianos automáticamente.

Ejemplo:

Supongamos que la Web tiene la capacidad de construir una base de conocimiento sobre las preferencias de los usuarios y que, a través de una combinación entre su capacidad de conocimiento y la información disponible en Internet, sea capaz de atender de forma exacta las demandas de información por

Page 74: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

74 Sistema a Distancia

parte de los usuarios en relación, por ejemplo, a reserva de hoteles, vuelos, médicos, libros, etc.

Si esto ocurriese así en la vida real, el usuario, en su intento, por ejemplo, por encontrar todos los vuelos a Praga para mañana por la mañana, obtendría unos resultados exactos sobre su búsqueda. Sin embargo la realidad es otra.

La figura 8.1 muestra los resultados inexactos que se obtendrían con el uso de cualquier buscador actual, el cual ofrecería información variada sobre Praga pero que no tiene nada que ver con lo que realmente el usuario buscaba. El paso siguiente por parte del usuario es realizar una búsqueda manual entre esas opciones que aparecen, con la consiguiente dificultad y pérdida de tiempo.

Figura 8.1: Resultados de un buscador actual sin web semántica

Fuente: http://www.w3c.es/divulgacion/guiasbreves/websemantica

Con la incorporación de semántica a la Web los resultados de la búsqueda serían exactos. La figura 8.2 muestra los resultados obtenidos a través de un buscador semántico. Estos resultados ofrecen al usuario la información exacta que estaba buscando. La ubicación geográfica desde la que el usuario envía su pregunta es detectada de forma automática sin necesidad de especificar el punto de partida, elementos de la oración como "mañana" adquirirían significado, convirtiéndose en un día concreto calculado en función de un "hoy".

Page 75: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

75 Sistema a Distancia

Figura 8.2: Resultados de un buscador actual sin web semántica

Fuente: http://www.w3c.es/divulgacion/guiasbreves/websemantica

Algo semejante ocurriría con el segundo "mañana", que sería interpretado como un momento determinado del día. Todo ello a través de una Web en la que los datos pasan a ser información llena de significado. El resultado final sería la obtención de forma rápida y sencilla de todos los vuelos a Praga para mañana por la mañana.

8.2 Componentes de la Web Semántica

Para obtener esa adecuada definición de los datos, la Web Semántica utiliza esencialmente RDF, SPARQL, y OWL, mecanismos que ayudan a convertir la Web en una infraestructura global en la que es posible compartir, y reutilizar datos y documentos entre diferentes tipos de usuarios.

− RDF: Proporciona información descriptiva simple sobre los recursos que se encuentran en la Web y que se utiliza, por ejemplo, en catálogos de libros, directorios, colecciones personales de música, fotos, eventos, etc.

− SPARQL : Es lenguaje de consulta sobre RDF, que permite hacer búsquedas sobre los recursos de la Web Semántica utilizando distintas fuentes datos.

− OWL: Es un mecanismo para desarrollar temas o vocabularios específicos en los que asociar esos recursos. Lo que hace OWL es proporcionar un lenguaje para definir ontologías estructuradas que pueden ser utilizadas a través de diferentes sistemas.

Las ontologías, que se encargan de definir los términos utilizados para describir y representar un área de conocimiento, son utilizadas por los usuarios, las bases de datos y las aplicaciones que necesitan compartir información específica, es decir, en un campo determinado como puede ser el de las finanzas, medicina, deporte, etc. Las ontologías incluyen definiciones de conceptos básicos en un campo determinado y la relación entre ellos.

Otra tecnología que ofrece la Web Semántica para enriquecer los contenidos de la Web tradicional es RDF. Mediante esta tecnología se pueden representar los datos estructurados visibles en las páginas Web (eventos en calendarios, información de contacto personal, información sobre derechos de autor, etc.), a través de unas anotaciones semánticas incluidas en el código e invisibles para el usuario, lo que permitirá a las aplicaciones interpretar esta información y utilizarla

Page 76: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

76 Sistema a Distancia

de forma eficaz. Por ejemplo, una aplicación de calendario podría importar directamente los eventos que encuentra al navegar por cierta página Web, o se podrían especificar los datos del autor de cualquier foto publicada, así como la licencia de cualquier documento que se encuentre. Para extraer el RDF se podría utilizar GRDDL, una técnica estándar para extraer la información expresada en RDF desde documentos XML, y en particular, de las páginas XHTML.

Desde el 2004 existe un buscador temático sobre web semántica, una iniciativa que espera ordenar las ontologías web.

Figura 8.3: Buscador temático sobre web semántica http://swoogle.umbc.edu/

Page 77: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

77 Sistema a Distancia

RESUMEN

La unidad desarrollada describe los acontecimientos más importantes del nacimiento de la Web. Los inicios de la Web 1.0 y sus características más resaltantes. La evolución de las aplicaciones tradicionales hacia aplicaciones web enfocadas al usuario final mediante la Web 2.0 y de aquellas aplicaciones que permitieron mejorar la administración de la información, la comunicación, los contenidos y la enseñanza, a través de las redes sociales, los blogs, los sistemas de gestión para los contenidos y el aprendizaje. Así mismo, se sintetiza las principales nociones de la futura tercera generación de servicios basados en Internet, la Web 3.0, describiendo las principales aplicaciones de desarrollo y servicio.

Se aborda, además, los Web Services cuyo diseño permite que los componentes se comuniquen con otros, además de ofrecer servicios de información y operaciones transaccionales, como también características que los diferencia de los Sistemas Distribuidos, tales como: interoperabilidad, acceso a la información, uso de estándares, entre otros.

Finalmente, en esta unidad se abordó el tema de la Web Semántica que permite integrar, a la Web actual, la posibilidad de agregar varios datos relacionados entre ellos, ya sea semánticamente o por atributos que los determinan.

Page 78: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

78 Sistema a Distancia

LECTURA

Semántica, el Lenguaje Natural y las Máquinas Intel igentes

Autor: Eduardo Albalá Ubiergo

La Web Semántica define a una Internet con la información mejor definida, que permitiría a cualquier usuario encontrar respuestas de forma más rápida y sencilla, gracias a que todos los contenidos tendrían significado asociado.

La búsqueda en la Web actual está basada en el HTML (siglas de HyperText Markup Language o Lenguaje de Marcado de Hipertexto). Este lenguaje permite hacer descripciones textuales, así como incorporar imágenes y enlaces a otras páginas, pero no permite definir atributos o características de un objeto.

Por ejemplo, podríamos tener una página web (que llamaremos Página1) con el texto: “Tenemos ofertas de zapatos rojos de la talla 32 y con tacón pero tenemos agotadas los botas negras”

En esta Web actual, y siguiendo con el ejemplo, podemos introducir en Google la búsqueda: “ofertas de botas negras de la talla 32 y con tacón”

En este caso, podríamos llegar a la página web Página1 porque Google busca palabra por palabra, no por el significado global. El resultado sería erróneo.

En la Web semántica, un producto de un catálogo online podría tener asociado en su definición intrínseca elementos como talla, color, precio, etc., llevando a que las búsquedas fueran por esos atributos y evitando así los errores de interpretación de los buscadores.

En los últimos tiempos han aparecido muchos buscadores de imágenes, de ropa, de restaurantes o de aplicaciones para dispositivos móviles (Apps) que no se limitan a buscar en el texto sino que ya realizan búsquedas semánticas en base a información que define a los objetos.

El Lenguaje Natural. En los ejemplos clásicos de la Web Semántica, al hablar de la utilización de Lenguaje Natural, se supone que introduciendo en un buscador “Quiero ir esta noche al cine por la zona de Santa Fé pero que me dé tiempo a llegar a la cena que tengo a las 9:30”, dicho buscador entendería correctamente la petición, dando una respuesta adecuada. Sin embargo, me surgen serias dudas sobre que la tecnología tenga que evolucionar necesariamente por ese camino. A veces nos equivocamos en la evolución de la tecnología.

Todas las películas futuristas incluyen coches que vuelan, pero la verdad es que no necesitamos un transporte tan caro, peligroso, antiecológico y caótico, sino más metros subterráneos, tranvías o metrobuses, coches eléctricos, carriles para bicicletas y zonas peatonales, esas son las verdaderas necesidades. Ha pasado algo similar con la comunicación a través de la voz con dispositivos, casi nadie utiliza la marcación por voz de los teléfonos móviles y todavía no he visto a nadie que le hable a su PC (aunque fue uno de los grandes avances con los que se promocionó el Windows Vista). De igual forma, el Lenguaje Natural que utilizamos en la comunicación entre personas, quizá no tenga que ser el mismo que

Page 79: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

79 Sistema a Distancia

utilicemos con las máquinas. Nadie “le dice” a un ascensor a que piso ir, se lo indica con el dedo.

Y es que precisamente (y esto es una opinión personal) creo que el Lenguaje Natural para comunicarse con los dispositivos electrónicos no debe consistir en escribir largas frases. Cualquier sátrapa sabe que es mucho más sencillo simplemente señalar con el dedo y que los súbditos, en función del contexto, interpreten los deseos como órdenes. De hecho, mi hijo que tiene apenas tres meses, ya empieza a señalar para indicar aquellas cosas que quiere, eso parece lenguaje más natural todavía.

Parece que tanto las nuevas formas de búsqueda de información y navegación, como los dispositivos que las incorporan y hacen posible, van mucho más hacia esta tendencia de señalar información y no tanto escribir.

Un ejemplo de esta tendencia en búsquedas es Boutiques.com.

Este nuevo sitio de Google destinado a la moda tiene uno de sus principales activos en las búsquedas visuales. Esto quiere decir que seleccionando unas cuantos estilos que nos gustan, el sistema devuelve resultados de prendas, diseñadores y tiendas online, y todo sin escribir una sola palabra.

La última generación se acostumbró a manejar los dedos con una extrema velocidad para escribir mensajes de texto. La próxima generación posiblemente conserve esa habilidad pero incorporará nuevas para buscar la información y disfrutar de su ocio de una forma que hasta ahora no habíamos contemplado (sin escribir).

Las Máquinas Inteligentes. Fenómeno que podría ser definido como la aparición de máquinas, dispositivos, aplicaciones e interfaces que permiten nuevos tipos de comunicación y que también se comunican entre ellos. No necesitamos sirvientes tremendamente inteligentes, sino que hagan muy bien su tarea específica. En este sentido, hay una frase de moda que define bien la situación “las Apps son la nueva Web".

Las Apps son aplicaciones para descargar principalmente en dispositivos móviles, así como también se tratarán otras cuestiones asociadas a esta tendencia de las máquinas inteligentes e interconectadas como el Cloud Computing, el M2M (comunicación máquina a máquina), la inteligencia colectiva, la inteligencia artificial, o el Internet de las cosas.

Bienvenida. Web 3.0 Guía para sobrevivir en la Internet del 2011 Eduardo Albalá Ubiergo

Editado por Grupo Barrabés Pp. 8-12

Page 80: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

80 Sistema a Distancia

AUTOEVALUACIÓN

1. No es considerado como característica principal de la Web 1.0: a. Las páginas web estaban escritas en código HTML b. El contenido y el diseño estaban separados del código HTML c. No se utilizaba acceso a una Base de Datos d. Los usuarios tenían acceso solo lectura e. Considerado de forma estática

2. Corresponde a una aplicación de la Web 2.0: a. Evite b. iTunes c. Blogs d. App Stores e. Direcciones Web

3. No corresponde a una aplicación de la Web 3.0: a. Taxonomía b. Inteligencia Colectiva c. Geoposicionamiento d. Búsquedas Visuales e. Vinculación de Redes

4. La siguiente definición “… su finalidad ha sido la de crear un lugar de encuentro para que miles de usuarios con interés co munes se comuniquen” corresponde a: a. LMS b. CMS c. Weblogs d. Redes Sociales e. Podcasts

5. Son programas que permite crear una estructura de s oporte para la creación y administración de contenidos por parte d e los participantes: a. LMS b. CMS c. Weblogs d. Wikis e. RSS

6. Permite a las organizaciones unir los objetivos de negocio con la infraestructura de TI integrando los datos y la lóg ica de negocio de sus sistemas: a. W3D b. APPS c. SOA d. Habbo e. Second Life

Page 81: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

81 Sistema a Distancia

7. No corresponde a una características de los APPS: a. Online/Offline b. Geolocalización c. Publicidad d. Pantalla Táctil e. Enfocadas en fines concretos

8. Corresponde a la definición de los Web Services: a. Se comunica por medio de mensajes, utilizando el protocolo HTTPP entre

diferentes computadoras a través de una red. b. Una evolución de las Ciencias de la Computación. c. Uso de la red de internet como plataforma CMS. d. Diseñados para permitir que los componentes se comuniquen con otros

una vez conectados. e. Son aplicaciones que utilizan diferentes estándares de internet.

9. No corresponde a un estándar de los Web Services: a. WSLD. b. HTTP c. UDDI d. SSH e. XML

10. El funcionamiento de la Web semántica es considerad o como:

a. Una Web Integrada. b. Una Web basada en estándares. c. Una Web desarrollada en XML. d. Una Web centrado en el Usuario. e. Una Web Extendida.

Page 82: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

82 Sistema a Distancia

RESPUESTAS DE CONTROL

1. b 2. c 3. a 4. d 5. b 6. c 7. c 8. d 9. d 10. e

Page 83: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

83 Sistema a Distancia

EJERCICIOS PROPUESTOS

1. Marcar la respuesta correcta

1.1. Considerado como un gran espacio de informació n universal y vitrina con acceso a información pública y privada

a. La Internet b. Los Portales c. La Intranet d. La Web e. Google

1.2. Flickr, sugarcrm, paypal, amazon y facebook so n considerados como:

a. Sistemas gratuitos b. Aplicaciones Web c. Extranet d. Herramientas colaborativas e. Plataformas

1.3. Protocolo que permite la transferencia de arch ivos desde el Servidor hacia el Cliente o del Cliente hacia el Servidor:

a. http b. www c. smtp d. ftp e. ssh

1.4. La definición: “Posibilidad de conectar distin tas aplicaciones entre sí”, corresponde a:

a. Prosumidores b. Usabilidad c. Interoperabilidad d. E-learning e. Trackback

1.5. Permite trabajar con Roles para los usuarios ( administrador, autor, editor, lector):

a. Joomla b. Moodle c. Wordpress d. Drupal e. Sólo “a” y “d”

Page 84: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

84 Sistema a Distancia

Desarrollar:

2. Defina 04 ventajas del uso de las Tecnologías Web.

3. Mencione y explique 04 características sobre las Aplicaciones Web.

4. Porqué en la Web 2.0 el usuario es considerado como el principal protagonista.

5. Instalar la Plataforma Moodle y describa los pasos para su implementación. Descargar el paquete del siguiente enlace http://download.moodle.org.

Page 85: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

85 Sistema a Distancia

EXPLORACIÓN ON LINE

• URL: http://www.w3c.es/Presentaciones/2005/0314-estandares-JA/

Sitio oficial de la W3C donde explica y muestra los estándares de la web

• URL: http://internality.com/web20/

Este sitio muestra un mapa visual de la web 2.0 además agrupa los principales conceptos de la Web 2.0, junto con una breve explicación. Además se han seleccionado algunos ejemplos de servicios de la Internet hispana que suelen enmarcarse en la Web 2.0.

• URL: http://www.web2summit.com/web2011

En este sitio oficial del evento más importante de la web 2.0, Summit Web 2.0, donde se reúnen investigadores, desarrolladores, empresas que presentan los últimos avances de la web 2.0.

• URL: http://web30websemantica.comuf.com/

Portal web sobre RECUPERACIÓN Y ACCESO A LA INFORMACIÓN, de la Universidad Carlos III de Madrid. Donde explican sobre los avances de la Web 3.0, sus tecnologías y las diferencias con las web 2.0 y web 1.0

• URL: http://support.chamilo.org/issues/3798

Sitio oficial de toda la documentación en formato PDF sobre soporte, instalación, configuración del LMS Chamilo

• URL: http://www.joomlaspanish.org/

Sitio oficial en español del CMS Joomla, donde puede descarga la última versión, encontrar manuales, preguntas y respuestas frecuentes y descargar documentación y foros sobre Joomla

• URL: http://www.w3.org/2002/ws/

Sitio Web de la World Wide Web Consortium (W3C), el sitio oficial de los estándares de Internet y de los Web Services

• URL: http://www.w3c.es/divulgacion/guiasbreves/websemantica

Guía Breve de Web Semántica, aplicaciones XML, RDF, donde explica sobre el futuro de la web.

• URL: http://jax-ws.java.net/

Sitio web de del proyecto JAX-WS donde describe su implementación y documentación. También puede encontrar la última versión de esta solución.

Page 86: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

86 Sistema a Distancia

REFERENCIA BIBLIOGRÁFICA

Aguiar, M. (2003) Sociedad de la Información y Cultura Mediática. La Coruña: NETBIBLIO, S.L.

Albalá, E. (2011) Bienvenida Web 3.0: Guía para sobrevivir en la Internet 2011.

Barza, C. y Capella, S. (2010) Ordenadores en las aulas. Barcelona: Editorial GRAO

Bravo, C. y Redondo, M. A. (2005) Sistemas interactivos y colaborativos en la web. Cuenca: Ediciones de la Universidad de Castilla-La Mancha

Cancelo, P. y Giraldez, J. A. (2007) La Tercera Revolución. La Coruña: Editorial NetBiblio, S.L.

Castelo, A. (2010) Estrategias Empresariales en la Web 2.0. Las redes sociales Online. Alicante: Editorial Club Universitario.

Fernández, B. (2010) Las Redes Sociales. Lo que hacen sus hijos en Internet. Alicante: Editorial Club Universitario.

García, F. (2007) Ética e Internet: manzanas y serpientes. Madrid: Ediciones RIAL, S.A.

Luján, S. (2002), Programación de aplicaciones web: historia, principios básicos y clientes web. Alicante: Editorial Club Universitario.

Martinez, J.A. (2009) La web 2.0 Como Recurso Para la Enseñanza del Francés Como Lengua Extranjera. Madrid: Ediciones Graficas Arial

Miltiadis, D. Lytras, E. y Ordoñez, P. (2009) Web 2.0: The Business Model. Patras: Springer

Moliner, F.J. (2005) Informáticos Generalitat Valenciana Grupos A y B. Sevilla: Editorial MAD. S.L.

Moro, M. y Torres, J. (2008) La adaptación al espacio europeo de educación superior en la Facultad de traducción y documentación. Salamanca: Ediciones Universidad de Salamanca.

Munilla, E. y García, I. (2003) E-Bussiness Colaborativo. Madrid: Editorial Confemetal

Page 87: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

87 Sistema a Distancia

Ramos, A. (2011) Aplicaciones Web. Madrid: Ediciones Paraninfo, SA

Rojas, O. I. (2006) Blogs: la conversación en Internet que está revolucionando medios, empresas y a ciudadanos (Segunda Edición). Madrid: ESIC Editorial.

Varela, R.A. (2007) Una metodología para el desarrollo de cursos en línea. México, D.F.: D.R. Universidad Nacional Autónoma de México

Page 88: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad II Daniel Yucra S. / Santiago Gonzáles S.

88 Sistema a Distancia

BIBLIOGRAFÍA COMENTADA

- Rojas, O. I. (2007) Web 2.0. Madrid: ESIC Editorial.

Revisar el Capítulo I sobre las redes sociales y wikis, además el capítulo 2 ¿Cómo crear y optimizar un blog?

- Castelló, A. (2010) Estrategias empresariales en la Web 2.0. Las redes sociales Online. Alicante: Editorial Club Universitario.

Revisar la unidad 6 las estrategias empresariales en redes sociales online y la unidad 7 sobre los casos prácticos en la Web 2.0.

- Newcomer, E. (2002) Understanding Web Services: XML, WSDL, SOAP, and UDDI. Addison-Wesley.

Revisar la Unidad 1, sobre los conceptos de los Web Services, Unidad 4 sobre accesibilidad de los Web Services utilizando SOAP, además de la Unidad 7 sobre las Arquitectura de los Web Services.

- Gurugé, A. (2003) Web Services: Theory and Practice. British Library.

En este libro explica el desarrollo de Web Services, revisar la unidad 3 donde muestra ejemplos y casos prácticos utilizando tecnología .NET, además revisar la Unidad 6 sobre el desarrollo de Web Services utilizando Java.

- Márquez, S. (2007) La Web Semántica. Madrid: Editorial Lulú.

Revisar el capítulo 2 sobre la web actual, capítulo 3 sobre la web semántica, ontologías y lenguajes para la descripción de ontologías. Además puede revisar el capítulo 8 sobre el Modelado de servicios web semánticos el futuro de la Web.

Page 89: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad III Daniel Yucra S. / Santiago Gonzáles S.

89 Sistema a Distancia

TERCERA UNIDAD

Tecnologías para el desarrollo Web

Sumario

La siguiente unidad describe la arquitectura de la Web a través de la presentación y aplicación distribuida, y las aplicaciones web basado en el tipo de arquitectura Cliente/Servidor.

Se sintetiza los tipos de lenguaje de programación para el desarrollo de Aplicaciones Web, así mismo, de los motores de bases de datos existentes para la realización de almacenamiento de datos, transacciones, consultas, entre otros.

Al finalizar la unidad, conocerá las nociones del Framework que son un conjunto de bibliotecas orientadas a la reutilización de componentes de software para el desarrollo de aplicaciones.

Page 90: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad III Daniel Yucra S. / Santiago Gonzáles S.

90 Sistema a Distancia

Objetivos

Al finalizar esta unidad, el estudiante será capaz de:

• Conocer la arquitectura de la Web para el desarrollo de aplicaciones basado en esta tecnología.

• Conceptualizar los lenguajes de programación para el desarrollo de aplicaciones web.

• Reconocer los tipos de Bases de Datos para el almacenamiento y acceso de información basada en aplicaciones web.

• Conceptualizar un framework para el desarrollo de aplicaciones web.

Page 91: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad III Daniel Yucra S. / Santiago Gonzáles S.

91 Sistema a Distancia

Lección 9: Arquitectura Web

9.1 Presentación Distribuida

En los apartados anteriores, se describió la arquitectura básica de una aplicación web es el modelo cliente/servidor. A continuación se describe la presentación distribuida de este modelo.

Para este caso el cliente sólo mantiene la presentación, el resto de la aplicación se ejecuta remotamente. La presentación distribuida, en su forma más simple, es una interfaz gráfica de usuario a la que se le pueden acoplar controles de validación de datos, para evitar la validación de los mismos en el servidor.

Figura 9.1: Presentación distribuida

9.2 Aplicación Distribuida

Es el modelo que proporciona máxima flexibilidad, además permite al servidor, como al cliente, mantener la lógica realizando cada una de las funciones más apropiadas, tanto por organización o por mejorar el rendimiento del sistema.

Figura 9.2: Aplicación distribuida

9.3 Arquitectura de las aplicaciones Web

Las aplicaciones web se basan en una arquitectura del tipo cliente/servidor. Por un lado está el cliente (el navegador o visualizador) y por otro lado el servidor web.

Existen diversas variantes de la arquitectura básica, según como se implementen las diferentes funcionalidades de la parte del servidor.

Entre las arquitecturas comunes, mencionamos:

Page 92: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad III Daniel Yucra S. / Santiago Gonzáles S.

92 Sistema a Distancia

1. Todo en un Servidor: Un único ordenar aloja el servidor HTTP, la lógica de negocio y la lógica de datos; y los datos. El software que ofrece el servicio de HTTP gestiona también la lógica de negocio. Las tecnologías que emplea esta tecnología generalmente son ASP y PHP.

Figura 9.3: Arquitectura de la aplicación, todo en un solo servidor

Fuente: Luján, S. (Programación de aplicaciones web: historia, principios básicos y clientes web. p.56)

2. Servidor de datos separado: a partir de la arquitectura anterior, se separa la lógica de datos; y los datos a un servidor de base de datos específico. Las tecnologías que emplean esta arquitectura generalmente son ASP y PHP.

Figura 9.4: Arquitectura de la aplicación, todo en un solo servidor

Fuente: Luján, S. (Programación de aplicaciones web: historia, principios básicos y clientes web. p.56)

3. Todo en un servidor, con servicios de aplicaciones: en la primera arquitectura se separa la lógica de negocio del servicio de HTTP y se incluye el servicio de aplicaciones para gestionar los procesos que implementan la lógica de negocio. La tecnología que emplea esta arquitectura es JSP y Servlets.

Se le conoce como la arquitectura de 4 capas, donde destaca el servidor de aplicaciones.

Page 93: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad III Daniel Yucra S. / Santiago Gonzáles S.

93 Sistema a Distancia

Figura 9.5: Arquitectura de la aplicación, todo en un solo servidor, con servicio de

aplicaciones Fuente: Luján, S. (Programación de aplicaciones web: historia, principios básicos y

clientes web. p.57)

4. Servidor de datos separado, con servicio de aplicaciones: a partir de la arquitectura número 3, se separa la lógica de datos y los datos a un servidor de base de datos específica. La tecnología que emplea es JSP y los servlets.

Figura 9.6: Arquitectura de las aplicaciones, con separación del servidor de datos y con

servicio de aplicaciones Fuente: Luján, S. (Programación de aplicaciones web: historia, principios básicos y

clientes web. p.57)

5. Todo separado: las tres funcionalidades básicas del servidor web se separan en tres servidores específicos. La tecnología que emplea esta arquitectura es JSP.

Page 94: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad III Daniel Yucra S. / Santiago Gonzáles S.

94 Sistema a Distancia

Figura 9.3: Arquitectura de las aplicaciones, con separación del servidor de datos y

separado el servicio de aplicaciones Fuente: Luján, S. (Programación de aplicaciones web: historia, principios básicos y

clientes web. P.55

El objetivo de separar las distintas funcionalidades en distintos servidores es aumentar la escalabilidad del sistema, con el propósito de obtener mayor rendimiento. Al separar las funciones, cada uno de ellos permite configurar de forma adecuada los requisitos que presentan.

Page 95: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad III Daniel Yucra S. / Santiago Gonzáles S.

95 Sistema a Distancia

Lección 10: Lenguajes de Programación

10.1 Historia de las Aplicaciones Web

Inicialmente la Web consistía en la colección de páginas estáticas, documentos, etc., que podían consultarse o descargarse.

El siguiente paso en su evolución fue la inclusión de un método para confeccionar páginas dinámicas que permitiesen que lo mostrado fuese dinámico, generado a partir de los datos de una petición. Dicho método fue conocido como CGI (Common Gateway interface) y definía un mecanismo mediante el cual podíamos pasar información entre el servidor HTTP y programas externos. Los CGI siguen siendo muy utilizados, puesto que la mayoría de los servidores web los soportan debido a su sencillez. Además, nos proporcionan total libertad a la hora de escoger el lenguaje de programación para desarrollarlos.

CGI es el nombre de una aplicación que recibe sus parámetros utilizando el estándar Common Gateway Interface, de ahí su nombre. El estándar establece cómo han de comunicarse las aplicaciones con el Servidor Web. Por extensión, se denomina CGI a un programa tradicional como C. En realidad, un CGI se encarga únicamente de implementar la respuesta de la aplicación web a un tipo concreto de solicitud proveniente del cliente. Por tanto, una aplicación web estará conformada, por muchos CGIs diferentes. Cada uno de ellos serán responsable de un contexto de interacción de la aplicación con el usuario (Berzal, Cubero y Cortijo, 2009, p. 21).

El esquema de funcionamiento de los CGI tenía un punto débil: cada vez que recibíamos una petición, el servidor web lanzaba un proceso que ejecutaba el programa CGI. Como, por otro lado, la mayoría de CGI estaban escritos en algún lenguaje interpretado (Perl, Python, etc.) o en algún lenguaje que requería runtime environment (VisualBasic, Java, etc.), esto implicaba una gran carga para la máquina del servidor (Mateu, 2004, p. 13).

Además, si la Web cuenta con varios accesos al CGI, esto suponía problemas graves. Por ello se empiezan a desarrollar alternativas a los CGI para solucionar este grave problema de rendimiento. Las soluciones vienen principalmente por dos vías. Por un lado se diseñan sistemas de ejecución de módulos más integrados con el servidor, que evitan que éste tenga que instanciar y ejecutar multitud de programas. La otra vía consiste en dotar al servidor de un intérprete de algún lenguaje de programación que nos permita incluir las páginas en el código de manera que el servidor sea quien lo ejecute, reduciendo así el tiempo de respuesta.

A partir de este momento, se vive una explosión del número de arquitecturas y lenguajes de programación que nos han permitido el desarrollar de aplicaciones web. Todas ellas siguen alguna de las dos vías ya mencionadas. De ellas, las más útiles y las que más se utilizan son aquellas que permiten mezclar los dos sistemas, es decir, un lenguaje de programación integrado que permita al servidor interpretar comandos que “incrustemos” en las páginas HTML y un sistema de ejecución de programas más enlazado con el servidor que no presente los problemas de rendimiento de los CGI.

Page 96: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad III Daniel Yucra S. / Santiago Gonzáles S.

96 Sistema a Distancia

10.2 CGI

Uno de los primeros mecanismos para generar contenido dinámico para la web es el API llamado CGI (acrónimo de Common Gateway interface, interfaz de pasarelas común).

Éste mecanismo simple permite que un Servidor Web ejecute un programa escrito en cualquier lenguaje de programación, que le pueda pasar unos parámetros que hace posible que el resultado de la ejecución de este programa sea enviado al usuario como una página web o cualquier otro tipo de contenido.

Al contrario de lo que sucede con los Servlets de Java y otros lenguajes, no existe ningún tipo de limitación al lenguaje de programación que podemos utilizar para escribir un CGI. Podemos usar desde scripts escritos en el lenguaje de shell del sistema operativo hasta programas escritos en ensamblador, pasando por todo el abanico de lenguajes de programación existentes: C, C++, Perl y Python. Hasta ahora, el lenguaje más popular para la escritura de CGI es Perl, ya que proporciona utilidades al programador que simplifican la tarea de escribir programas CGI.

Perl es un lenguaje de programación basado de varios lenguajes como el lenguaje C, del lenguaje interpretado bourne shell (sh), AWK, sed, Lisp y, en un grado inferior, de muchos otros lenguajes de programación. Este fue el lenguaje que popularizó los CGI, y se inició el desarrollo de las primeras Aplicaciones Web.

Los CGI deben responder a las peticiones construyendo ellos mismos parte de la respuesta HTTP que recibirá el cliente. Es decir, deben indicar, en primer lugar, el tipo MIME del contenido que sirven. Pueden añadir posteriormente algunos campos adicionales (los especificados en el estándar HTTP). Después de una línea en blanco separadora, debe aparecer el contenido.

El CGI más simple posible, en este caso escrito en shell script y que enumera las variables de entorno comentadas anteriormente, son:

#!/bin/sh echo Content-type: text/plain echo echo echo SERVER_NAME=$SERVER_NAME echo SERVER_PROTOCOL=$SERVER_PROTOCOL echo REQUEST_METHOD=$REQUEST_METHOD echo PATH_INFO=$PATH_INFO echo PATH_TRANSLATED=$PATH_TRANSLATED echo SCRIPT_NAME=$SCRIPT_NAME echo REMOTE_ADDR=$REMOTE_ADDR echo REMOTE_HOST=$REMOTE_HOST echo REMOTE_USER=$REMOTE_USER echo AUTH_TYPE=$AUTH_TYPE echo CONTENT_TYPE=$CONTENT_TYPE echo CONTENT_LENGTH=$CONTENT_LENGTH echo QUERY_STRING=$QUERY_STRING

Page 97: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad III Daniel Yucra S. / Santiago Gonzáles S.

97 Sistema a Distancia

Como podemos ver en este ejemplo (la sintaxis utilizada de Shell script es muy simple), para listar las variables de entorno recibidas enviamos el tipo de contenido, seguido de la línea en blanco obligatoria de todas y cada una de las variables de entorno mencionadas.

La ejecución de este servidor, resulta:

Figura 10.1: Resultado de las variables de entorno del CGI

10.3 PHP

PHP, cuyas siglas representan a un acrónimo recursivo (PHP: hypertext preprocessor), es un lenguaje sencillo, de sintaxis cómoda y similar a la de otros lenguajes como Perl, C y C++.

Es un lenguaje rápido, interpretado, orientado a objetos y multiplataforma. Existe prácticamente para todos los sistemas operativos, altamente portable.

PHP es un lenguaje ideal para el desarrollo de Aplicaciones Web, incluso para desarrollar Aplicaciones Web Complejas. PHP contiene diversos módulos y gran cantidad de librerías desarrolladas disponibles en su código fuente, con lo que el programador de PHP dispone de abundantes referencias y módulos para desarrollar las aplicaciones.

PHP suele ser utilizado conjuntamente con Apache, MySQL o PostgreSQL en sistemas operativos como GNU/Linux, formando una combinación que se denomina LAMP (Linux, Apache, MySQL y Php), que se hace potente y versátil cuando se utilizan como uno solo.

El Servidor Web Apache, puede incorporar PHP como un módulo propio del servidor, lo que permite que las aplicaciones escritas en PHP resulten mucho más rápidas que las aplicaciones CGI habituales.

Page 98: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad III Daniel Yucra S. / Santiago Gonzáles S.

98 Sistema a Distancia

Para usar PHP como lenguaje de desarrollo de Aplicaciones Web, la primera necesidad que tenemos es saber cómo interactuará PHP con nuestro usuario Web. Podemos dividir dicha interactuación en dos partes, mostrando información al usuario y recogiendo información de éste.

PHP es una alternativa a las tecnologías de Microsoft ASP, JSP, y demás lenguajes de programación para la Web.

10.4 Java Servlets

Los Servlets de Java son la propuesta de la tecnología Java para el desarrollo de Aplicaciones Web. Un Servlet es un programa que se ejecuta en un Servidor Web generalmente en Apache Tomcat. Su uso se ha popularizado por generar páginas web de forma dinámica a partir de los parámetros de la petición que envíe el navegador web.

Los Servlets Java presentan una serie de ventajas sobre los CGI. Éstos son más portables, potentes, eficientes, fáciles de usar, más escalables y utilizan menos recursos que un CGI.

El entorno donde se ejecutan, se arranca al iniciar el servidor, permaneciendo durante toda la ejecución del mismo. Para atender cada petición no inicia un nuevo proceso, sino un hilo, un proceso ligero de Java mucho más rápido.

El siguiente ejemplo nos muestra la estructura básica de un Servlet básico que maneja peticiones GET de HTTP (los Servlets también pueden manejar peticiones POST).

import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class ServletBasico extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // Disponemos del requerimiento para acceder a los datos de la // petición HTTP. // Disponemos de la respuesta para modificar la respuesta HTTP // que generar el Servlet. PrintWriter out = response.getWriter(); // Podemos usar out para devolver datos al usuario out.println(“¡Hola Mundo Cruel!\n”); } }

Para escribir un Servlet debemos escribir una clase de Java que extienda (por herencia) la clase HttpServlet (o la clase más genérica Servlet) y que sobrescriba el método service o alguno de los métodos de petición más específicos (doGet, doPost, etc.).

Page 99: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad III Daniel Yucra S. / Santiago Gonzáles S.

99 Sistema a Distancia

10.5 Java Server Pages (JSP)

Java Server Pages (JSP) es una tecnología que permite mezclar HTML estático con HTML generado dinámicamente mediante código Java embebido en las páginas webs.

Cuando se programa Aplicaciones Web con CGI, gran parte de la página que generan los CGI es estática y no varía de ejecución en ejecución. Por su parte, la parte variable de la página es realmente dinámica y muy pequeña (Mateu, 2004, p. 207).

Tanto los CGI como los Servlet nos obligan a generar la página por completo desde nuestro código de programa, dificultando así las tareas de mantenimiento, diseño gráfico, comprensión del código, etc.

Los JSP, por otro lado, nos permiten crear las páginas fácilmente.

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0 Transitional//EN”> <HTML> <HEAD> <TITLE>Bienvenido UIGV.</TITLE> </HEAD> <BODY> <H1>Bienvenido UIGV</H1> <SMALL>Welcome, < % out.println(Utiles.leerNombreDeCookie(request)); %> </SMALL> </BODY> </HTML> Como podemos ver en el ejemplo, una página JSP no es más que una página HTML donde, merced a unas marcas especiales < % y %>, podemos incluir código Java.

Esto presenta una serie de ventajas obvias: por un lado disponemos de prácticamente las mismas ventajas que al usar Java Servlets; de hecho, los servidores JSP “traducen” éstos a Servlets antes de ejecutarlos.

Otro ejemplo simple de página JSP es la siguiente:

<HTML> <BODY> <H1>Bienvenido. Día: < %= fecha %> </H1> <B> <% if(nombre==null) out.println(“Nuevo Usuario”); else out.println(“Bienvenido de nuevo”); %> </B> </BODY> </HTML>

Page 100: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad III Daniel Yucra S. / Santiago Gonzáles S.

100 Sistema a Distancia

Las páginas JSP normalmente tienen extensión .jsp y suelen colocarse en el mismo directorio que los ficheros HTML. Como podemos ver, una página .jsp no es más que una página HTML en la que incrustamos trozos de código Java, delimitados por < % y %>. Las construcciones delimitadas por < % y %> pueden ser de tres tipos:

- Elementos de script que nos permiten introducir un código que formará parte del Servlet que resulte de la traducción de la página.

- Las directivas nos permiten indicar al contenedor de Servlets cómo queremos que se genere el Servlet.

- Las acciones nos permiten especificar componentes que deberán ser usados.

- Cuando el servidor/contenedor de Servlets procesa una página JSP, convierte ésta en un Servlet en el que todo el HTML que hemos introducido en la página JSP es impreso en la salida, para a continuación compilar este Servlet y pasarle la petición.

Page 101: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad III Daniel Yucra S. / Santiago Gonzáles S.

101 Sistema a Distancia

Lección 11: Acceso a Base de Datos

11.1 PostgreSQL

PostgreSQL es un sistema de gestión de bases de datos del tipo objeto-relacional (ORDBMS) basado en el proyecto POSTGRES, de la universidad de Berkeley. El actual director de este proyecto es el profesor Michael Stonebraker, y fue patrocinado por DAROA (Defense Advanced Research Projects Agency, además Army Research Office (ARO) y la National Science Foundation (NSF).

PostgreSQL es una herramienta de software libre y utiliza el lenguaje SQL92/SQL99, se trata de uno de los gestores de base de datos más consistes, estables y altamente escalables.

En 1996 se eligió un nuevo nombre que resistiera el paso de los años y reflejara la relación del proyecto con el original Postgres (aún disponible) y las nuevas diferencias básicamente, el uso de lenguaje SQL.

Las características más destacadas de PostgreSQL que podemos citar son:

- Soporte para transacciones.

- Soporte para vistas

- Integridad referencial

- Herencia de tablas

- Tipos definidos por el usuario

- Soporte de objetos binarios grandes (mayores de 64 KB).

- Y muchas más características técnicas.

Fue el pionero en muchos de los conceptos existentes en el sistema objeto-relacional incluido, más tarde en otros sistemas de gestión comerciales. PostgreSQL. A pesar de todo esto PostgreSQL no es un sistema de gestión de bases de datos puramente orientado a objetos.

PostgreSQL compite con los gestores comerciales, haciendo de él una muy buena alternativa, utiliza la licencia GPL y es común ver a alguna aplicación web utilizando este gestor de base de datos.

Generalmente es muy usado combinando con los lenguajes de programación ejemplo C, C++, Java, Python, PHP, Java, JSP, etc.

11.2 MySQL

MySQL, al igual que PostgreSQL, son muy populares por los desarrolladores de aplicaciones web. MySQL es un SGBD desarrollado por la empresa MySQL AB, de origen sueco que lo desarrolló bajo licencia de software libre, pero puede ser adquirido con licencia comercial para ser incluido en proyectos no libres. Actualmente pertenece a la empresa Oracle.

MySQL es un sistema gestor de base de datos extremadamente rápido. Aunque no ofrece las mismas capacidades y funcionalidades que otras muchas bases de datos, compensa esta pobreza de prestaciones con un rendimiento excelente que

Page 102: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad III Daniel Yucra S. / Santiago Gonzáles S.

102 Sistema a Distancia

hace de ella la base de datos de elección en aquellas situaciones en las que necesitamos sólo unas capacidades básicas en una aplicación.

Las funcionalidades más destacadas de MySQL son:

- Soporte de transacciones.

- Soporte de replicación.

- Librería para uso embebido.

- Búsqueda por texto.

- Proporciona sistemas de almacenamientos transaccionales y no transaccionales.

- Las funciones SQL están implementadas usando una librería altamente optimizada y deben ser tan rápidas como sea posible. Normalmente no hay reserva de memoria tras la inicialización de consultas.

- El servidor está disponible como un programa separado para usar en un entorno de red cliente/servidor. Disponible como biblioteca y puede ser insertado o agregado en aplicaciones autónomas. Dichas aplicaciones pueden usarse por sí mismas o en entornos donde no hay red disponible.

MySQL se combina con muchos lenguajes de programación como Java, Php; python, ruby, Jsp, etc.

11.3 MariaDB

MariaDB es un gestor de base de datos derivado de MySQL con licencia GPL versión 2. Su principal desarrollador es Michael “Monty” Widenius, quien desarrolló previamente MySQL.

MariaDB es totalmente compatible con MySQL y posee los mismos comandos, interfaces, API y bibliotecas de MySQL. Además tiene soporte NoSQL.

MariaDB tiene soporte y asistencia de la comunidad de Software Libre y está abierto a los desarrolladores de software. Este gestor de base de datos incluye motores de almacenamiento alternativo (Storage Engines), mejoras en las optimizaciones del servidor y los nuevos parches de MySQL. Este gestor de base de datos es una alternativa perfecta para MySQL

11.4 FirebirdSQL

FirebirdSQL es una base de datos de software libre surgida a partir de la versión de código libre de Interbase que la empresa Borland liberó en el verano de 2000.

El primer objetivo que se marcaron los desarrolladores de FirebirdSQL fue estabilizar el código y eliminar multitud de bugs, así como aumentar el número de plataformas en las que funcionaba la base de datos.

En la actualidad algunas de las funcionalidades más destacadas son:

- Arquitectura de versiones que evita bloqueos entre lectores y escritores.

- Alerta de eventos para reaccionar a cambios en la base de datos.

- Tipos de datos muy ricos por ejemplo BLOBS.

Page 103: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad III Daniel Yucra S. / Santiago Gonzáles S.

103 Sistema a Distancia

- Procedimientos almacenados y triggers.

- Compatibilidad ANSI SQL-92.

- Integridad referencial.

- Transacciones.

Page 104: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad III Daniel Yucra S. / Santiago Gonzáles S.

104 Sistema a Distancia

Lección 12: Framework

Los framework constituyen un marco de trabajo que guía al programador en la construcción de un programa. Es framework ofrece generalmente parte de una biblioteca que hace las veces de nuevo zócalo para simplificar el acceso a las funciones más útiles. El framework impone una estructura a las aplicaciones, en especial separando representación de los datos, tratamientos y presentación [Guérin, 2005, p. 355].

El término framework se refiere a una estructura de software compuesta de componentes personalizables e intercambiables para el desarrollo de una aplicación. Así mismo, se puede considerar como una aplicación genérica incompleta y configurable a la que podemos añadirle los últimos elementos para construir una aplicación concreta.

Un framework web podemos definirlo como un conjunto de componentes que componen un diseño reutilizable que facilita y agiliza el desarrollo de Sistemas Web.

Entre las características de un framework podemos mencionar:

− Estar enfocado en un tema específico y ser altamente reutilizable.

− Incluye múltiples clases y componentes, cada una de las cuales provee una abstracción de un determinado concepto.

− Describe cómo esas abstracciones trabajan en conjunto para resolver las necesidades a las que da solución.

− Los componentes de un Framework son altamente reutilizable.

12.1 JSF

JSF es un framework para crear aplicaciones java basadas en el patrón MVC (Modelo – Vista – Controlador). Forma parte del estándar J2EE, existen muchas alternativas para crear la capa de presentación y control de una aplicación web java, como el framework struts y Spring pero solo JSP forma parte del estándar.

Con JSF se puede construir interfaces de usuario en aplicaciones web, de esta manera nos facilita el desarrollo de aplicaciones, separando las diferentes capas de una arquitectura: presentación, reglas de negocio y la base de datos.

JSF fue creado dentro del Java Community Process de SUN, en el que han participado líderes de la industria como Oracle, BEA, IBM y muchas más empresas relacionadas a Java.

También conocido por ser el framework oficial de SUN para el desarrollo de aplicaciones web con 4 capas.

JSF ofrece un modelo de trabajo basado en componentes UI (user interface), definidos por medio de etiquetas y XML, entre sus principales características podemos citar:

a) Una arquitectura basada en el patrón MVC.

Page 105: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad III Daniel Yucra S. / Santiago Gonzáles S.

105 Sistema a Distancia

b) Asocia (de forma modular) cada componente gráfico con los datos (beans de respaldo).

c) Incluye la capa de control, definida de forma declarativa en archivos XML.

d) Validación en cliente y en servidor.

e) Control de mensajes y roles.

Las principales implementaciones de JSF son: JSF Reference Implementation de Sun Microsystems y MyFaces proyecto de Apache Software Foundation.

12.2 Ruby On Rails

Ruby on Rails o RoR es un framework de aplicaciones web basado en software libre escrito en el lenguaje de programación Ruby.

Con este framework se puede desarrollar aplicaciones web con base de datos de acuerdo con el patrón de diseño arquitectónico MVC (Modelo – Vista – Controlador).

Rails te da un entorno de desarrollo de Ruby. Para probarlo, solo se necesita de una base de datos y un servidor web.

El framework se acopla perfectamente en cualquier tipo de aplicación web, además trabaja con varios servidores web y bases de datos. Para el servidor web, recomendamos Apache o lighttpd incluso suele venir con su propia implementación denominada WebRick. Para la base de datos, se puede usar MySQL, PostgreSQL, SQLite, Oracle, SQL Server, DB2, o Firebird.

Es multiplataforma y funciona prácticamente en cualquier sistema operativo, pero recomendamos alguno basado en Linux.

Ruby on Rails ha popularizado el uso de los framework por la simplicidad y poco código que utiliza al momento de realizar las aplicaciones con el framework.

12.3 Web2Py

Es un framework desarrollado en python basado software libre. Su principal objetivo es dar soporte al desarrollo ágil de aplicaciones web escalables, seguras y portables enfocadas en bases de datos.

Web2py fue originalmente diseñado como una herramienta de enseñanza con énfasis en la facilidad de uso y despliegue, no tiene ningún archivo de configuración a nivel de proyecto.

Es sencillo, de fácil uso y aprendizaje, como cualquier otro framework incluye el patrón de diseño arquitectónico MVC, además de plantillas, librerías en javascript, ajax, hojas de estilo, etc. que lo convierten en una solución completamente funcional para crear aplicaciones Web 2.0 de manera totalmente interactiva dividiendo el diseño y la programación.

Web2py hace al desarrollo web rápido, fácil y más eficiente, permite enfocarse en la lógica del negocio y no en temas técnicos triviales, además se destacan estas características:

- Instalación muy simple, prácticamente sin configuración.

Page 106: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad III Daniel Yucra S. / Santiago Gonzáles S.

106 Sistema a Distancia

- Intuitivo y con curva de aprendizaje muy baja.

- Ideal para ser enseñado en el aula a nivel de principiantes.

- Su capa de abstracción a la base de datos permite definir tablas sin necesidad de clases complejas.

- Su lenguaje de consulta es muy cercano a SQL otorgando gran poder declarativo y flexibilidad, en Python.

- Estructura sólida todo incluido, incluyendo hasta ajax, menús, formularios, caching, GAE, servicios web, etc.

- Diseño integrado, limpio y seguro.

Por las características de Python, web2py es menos verboso que los frameworks desarrollados en Java, y su sintaxis tiende a ser más limpia mucho más que los desarrollados en php.

12.4 Zend Framework

Zend es otro framework basado en software libre desarrollado íntegramente en php, entre las principales características podemos citar:

- 100% orientado a objetos y sus componentes tienen un bajo acoplamiento por lo que los puede ser utilizado de forma independiente.

- Cuenta con soporte para internalización y localización de aplicaciones.

- Cada componente está construido con una baja dependencia de otros componentes, permitiendo a los desarrolladores utilizar los componentes por separado.

El principal patrocinador del proyecto Zend Framework es Zend Technologies, pero muchas empresas han contribuido con componentes o características importantes para el framework.

Microsoft y Google se han asociado con Zend para proporcionar interfaces de servicios web y otras tecnologías que desean poner a disposición de los desarrolladores de Zend Framework.

Existen muchos otros framework desarrollados en php, en este caso Zend Framework está respaldado por la misma empresa que ha desarrollado el lenguaje php.

Page 107: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad III Daniel Yucra S. / Santiago Gonzáles S.

107 Sistema a Distancia

RESUMEN

La unidad desarrollada describe la presentación y aplicación distribuida del modelo de la arquitectura Web. Existiendo diversas variantes de la arquitectura de las aplicaciones Web, de acuerdo como se implementen las diferentes funcionalidades en la parte del servidor.

Se define los lenguajes de programación, tales como: CGI, php, Java Servlets, JSP como lenguajes para el desarrollo de aplicaciones Web.

Así mismo, se describe los principales sistemas de gestión de Base de Datos, tales como: PostgreSQL, MySQL, MariaDB y FirebirdSQL.

Al término de la unidad se explica de forma clara y sencilla en la definición de un framework para sistemas Web y de sus principales características.

Page 108: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad III Daniel Yucra S. / Santiago Gonzáles S.

108 Sistema a Distancia

LECTURA

XML: Transformando la Web en una Base de Datos

Autor: Marcelo Arenas

Una de las razones para la popularización de la Web ha sido el desarrollo de una infinidad de páginas que entregan distintos servicios; buscadores como Yahoo y Google, grandes repositorios de información como Wikipedia, tiendas electrónicas como Amazon, diarios y revistas electrónicas, página personales, etc. Bajo este desarrollo ha estado HTML, un lenguaje que permite estructurar tanto la información como las posibilidades de navegación en una página Web.

Durante los últimos años, la cantidad de información almacenada en la Web ha ido creciendo de manera dramática. Hoy ningún usuario tiene la capacidad de recorrer la Web entera en busca de información, y es necesario utilizar buscadores automáticos como Yahoo! y Google para poder revisar una fracción significativa de esta red.

Nadie puede negar la importancia y utilidad que tienen los buscadores para encontrar información en la Web. Sin embargo, muchos usuarios pueden de-cir que su experiencia con ellos no ha sido completamente satisfactoria. A medida que las consultas que se quiere realizar son más complejas, la búsqueda de información puede requerir de varios, o muchos, intentos en los cuales es necesario jugar con distintos parámetros. Piense por ejemplo en la consulta “dé la lista de libros de Ariel Rubinstein”. Para realizar esta consulta basta con poner “Ariel Rubinstein” en un buscador y usar los primeros elementos de la lista de respuesta (probablemente el primero) para encontrar la página de este autor, y ahí la lista de sus libros. Pero ahora piense en la pregunta “dé la lista de libros de Ariel Rubinstein y sus precios”. ¿Qué colocaría en un buscador para encontrar la respuesta? Peor aún, piense en una pregunta como la siguiente “dé la lista de libros de Ariel Rubinstein que han bajado de precio en los últimos años”. ¿Cómo se puede buscar esta información usando Yahoo o Google?

¿Por qué los buscadores tienen dificultades en los ejemplos anteriores? Una de las razones es el uso de HTML; este es un lenguaje que permite desplegar información que es fácil de entender para los usuarios, pero que en general es difícil de interpretar para los computadores. Estas dificultades ya pueden verse en ejemplos tan sencillos como el siguiente:

<html> <body bgcolor="#FFFFFF"> <center> <h2> Todo Libros </h2> </center> <ul> <li><b>Teor&iacute;a de Juegos.</b> Martin Osborne y Ariel Rubinstein. Precio: 16000.</li> </ul> </body> </html>

Page 109: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad III Daniel Yucra S. / Santiago Gonzáles S.

109 Sistema a Distancia

Este archivo es usado para mostrar la lista de libros vendidos por la librería “Todo Libros”. Nótese que este archivo ha sido indentado (espaciado) de manera que sea fácil visualizar la estructura jerárquica del documento. Por ejemplo, <li> corresponde a un ítem en la lista definida por <ul>. En un browser tal como FireFox o Explorer, esta lista será desplegada de la siguiente forma:

Todo Li bros

• Teoría de Juegos. Martin Osborne y Ariel Rubinstein. Precio: 16000.

Para un usuario la información en esta lista es fácil de entender; es claro que hay una lista de libros, cada uno con sus autores y su precio. Sin embargo, para un computador esta información no es tan clara. Una de las razones es que el computador no tiene la información de contexto, o metainformación, que tiene el usuario. ¿Cómo puede un computador deducir que está frente a una lista de libros? Y aun si sabe esto, ¿cómo puede extraer información desde el documento, por ejemplo los precios de los libros? Es importante notar aquí que el documento HTML no tiene ninguna indicación sobre dónde buscar esta información, simplemente dice cómo debe ser desplegada la lista de libros. Así, el computador debe tratar de interpretar el texto para poder extraer la lista de precios. Por ejemplo, puede buscar la palabra “Precio” y el número que lo sigue (o antecede). Aunque en este caso esto puede dar buenos resultados, la situación puede volverse más complicada si la lista contiene varios precios para un mismo libro (precio sin descuento, con descuento por compra electrónica, con descuento a clientes frecuentes, etc.), o aun más complicada si se requiere de hacer algunos cálculos para saber el precio final (precio después del 15% de descuento por compra electrónica).

La búsqueda de información en la Web puede mejorarse si los formatos usados para almacenar información pueden ser fácilmente interpretados por los computadores. Una propuesta para hacer esto es el uso de XML.

Cómo funciona la Web Centro de Investigación de la Web

Departamento de Ciencias de la Computación Universidad de Chile

Pp. 75-78

Page 110: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad III Daniel Yucra S. / Santiago Gonzáles S.

110 Sistema a Distancia

AUTOEVALUACIÓN

1. La aplicación distribuida por el cliente, está conf ormado por: a. Presentación – Lógica de Datos – Gestión de Datos b. Lógica de presentación – Lógica de Negocio – Lógica de Datos c. Lógica de presentación – Lógica de Negocio – Gestión de Datos d. Presentación – Lógica de presentación – Lógica de Negocio e. Presentación – Lógica de Negocio – Lógica de Datos

2. La arquitectura de la aplicación “todo en un solo s ervidor” está compuesto por una arquitectura de: a. 02 capas b. 03 capas c. 04 capas d. 05 capas e. 06 capas

3. Es un lenguaje rápido, interpretado, orientado a ob jetos y multiplataforma: a. CGI b. Html c. Javascript d. Php e. XML

4. Es una herramienta de software libre y utiliza el l enguaje SQL92/SQL99: a. SQL Server b. MySQL c. Oracle d. PostgreSQL e. MariaDB

5. De las siguientes definiciones de framework ¿cuál e s la correcta?: a. El término framework se refiere a varios componentes personalizables e

intercambiables para el desarrollo de un API. b. El término framework se refiere a una estructura de elementos compuesto

de componentes intercambiables para el desarrollo de una página Web. c. El término framework se refiere a una estructura de software compuesta de

componentes personalizables e intercambiables para el desarrollo de una aplicación.

d. El término framework se refiere a una aplicación genérica completa y no configurable a la que podemos añadirle los últimos elementos para construir una aplicación.

e. El término framework se refiere a una estructura de aplicaciones donde se juntan la representación de los datos, tratamientos y presentación.

Page 111: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad III Daniel Yucra S. / Santiago Gonzáles S.

111 Sistema a Distancia

6. Ofrece un modelo de trabajo basado en componentes U I: a. XML b. html c. http d. jsf e. Servlet

7. Es un framework para crear aplicaciones java basada s en el patrón MVC: a. Ruby on Rails b. jsf c. zend d. Web2py e. Ajax

8. Ruby on Rails es un framework escrito en el lenguaj e de programación: a. php b. asp c. javascript d. ruby e. html

9. Web2Py es un framework escrito en el lenguaje de pr ogramación: a. jsp b. python c. C++ d. css e. java

10. Zend es un framework escrito en el lenguaje de prog ramación: a. php b. asp c. python d. jsp e. ruby

Page 112: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad III Daniel Yucra S. / Santiago Gonzáles S.

112 Sistema a Distancia

RESPUESTAS DE CONTROL

1. d 2. c 3. d 4. d 5. c 6. d 7. b 8. d 9. b 10. a

Page 113: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad III Daniel Yucra S. / Santiago Gonzáles S.

113 Sistema a Distancia

EJERCICIOS PROPUESTOS

1. Implementar un Servidor Web con soporte para JSP utilizando apache Tomcat.

2. Realizar una aplicación Web utilizando Base de Datos (MySQL, Postgresql o MariaDB) permitiendo ingresar, modificar, consultar y eliminar datos.

3. Realizar una aplicación Web utilizando un framework.

Page 114: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad III Daniel Yucra S. / Santiago Gonzáles S.

114 Sistema a Distancia

EXPLORACIÓN ON LINE

• URL: http://php.net/manual/es/index.php

Manual oficial de desarrollo del lenguaje de programación PHP

• URL: http://www.oracle.com/technetwork/java/javaee/jsp/index.html

Sitio oficial de JSP, donde se publican las últimas versiones del framework además pueden encontrar documentación.

• URL: http://www.postgresql.org.es/documentacion

En este sitio encontrará información official del gestor de base de datos PostGreSQL en español, además de libros, descargas y foros que discuten el uso y desarrollo.

• URL: http://php.net/manual/es/book.mysql.php

Documentación oficial php con mysql sobre las funciones que se utilizan para generar aplicaciones web con esta solución

• URL: http:/ downloads.mysql.com/docs/refman-5.0-es.a4.pdf

Manual oficial de Mysql para la versión 5.0 en español

• URL: http://kb.askmonty.org/es/mariadb

Documentación oficial del gestor de base de datos MariaDB en español

• URL: http://www.firebird.com.mx/modules/mydownloads/

Documentación en español sobre el gestor de base de datos firebird

Page 115: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad III Daniel Yucra S. / Santiago Gonzáles S.

115 Sistema a Distancia

REFERENCIA BIBLIOGRÁFICA

Berzal, F., Cubero, J.C. y Cortijo, F.J. (2009) Desarrollo Profesional de Aplicaciones Web con ASP.NET. Madrid: iKor Consulting

Cancelo, P. y Giraldez, J. A. (2007) La tercera Revolución. La Coruña: Editorial NetBiblio, S.L.

Castelo, A. (2010) Estrategias Empresariales en la Web 2.0. Las redes sociales Online. Alicante: Editorial Club Universitario.

Guerin, Brice-Arnaud (2005) Lenguaje C++. Programación Unix & Windows Standard Template Library. Ediciones ENI

Mateu, C. (2004) Desarrollo de Aplicaciones Web. Barcelona: Eureca Media, SL

Page 116: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad III Daniel Yucra S. / Santiago Gonzáles S.

116 Sistema a Distancia

BIBLIOGRAFÍA COMENTADA

- Coulouris, G., Dollimore, J., & Kindberg, Tim (2007) Sistemas Distribuidos Conceptos y Proyecto 4ta Edición. Madrid: Addison Wesley.

Puede revisar la Unidad 1 y 2, sobre los modelos de arquitectura de los sistemas distribuidos.

- Fernández, D. (2004) Arquitectura web en aplicaciones Java/j2ee. Madrid: IberLibro.

Revisar las unidades 1 y 2 sobre las arquitecturas de 4 capas en N niveles, además de la arquitectura de las aplicaciones JSP, Servlet y framework basados en esta tecnología.

- Barranco, J. (2001) Metodología del análisis estructurado de sistemas. Madrid: Universidad Pontificia.

Revisar el capítulo 9, sobre el estudio de una arquitectura de software además de las características de arquitectura de una aplicación web en la página 284

- Mateu, C. (2004) Desarrollo de Aplicaciones Web. Barcelona: Eureca Media, SL.

Revisar la unidad 5 sobre el desarrollo de Contenido dinámico con los CGI, PHP y JSP. Además de la unidad 6 sobre el acceso a base de datos utilizado JDBC.

Page 117: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad IV Daniel Yucra S. / Santiago Gonzáles S.

117 Sistema a Distancia

CUARTA UNIDAD

Fundamentos de Seguridad Web y Aplicaciones Empresa riales

Sumario

La presente unidad describe las consideraciones elementales para la Seguridad en la Web y los tipos de acceso utilizados.

Se define el uso del Protocolo de comunicación cifrado, denominado https y Protocolo de seguridad para la realización de transacciones seguras, como por ejemplo el Comercio Electrónico.

Se muestra una lista de aplicaciones Web Empresariales desarrollado en Software Libre, que se ofrecen como propuesta para los Sistemas de Gestión Empresarial.

Finalmente se describe el caso del Sistema Operativo EyeOS, una aplicación desarrollada en entorno Web.

Page 118: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad IV Daniel Yucra S. / Santiago Gonzáles S.

118 Sistema a Distancia

Objetivos

Al finalizar esta unidad, el estudiante será capaz de:

• Reconocer las principales medidas de seguridad para un Servidor Web.

• Conceptualizar los protocolos de Seguridad en aplicaciones Web, como https y set.

• Identificar aplicaciones Web desarrolladas en Software Libre, como alternativa a las soluciones desarrollados en Software Privativo.

• Contar con las nociones del funcionamiento del Sistema Operativo Web EyeOS.

Page 119: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad IV Daniel Yucra S. / Santiago Gonzáles S.

119 Sistema a Distancia

Lección 13: Seguridad en la Web

13.1 Consideraciones en la seguridad en la web

La World Wide Web trabaja en una arquitectura cliente/servidor que se ejecuta en Internet, Intranet y Extranet, utilizando el protocolo TCP/IP. Como tal, las herramientas de seguridad y los enfoques discutidos anteriormente en este documento son importantes para la seguridad de la web. La web presenta nuevos retos que generalmente no se aprecian en el contexto de la seguridad de los ordenadores y la red:

- Internet en bidireccional. Al contrario que los entornos de publicación tradicionales, incluso los sistemas de publicación electrónica que hacen uso de teletexto, respuesta de voz o respuesta de fax, la web es vulnerable a los ataques a los servidores web desde Internet.

- La Web se emplea cada vez más para presentar información de empresas y de productos y como plataforma para transacciones de negocios. Se puede perjudicar la imagen y ocasionar pérdidas económicas si se manipulan de la forma incorrecta los servidores web.

- Aunque los navegadores web son fáciles de usar, los servidores relativamente sencillos de configurar y gestionar y los contenidos web cada vez más fáciles de desarrollar, el software subyacente es extraordinariamente complejo. Éste puede ocultar muchos posibles fallos de seguridad.

- La corta historia de la web está llena de ejemplos de sistemas nuevos y actualizados constantemente, instalados de manera adecuada, que son vulnerables a una serie de ataques a la seguridad.

- Un servidor web puede utilizarse como plataforma de acceso a todo el complejo de ordenadores de una empresa. Una vez comprometida la seguridad del servidor web, un atacante podría tener acceso a datos y sistemas fuera del propio servidor pero que están conectados a éste en el sitio local.

Habitualmente, los clientes de servicios basados en la web son usuarios ocasionales y poco preparados (en lo que a seguridad se refiere). Estos usuarios no tienen por qué ser conscientes de los riesgos que existen y no tienen las herramientas ni los conocimientos necesarios para tomar medidas efectivas.

A continuación una lista de amenazas sus consecuencias y medidas que se deben aplicar.

Amenazas Consecuencias Contramedidas

Integridad − Modificación de datos de usuarios

− Navegador caballo de Troya

− Modificación de memoria. − Modificación del tráfico

del mensaje en tránsito

− Pérdida de información

− Máquina en peligro

− Vulnerabilidad al resto de amenazas

− Suma de comprobación (checksum) criptográfica

Page 120: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad IV Daniel Yucra S. / Santiago Gonzáles S.

120 Sistema a Distancia

Confidencialidad − Escuchas ocultas en la

red − Robo de información del

servidor − Robo de datos del cliente − Información sobre la

configuración de la red − Información sobre que

cliente se comunica con el servidor

− Pérdida de información

− Pérdida de privacidad

− Cifrado, proxy web

Denegación de servicios

− Interrupción de procesos del usuario

− Inundar la máquina con amenazas fraudulentas

− Llenar el espacio de disco o la memoria

− Alistar la máquina mediante ataques de DNS

− Destructivo − Molesto − Impide que los

usuarios finalicen su trabajo

− Difícil de prevenir

Autentificación − Suplantación de usuarios legítimos

− Falsificación de datos

− Falsificación de usuario

− Creer que la información falsa es válida

− Técnicas criptográficas

Tabla 4.1. Comparación de amenaza en la web

Fuente: Stalling, W (2003) Fundamentos en Seguridad en Redes.

Una manera de clasificar las amenazas a la seguridad de la web es en función de la ubicación de las amenazas: servidor web, navegador web y tráfico de red entre navegador y servidor. Los aspectos referentes a la seguridad del servidor y del navegador se enmarcan dentro de la categoría de los sistemas de computadoras. (Stallings, 2003, p. 226).

A continuación los diferentes protocolos de internet y ubicación de los protocolos de seguridad para la World Wide Web:

Figura 13.1: Ubicación relativa de las herramientas de seguridad en la pila de protocolos

TCP/IP Fuente: Stallings, W. (2000) Fundamentos de seguridad en redes (Segunda Edición). P.

226.

Page 121: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad IV Daniel Yucra S. / Santiago Gonzáles S.

121 Sistema a Distancia

13.2 Control de Acceso al Servidor Web

La mayoría de los servidores web modernos nos permiten controlar todo desde el mismo servidor web los aspectos relacionados con la seguridad y la autenticación de los usuarios.

En este sentido el modo más simple de control es el proporcionado por el uso de ficheros .htaccess. Éste es un sistema de seguridad que proviene de uno de los primeros servidores web (del NCSA httpd), que consiste en poner un fichero de nombre .htaccess en cualquier directorio del contenido web que se vaya a servir, indicando en este fichero qué usuarios, máquinas, etc., tienen acceso a los ficheros y subdirectorios del directorio donde está el fichero.

Como el servidor de NCSA fue el servidor más usado durante mucho tiempo, la mayoría de servidores en la actualidad ha heredado este mecanismo y permiten utilizar el fichero .htaccess respetando la sintaxis del servidor de NCSA.

En algunos casos los otros servidores permiten especificar reglas de servicio de directorios y ficheros en la configuración del servidor web, indicando allí qué usuarios, máquinas, puertos, etc., pueden acceder al recurso indicado.

Por lo que respecta a la autenticación es decir validación del nombre de usuario y contraseña proporcionados por el cliente, las prestaciones ofrecidas por los diversos servidores web son de lo más variado y cada una posee mecanismos de autentificación en diferentes niveles e incluso a nivel de aplicación.

Como mínimo, proporcionan al servidor web un fichero con nombres de usuario y contraseñas luego puede ser validad por el servidor. Por otro lado es frecuente que los servidores proporcionen pasarelas que permitan delegar las tareas de autenticación y validación a otro software. Por ejemplo sistemas Radius y Ldap. Si usamos un sistema operativo como GNU/Linux, que dispone de una infraestructura de autenticación como PAM (pluggable authentication modules), podemos usar esta funcionalidad como modo de autenticación del servidor web, permitiéndonos así usar los múltiples métodos disponibles en PAM para autenticar contra diversos sistemas de seguridad.

Un fichero .htaccess (hypertext access), también conocido como archivo de configuración distribuida permite definir diferentes directivas de configuración para cada directorio.

Para proceder a crear archivo .httaccess, se debe crear un fichero con el mismo nombre en cada directorio cuyos ficheros requieran protección.

Por ejemplo:

AuthUserFile /home/juan/usuarios AuthGroupFile /home/juan/grupos AuthName ByPassword AuthType Basic <LIMIT GET POST> requiere user juan allow from .uigv.edu.pe deny from .hackers.uigv.edu.pe </LIMIT>

Page 122: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad IV Daniel Yucra S. / Santiago Gonzáles S.

122 Sistema a Distancia

Como se puede ver, el control de acceso afecta a todos los ficheros del directorio protegido. Se puede conceder o denegar el acceso en función de direcciones IP, en cuyo caso se utilizaría un fichero de control de acceso de la forma (all equivale a cualquier petición):

<Limit GET POST>

deny from all

allow from pc1.usuarios.uigv.edu.pe

</Limit>

Además, NCSA soporta los sistemas de autentificación básico (en el que las claves circulan de forma visible por la red) o MD5 (que añade una codificación a estas claves). Los ficheros de usuarios y claves se crean con la aplicación htpasswd, que permite editar un fichero de claves (similar al passwd de UNIX):

htpasswd –c /users/luis/usuarios juan

Ahora se teclearía la clave de acceso para Juan, de esta manera queda restringir el acceso a directorios, también puede restringir el acceso a IPs o ISPs incluso puede crear URL amigables.

Page 123: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad IV Daniel Yucra S. / Santiago Gonzáles S.

123 Sistema a Distancia

Lección 14: Protocolos de Seguridad para la Web

14.1 Protocolo de comunicación cifrado (HTTPS)

Para comunicarse con el servidor web que contiene información sensible es recomendable usar protocolos que utilicen cifrado. El más utilizado es el HTTPS (HTTP seguro), que usa un cifrado en la comunicación, a diferencia del protocolo HTTP, en que la información circula visible, por lo cual con un detector o sniffer se puede ver toda la sesión.

En aplicaciones como de correo electrónico vía web, transacciones electrónicas, información privada sensible en la web, es recomendable instalar el módulo HTTPS.

De acuerdo a Colobran, M. (2008): ”El HTTPS es una versión cifrada de HTTP, implementada por medio de estándares como SSL/TLS. La conexión cifrada se lleva a cabo simplemente con una conexión HTTP ordinaria por encima de una conexión SSL cifrada. Por lo demás HTTPS y HTTP son iguales” (p. 203)

El puerto estándar de conexión HTTPS es el 443.

Figura 14.1: Ubicación del protocolo HTTPS

HTTPS utiliza el protocolo de seguridad SSL (secure socket layer) para cifrar y autenticar el tráfico entre cliente y servidor, siendo ésta muy usada por los servidores web de comercio electrónico, así como por aquellos que contienen información personal o confidencial.

14.2 Protocolo de seguridad para transacciones segu ras (SET)

SET (Secure Electronic Transaction; en español, Transacción Electrónica Segura) es un protocolo desarrollado por Visa y Mastercard y que utiliza el estándar SSL (Secure Socket Layer).

El estándar SET (Secure Electronic Transaction) fue desarrollado en 1995 por Visa y MasterCard, con la colaboración de gigantes de la industria del software, como Microsoft, IBM y Netscape. La gran ventaja de este protocolo es que ofrece autenticación de todas las partes implicadas (el cliente, el comerciante y los bancos, emisor y adquiriente); confidencialidad e integridad, gracias a técnicas criptográficas robustas, que impiden que el comerciante acceda a la información de pago (eliminando así su potencial de fraude) y que el banco acceda a la información de los pedidos (previniendo que confeccione perfiles de compra); y

Page 124: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad IV Daniel Yucra S. / Santiago Gonzáles S.

124 Sistema a Distancia

sobre todo gestión del pago, ya que SET gestiona tareas asociadas a la actividad comercial de gran importancia, como registro del titular y del comerciante, autorizaciones y liquidaciones de pagos, anulaciones, etc. (Revista IDEA, 2000, p. 52)

SET se basa en el uso de una firma electrónica del comprador y una transacción que involucra, no sólo al comprador y al vendedor, sino también a sus respectivos bancos.

Según España (2003), "En un entorno interactivo se asume que exista un proceso de iniciación que activa el protocolo SET. Este proceso permite a las partes comerciantes (comprador y comerciante) intercambiarse información requerida para ejecutar correctamente el protocolo, como por ejemplo, las marcas de tarjetas aceptadas, una descripción del pedido, la suma a la que este asciende, etc. En la especificación del protocolo SET no se describe el proceso de iniciación; no obstante, se define unos mensajes de iniciación susceptibles de emplearse en dicho proceso. Estos mensajes son los siguientes: iniciación de registro, iniciación de consulta de registro, iniciación de pago y iniciación de consulta de pago" (p. 659).

Cuando se realiza una transacción segura por medio de SET, los datos del cliente son enviados al servidor del vendedor, pero dicho vendedor sólo recibe la orden. Los números de la tarjeta del banco se envían directamente al banco del vendedor, quien podrá leer los detalles de la cuenta bancaria del comprador y contactar con el banco para verificarlos en tiempo real.

El protocolo SSL (iWorld, número de julio/agosto 1999, Seguridad con SSL), actualmente es el más utilizado y más extendido en Internet que SET, no fue diseñado para interacciones entre múltiples partes, como las transacciones comerciales, que pueden llegar a involucrar hasta seis partes. SSL se limita a cifrar el número de tarjeta de crédito cuando es transmitido desde el navegador del cliente hasta el servidor del comerciante, resultando insuficiente para los requisitos de seguridad de un comercio electrónico fiable.

Esta situación no se podía mantener por más tiempo, por lo que en 1995 Visa y MasterCard, con la colaboración de otras compañías líderes en el mercado de las tecnologías de la información, como Microsoft, IBM, Netscape, RSA, o VeriSign, unieron sus fuerzas para desarrollar Secure Electronic Transaction (SET), un protocolo estandarizado y respaldado por la industria, diseñado para salvaguardar las compras pagadas con tarjeta a través de redes abiertas, incluyendo Internet.

El protocolo SET ofrece una serie de servicios que convierten las transacciones a través de Internet en un proceso seguro y fiable para todas las partes implicadas:

− Autenticación : todas las partes involucradas en la transacción económica (el cliente, el comerciante y los bancos, emisor y adquiriente) pueden verificar mutuamente sus identidades mediante certificados digitales. De esta forma, el comerciante puede asegurarse de la identidad del titular de la tarjeta y el cliente, de la identidad del comerciante. Se evitan así fraudes debidos a usos ilícitos de tarjetas y a falsificaciones de comercios en Internet (web spoofing), que imitan grandes web comerciales. Por su parte, los bancos pueden asimismo comprobar la identidad del titular y del comerciante.

− Confidencialidad : la información de pago se cifra para que no pueda ser espiada mientras viaja por las redes de comunicaciones. Solamente el número

Page 125: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad IV Daniel Yucra S. / Santiago Gonzáles S.

125 Sistema a Distancia

de tarjeta de crédito es cifrado por SET, de manera que ni siquiera el comerciante llegará a verlo, para prevenir fraudes. Si se quiere cifrar el resto de datos de la compra, como por ejemplo qué artículos se han comprado o a qué dirección deben enviarse, debe recurrirse a un protocolo de nivel inferior como SSL.

− Integridad : garantiza que la información intercambiada, como el número de tarjeta, no podrá ser alterada de manera accidental o maliciosa durante su transporte a través de redes telemáticas. Para lograrlo se utilizan algoritmos de firma digital, capaces de detectar el cambio de un solo bit.

− Intimidad : el banco emisor de la tarjeta de crédito no puede acceder a información sobre los pedidos del titular, por lo que queda incapacitado para elaborar perfiles de hábitos de compra de sus clientes.

− Verificación inmediata : proporciona al comerciante una verificación inmediata, antes de completarse la compra, de la disponibilidad de crédito y de la identidad del cliente. De esta forma, el comerciante puede cumplimentar los pedidos sin riesgo de que posteriormente se invalide la transacción.

− No repudio para resolución de disputas : la mayor ventaja de SET frente a otros sistemas seguros es la adición al estándar de certificados digitales (X.509v3), que asocian la identidad del titular y del comerciante con entidades financieras y los sistemas de pago de Visa, MasterCard, etc. Estos certificados previenen fraudes para los que otros sistemas no ofrecen protección, como el repudio de una transacción (negar que uno realizó tal transacción), proporcionando a los compradores y vendedores la misma confianza que las compras convencionales usando las actuales redes de autorización de créditos de las compañías de tarjetas de pago.

El pago mediante tarjeta es un proceso complejo en el cual se ven implicadas varias entidades:

− El banco emisor: emite la tarjeta del cliente, extiende su crédito y es responsable de la facturación, recolección y servicio al consumidor. En el artículo 46 de la Ley de Comercio Minorista se establece que cuando el importe de una compra hubiese sido cargado utilizando el número de una tarjeta de crédito, sin que ésta hubiese sido presentada directamente o identificada electrónicamente (por ejemplo por un hacker que robó el número en Internet), su titular podrá exigir la inmediata anulación del cargo.

− El banco adquiriente: forma relación con el comerciante, procesando las transacciones con tarjeta y las autorizaciones de pago.

− El titular de la tarjeta: posee la tarjeta emitida por el banco emisor y realiza y paga las compras.

− El comerciante: vende productos, servicios o información y acepta la transacción.

14.3 Certificados Digitales

Conocido también como certificado de clave pública o certificado de identidad, se trata de un documento digital mediante el cual un tercero confiable (una autoridad de certificación) garantiza la vinculación entre la identidad de un persona o

Page 126: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad IV Daniel Yucra S. / Santiago Gonzáles S.

126 Sistema a Distancia

organización utilizando un nombre, dirección y otros aspectos de identificación y una clave pública.

Los navegadores web saben que es seguro mediante certificados digitales. Hay organismos como el CA (Autoridad Certificadora) que certifican a empresas o personas y estos certificados se almacenan en nuestro navegador, de tal manera que cuando entramos a una web, nuestro navegador se valida con el certificado del servidor web y cifra la comunicación.

Para que un certificado digital tenga validez legal, el prestador de Servicios de Certificación debe acreditarse en cada país de acuerdo a la normativa que cada se defina, en el caso peruano el responsable es el Instituto Nacional de Defensa de la Competencia y de la Protección de la Propiedad Intelectual. Actualmente las empresas usan prestigiosas empresas internacionales para que les provea los certificados digitales.

Para entender mejor, ingresamos al sitio de pagos Paypal (URL: http://www.paypal.com), en ese momento el certificado que hay en ese servidor manda a nuestro navegador de manera transparente al usuario, como información acerca de ese certificado y nuestro navegador lo valida. Entonces se establece entre ellos una comunicación segura y cifrada.

Si hacemos doble clic sobre el candado dorado del sitio web de paypal, podremos ver la información del certificado:

Figura 14.2: Certificado Digital de paypal

Luego, si hacemos un clic información del certificado aparece la empresa que lo emite y más detalles del certificado:

Page 127: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad IV Daniel Yucra S. / Santiago Gonzáles S.

127 Sistema a Distancia

Figura 14.3: Detalles del Certificado Digital

En ocasiones podemos navegar y ver que al acceder a un sitio web, nos pregunta si queremos aceptar este certificado. Cuando un servidor web de una página hace esto, quiere decir que no es un certificado legal emitido por una CA oficial, pero esto no significa que no sirva para encriptar nuestras comunicaciones hacer seguras. Cuando ocurre esto debemos tener claro cuál es el origen del mismo, ya que si no es de nuestra confianza no debemos decirle que si acepte, ya que entonces nuestro navegador adquiere ese certificado y lo valida como bueno y esto nos puede lleva a estafas.

Lo que ocurre es que solicitar un certificado digital no es gratuito y muchas empresas se crean su propia CA para crear con ella sus propios certificados. Estos se los dan a los usuarios para que los carguen en su navegador para que de esta manera no nos diga que no es un certificado valido y registrado.

Page 128: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad IV Daniel Yucra S. / Santiago Gonzáles S.

128 Sistema a Distancia

Lección 15: Aplicaciones Web Empresariales

15.1 OpenBravo

Es un sistema de gestión empresarial integrado (ERP) que integra procesos de negocio. Es una herramienta empresarial basada en software libre y trabaja en un entorno web, que ofrece una propuesta de valor radicalmente distinta, proporcionando por otros sistemas de gestión empresarial.

El sistema está orientado a pequeñas y medianas empresas que buscan una solución integrada de gestión empresarial de su negocio, que les permita una completa administración de sus operaciones diarias, la optimización de los procesos operativos, el aumento de la satisfacción de sus clientes y, en definitiva, un incremento de su rentabilidad.

Desarrollado bajo el modelo MVC (Modelo Vista Controlador), lo que facilita el desacoplamiento de las áreas de desarrollo, posee módulos SCM, CRM, logística, ventas, gestión de servicios, proyectos, puntos de venta y mucho más.

Openbravo ERP ha sido implantado con éxito en compañías de distinto tamaño, y de sectores y actividades muy diversas. Todo ello ha sido posible gracias a la red cualificada de Partners a los que Openbravo ofrece la oportunidad de desarrollar un negocio realmente diferenciado.

El sitio oficial de OpenBravo es: http://www.openbravo.com

15.2 OpenERP

OpenERP es una potente herramienta para la planificación y gestión de los recursos empresariales, en entorno web. Desde el punto de vista técnico y funcional está preparada para trabajar en casi cualquier proceso de negocio, en donde se precise dar respuesta a las áreas: Gestión Logística y de aprovisionamientos, Gestión comercial y Marketing, Gestión de proyectos, Gestión de la Producción y Gestión Económico-Financiera.

Todo ello en un entorno “multi” es decir, es multi-empresa, multi-idioma, multi-plataforma…,.

Bajo modelo de software libre, la adaptación y personalización a las necesidades de cada proceso de negocio está siempre garantizada, al tiempo que este modelo de desarrollo colaborativo, ha propiciado su crecimiento a nivel mundial, y su rapidísima integración con distintas plataformas

El sitio oficial de Open ERP es: http://www.openerp.com/es

15.3 Intalio BPM

Intalio BPM (Business Process Manager) es un sistema de gestión y automatización de procesos de negocio, basado en software libre y desarrollado íntegramente en eclipse con el lenguaje de programación Java. Está construido en torno a las normas basadas en BPMN (Business Process Modeling Notation) y BPEL (Business Process Execution Language). Proporciona todos los

Page 129: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad IV Daniel Yucra S. / Santiago Gonzáles S.

129 Sistema a Distancia

componentes necesarios para el diseño, despliegue y gestión en cualquier proceso de negocio.

Intalio permite modelar, diseñar, implementar, simular, ejecutar y mejorar procesos de negocios en un entorno web basado en estándares como XML, WSDL, SOAP, XPDL y BPEL. El proceso automatizado es una aplicación web donde interactúan los usuarios.

El sitio oficial de Intalio es: http://www.intalio.com

15.4 Pentaho (Business Intelligence)

Pentaho es una herramienta de Business Intelligence desarrollada bajo la filosofía del software libre para la gestión y toma de decisiones empresariales y trabaja en entorno completamente web. Está compuesta de diferentes programas que satisfacen los requisitos de la Inteligencia de Negocios. Entre los módulos podemos destacar la gestión y análisis de la información, incluyendo el análisis multidimensional con OLAP, presentación de informes, minería de datos y creación de cuadros de mando para el usuario.

La plataforma ha sido desarrollada bajo el lenguaje de programación Java, haciendo así que Pentaho sea una solución muy flexible al cubrir una alta gama de necesidades empresariales.

Los productos destacados ofertados en la Suite de Business Intelligence son los siguientes: Pentaho Data Integration, pentaho Analisys Services, Pentaho Reporting, Pentaho Data Mining y Pentaho DashBoard.

El sitio oficial de Pentaho http://www.pentaho.com/

15.5 OS-Commerce (Comercio Electrónico)

Se trata de una aplicación web basada en software libre que te permite montar una tienda virtual rápidamente y ofrecer productos para vender en Internet. Desarrollado en php y mysql, ha tenido un gran éxito sobre todo para las empresas que inician en el mundo del comercio electrónico.

Consta de dos partes principalmente el front y el back-end, es decir, la parte que vemos todo el mundo, la tienda virtual en sí, y la parte de administración, donde podrás mantener su propia tienda virtual, actualizando productos, insertando nuevas ofertas, categorías, idiomas, monedas, consultar los pedidos, los clientes y sin coste ninguno por parte del vendedor y sin necesidad ninguna de saber programación.

Es uno de los sistemas que constantemente está siendo actualizada por su comunidad, añadiendo contribuciones de todo tipo. Módulos de pago, de envío, contribuciones para el diseño, como templates, así como nuevas funcionalidades, noticias, lector de rss y mucho más.

En la actualidad las empresas de Hosting ofrecen una solución con Os-Commerce ya instalada, aunque es realmente fácil instalar.

El sitio oficial de de OS-Commerce es: http://www.oscommerce.com/

Page 130: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad IV Daniel Yucra S. / Santiago Gonzáles S.

130 Sistema a Distancia

15.6 Liferay (Gestión de contenidos java)

Liferay es un portal de gestión de contenidos basada en la filosofía del software libre escrito en Java. Se ejecuta en la mayoría de los servidores de aplicaciones y contenedores de servlets, base de datos y sistemas operativos, con más de 700 combinaciones posibles. Construido dentro del Sistema de manejo de contenido (CMS) y Suite Colaborativa y páginas personalizadas para todos los usuarios.

Liferay ha servido para crear entornos colaborativos on-line. Actualmente está respaldado por una extensa red de servicios profesionales que ofrece desarrollos a medida, soporte y capacitación.

Liferay ofrece una arquitectura de temas o plantillas, que permite llevar a cabo cambios en la apariencia del portal sin cambiar el código fuente. Es posible desplegar nuevos temas sin necesidad de tener que detener la ejecución al portal.

El sitio oficial de Liferay es: http://www.liferay.com/es/

15.7 Alfresco (Sistema de gestión documental)

Sistema de gestión de contenido empresarial basado en software libre que incluye la gestión de documentos, la gestión de contenidos empresarial. Alfresco desarrolla, comercializa y pone a disposición de los usuarios dos versiones, o ediciones, del producto Alfresco ECM:

- Alfresco Community (edición comunitaria de Alfresco): 100% código abierto, de descarga y uso gratuitos.

- Alfresco Enterprise (edición empresarial de Alfresco): de código abierto, con asistencia comercial y ampliaciones empresariales.

Esta íntegramente desarrollado en Java y funciona en múltiples plataformas, posee una licencia GPL versión 2.

El sitio oficial de Alfresco es: http://www.alfresco.com/

15.8 Drupal (Sistema de Administración de Contenido )

Es un sistema de gestión de contenido modular multipropósito y muy configurable que permite publicar artículos, imágenes, u otros archivos y servicios añadidos como foros, encuestas, votaciones, blogs y administración de usuarios y permisos. Drupal es un sistema dinámico: en lugar de almacenar sus contenidos en archivos estáticos en el sistema de ficheros del servidor de forma fija, el contenido textual de las páginas y otras configuraciones son almacenados en una base de datos y se editan utilizando un entorno Web.

Es un programa libre, con licencia GNU/GPL, escrito en php, desarrollado y mantenido por una activa comunidad de usuarios. Destaca por la calidad de su código y de las páginas generadas, el respeto de los estándares de la web, y un énfasis especial en la usabilidad y consistencia de todo el sistema.

El sitio oficial de drupal es: http://drupal.org/

Page 131: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad IV Daniel Yucra S. / Santiago Gonzáles S.

131 Sistema a Distancia

Lección 16: Sistema Operativo Web

16.1 ¿Qué es el sistema operativo web?

Web Operating System o WebOS es un proyecto de investigación de computación que empezó en la Universidad de California, (Berkeley) para desarrollar un programa para aplicaciones abstractas usadas en Internet. Las abstracciones que provee incluyen:

- Un sistema de archivos que identifica la información mediante localizadores uniformes de recursos (URL).

- Un sistema de nombramiento de recursos independiente de la localización

- Ejecución remota y segura de sus aplicaciones.

- Acceso seguro a la información en un modelo de computación en la nube.

- Transacciones libres de error en el lado del cliente.

La Universidad de Duke, la Universidad de Texas (Austin) y la Universidad de Washigton son las que han iniciado esta línea de investigación.

La característica más sobresaliente de este tipo de escritorio virtual en la web, funcionando en un navegador web como software.

Generalmente, el término WebOS ha sido empleado para referirse a una plataforma que interactúa con el usuario a través del navegador web y no depende del sistema operativo. Tales predicciones datan desde mediados de los 90, cuando Marc Andreessen predijo que Microsoft Windows estaba destinado a ser un "pobre conjunto de drivers ejecutándose en Netscape Navigator.". Recientemente, esta tecnología ha suscitado un importante interés gracias a que Google está produciendo una nueva plataforma. (Revista: Qué pasa, 2006, p. 44).

Los sistemas operativos web generalmente también se los conoce como escritorios Web:

"Un Escritorio Web o Webtop es un sistema de aplicación de red para integrar aplicaciones web en un espacio de trabajo basado en web. Es un escritorio virtual en la web, corriendo en un navegador de web como software. Los escritorios web a menudo están caracterizados por un entorno similar al de Windows, Mac, o Linux, pero ahora se considera que tiene mucha más funcionalidad al depender de la Internet. Los beneficios típicos incluyen la habilidad de guardar trabajo y configuraciones en la Internet en vez de hacerlo en un escritorio local."

Es importante resaltar que no tiene nada que ver este tema con HP WebOS que es un sistema operativo para móviles.

Cuando oímos hablar de Sistemas Operativos en Web, suele ser en futuro. Por eso sorprende encontrar esta lista confeccionada por FranticIndustries (http://franticindustries.com/blog/2006/12/21/big-webos-roundup-10-online-operating-systems-reviewed/), en la que encontramos 10 de estos sistemas que funcionan hoy:

Page 132: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad IV Daniel Yucra S. / Santiago Gonzáles S.

132 Sistema a Distancia

1. Craythur . Completamente nuevo y en español. Tiene un cuidado especial en el diseño de escritorios y ventanas. Sin embargo, las aplicaciones aún están en sus inicios.

2. Desktoptwo . Basado en Flash, requiere registro para probarlo. Las aplicaciones son lentas y falta usabilidad en algunas aplicaciones.

3. EyeOS. Puede descargar los archivos de este sistema operativo para instalarlos en su servidor web y utilizarlos para múltiplos propósitos, los usuarios pueden probar en línea esta aplicación. Es uno de los mejores proyectos de sistema operativo web y ha tenido mucho impacto en la industria tecnológica pro sus avances.

4. Glide . Ofrece en versión gratis y de pago. Basado en Flash, permite subir o almacenar hasta 1GB. Incluye las aplicaciones más comunes, está bien diseñado. Muchas aplicaciones se abren en ventanas emergentes, otras no están bien terminadas en cuanto a los gráficos su proceso de desarrollo va por buen camino.

5. Goowy . Basado en Flash, con muchas aplicaciones construidas y con buena usabilidad. Todo funciona en la misma ventana con una barra de herramientas. Los autores de la selección lo consideran de lejos el mejor de la lista por su funcionalidad, usabilidad y escasos fallos.

6. Orca . Orca está en proceso de desarrolla y no estaba compatible con mozilla firefox e internet explorer en algunas versiones.

7. Purefect . Incluye aplicaciones que imitan el estilo de Windows. A pesar de sus fallos.

8. SSOE. Parece un proyecto con vistas al futuro, el autor ha admitido que lleva construido el 10% del sistema, y de momento ofrece una versión relativamente estable y otra más nueva pero menos estable.

9. XinDESK . Aún no hay disponible una demo o una versión Alpha. Pero según su desarrollador, intenta ser una plataforma abierta, accesible a todos, con aplicaciones que puedan instalarse en cualquier versión de Windows.

10. YouOS . Se ve que hay trabajo serio invertido en este sistema, que cuenta con una serie de aplicaciones útiles y funcionales como un buen cliente de chat, buscador de archivos, lector RSS y otros. El fallo está en el diseño, que no es lo que se dice bonito. La consultora FranticIndustries lo colocan en el segundo puesto.

16.2 EyeOS

EyeOS es un escritorio virtual multiplataforma, libre y gratuito, basado sobre el estilo del escritorio de un sistema operativo. El paquete básico de aplicaciones que vienen por defecto, incluye toda la estructura de un sistema operativo y algunas aplicaciones de tipo suite ofimática como un procesador de textos, un calendario, un gestor de archivos, un chat, un navegador, una calculadora y más. El paquete íntegro está autorizado bajo la licencia libre AGPL. Existe un sitio paralelo que proporciona aplicaciones externas para eyeOS, llamadas eyeApps.

Page 133: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad IV Daniel Yucra S. / Santiago Gonzáles S.

133 Sistema a Distancia

Se trata de un nuevo concepto en almacenaje virtual, el cual se considera como revolucionario al ser un servicio clave para el Web 2.0 ya que dentro de una web que combina el poder del actual HTML, PHP, AJAX y JavaScript para crear un entorno gráfico de tipo escritorio.

La diferencia entre otros entornos escritorio al hacer posible iniciar el escritorio eyeOS y todas sus aplicaciones desde un navegador web. No se requiere instalar ningún software adicional, ya que solo se necesita un navegador que soporte AJAX, Java y Adobe Flash (dependiendo de las aplicaciones que se deseen ejecutar).

El escritorio en la nube de eyeOS presenta, organiza y gestiona los datos, archivos y aplicaciones del usuario.

EyeOS Professional Edition es el camino más rápido para virtualizar entorno de trabajo del usuario en la empresa, a la vez que mantiene todos los datos bajo control en la nube privada de eyeOS. La nueva edición asegura una más alta satisfacción de los usuarios ya que facilita el acceso a su espacio de trabajo desde cualquier dispositivo, mientras que todos sus datos y los archivos se sincronizan y las copias de seguridad se llevan a cabo en un solo lugar en la empresa. Frente a una solución de virtualización de escritorio tradicional, implementando eyeOS Professional Edition la empresa ahorra considerablemente en servidores y licencias de software.

El software, tanto en su versión Open Source como la Professional Edition, es un software enterprise que se instala en los servidores del cliente para prestar servicio a los empleados, colaboradores externos y/o clientes.

El software de eyeOS crea una nube privada, así los datos de los usuarios están en todo momento bajo el control del administrador del sistema. El propio administrador decide cuanto espacio de storage quiere reservar a los usuarios, a qué aplicaciones quiere que accedan, de qué privilegios gozan y de qué funcionalidades pueden disfrutar.

El escritorio de eyeOS es totalmente personalizable, no sólo en términos de aspecto visual sino en la estructura y contenidos de los menús, bien sea en la barra de menús o en las acciones accesibles desde el botón derecho del ratón.

El software está programado en php, Javascript y Ajax. La versión Professional Edition está compilada.

La arquitectura funcional de EyeOS es la que se muestra a continuación:

Page 134: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad IV Daniel Yucra S. / Santiago Gonzáles S.

134 Sistema a Distancia

Figura 14.4: Arquitectura funcional de EyeOS Fuente: http://eyeos.org/es/¿que-es-eyeos/

Page 135: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad IV Daniel Yucra S. / Santiago Gonzáles S.

135 Sistema a Distancia

RESUMEN

La unidad desarrollada describe los retos que generalmente no se aprecian en el contexto de la seguridad de los ordenadores y la red, la descripción de amenazas que estamos expuestos y las medidas adoptar.

En la comunicación con servidores web, que contiene información de suma importancia, es recomendable usar protocolos que utilicen cifrado, como el https que utiliza un cifrado en la comunicación que lo diferencia del protocolo http y del protocolo SET desarrollado por Visa y Mastercard para la realización de transacciones seguras, así mismo de los Certificados Digitales utilizado para el tratamiento de documentos en digital, garantizando la confidencialidad de la información.

Se define un conjunto de aplicaciones Web Empresariales, que permitan accesibilidad, multiplataforma, portable, colaborativas, entre otros; tales como: OpenBravo, OpenERP, Intalio, Alfresco, Drupal, entre otros.

Al término de la unidad se conceptualiza el Sistema Operativo Web cuyo objetivo es proveer una plataforma que permita a los usuarios acceder a los mismos recursos y aplicaciones a través de la nube (Cloud Computing), para ello se ha tomado como ejemplo la plataforma EyeOS.

Page 136: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad IV Daniel Yucra S. / Santiago Gonzáles S.

136 Sistema a Distancia

LECTURA

Internet de las cosas y M2M

Una de los conceptos más citados a la hora de hablar del futuro de la Web es el Internet de las cosas. Este concepto implica que los objetos reciban y emitan información, formando así parte de la red. Dentro del Internet de las cosas es necesario definir y distinguir varios conceptos: los objetos hipervinculados, los objetos inteligentes y la comunicación M2M (machine to machine o máquina a máquina).

Al igual que un hipervínculo o link en un documento nos permite saltar hacia otra web para obtener más información, la idea de objetos hipervinculados se refiere a la capacidad de las cosas de ofrecer información sobre sí mismas a través de Internet. Para conseguir esta capacidad, es necesario etiquetar estos objetos de alguna forma. Conforme la naturaleza de dichas etiquetas, podemos tener varios tipos de objetos hipervinculados:

Etiquetas gráficas . La etiqueta que permite la vinculación a Internet está impresa y es físicamente visible en el objeto (o junto a él). El propio código de barras podría servir como etiqueta hiperviculadora. Por ejemplo, Barcode Scanner es una App de Android (hay otras similares para otros sistemas operativos) que sirve como lector de códigos de barras. Para ello utiliza la cámara del teléfono y el programa muestra opciones para buscar el producto en Internet. Si, por poner un ejemplo, el transformador del cargador de mi equipo portátil ya no funciona, podría utilizar esta App para buscar un lugar donde vendan esa pieza.

Otra opción de etiquetas gráficas son los códigos QR (del inglés Quick Response o respuesta rápida). Estos códigos son similares a los de barras pero cuentan con dos dimensiones en lugar de una (cuadros en lugar de líneas) y por tanto, son capaces de acumular más información. Mientras que un código de barras sólo puede proporcionar un número (el que suele estar escrito debajo del propio código), un código QR puede tener la información suficiente para una URL (o dirección de página web) y por lo tanto enlazarnos directamente con un determinado sitio web, sin que se necesite para ello ningún otro servicio como intermediario.

Hay muchos teléfonos que incorporan ya de serie programas de lectura para estos códigos, que también pueden ser adquiridos en cualquier App Store de los diferentes sistemas operativos. De igual forma, hay multitud de sitios web en los que se puede generar uno de estos códigos para una determinada URL (un ejemplo es www.tgbe.ws). Barrabés, dentro del Plan Avanza del Ministerio de Industria de España, desarrolló en el 2008 un programa, que incluye esta tecnología, para bodegas productoras y comercializadoras de vino, denominado AvanzaVino. Las etiquetas de las botellas (o bien las cajas u otros elementos) incorporan uno de estos códigos que, consultados desde un Smartphone conectado a Internet, ofrece una completa hoja de cata de dicho vino en específico.

Etiquetas transmisoras. La etiqueta que permite la vinculación a Internet no tiene porque ser físicamente visible sino que utiliza transmisión por radio. En este

Page 137: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad IV Daniel Yucra S. / Santiago Gonzáles S.

137 Sistema a Distancia

sentido, la tecnología RFID (siglas de Radio Frequency IDentification, o identificación por radiofrecuencia) es un sistema de almacenamiento y consulta de datos en remoto a través de etiquetas. El propósito fundamental de la tecnología RFID es transmitir la identidad de un objeto mediante ondas de radio.

Se trata de pequeñas etiquetas que se adhieren o incorporan a un producto (o incluso a un animal o a una persona). Algunas cadenas de supermercados ya están realizando pruebas para sustituir los actuales lectores de códigos de barras por este sistema (lo que produciría un paso por caja mucho más rápido al no tener que pasar los productos uno por uno). Además podemos ver un par de aplicaciones que pueden utilizarse ya en casa. Una de ellas es el dispositivo conectado al ordenador, capaz de reconocer los objetos etiquetados que se pongan sobre ella. Una vez identificados, se envía la información a la plataforma online de Violet, y se desencadenan diferentes aplicaciones o acciones (previamente configuradas). Por ejemplo, podemos hacer que cuando acerquemos un determinado libro de cuentos, el sistema busque imágenes o sonidos de ese cuento.

Otra iniciativa similar es Touchatag de Alcatel-Lucent (también francesa). El lector y 10 etiquetas tiene un precio de 29,95€ + impuestos, mientras que 25 etiquetas tienen un precio de 19,95€, y 500 cuestan 379€ (por debajo de un euro la etiqueta).

Una tecnología que parte del RFID y que está teniendo gran desarrollo es el NFC (Near Field Communication o comunicación de campo cercano). Para simplificar, podemos decir que es sistema de RFID que funciona cuando los objetos están muy cerca (menos de diez o veinte centímetros). Lo interesante es que ya hay varios teléfonos en el mercado (de Nokia, Samsung, LG o Motorola, entre otros) capaces de leer estas etiquetas (como las mencionadas de Touchatag). En el capítulo dedicado a los nuevos medios de pago hablaremos un poco más de esta tecnología.

Etiquetas geográficas. En realidad no hay etiqueta como tal sino que se referencia una ubicación (para objetos inmóviles como una estatua o un árbol por ejemplo) y el sistema busca la información correspondiente a ese lugar.

Una vez explicados los objetos hipervinculados, pasamos a los objetos inteligentes que son aquellos que pueden tanto transmitir información o estados en lo que se encuentran (no sólo su identidad), como recibir órdenes para ejecutar acciones.

Es curioso ver cómo cierta evolución de estos objetos inteligentes se ha dado a través de Twitter con iniciativas de lo más variopinto. Algunas parecen buenas ideas y otras simplemente bromas pero la verdad es que siempre hay algún nicho de mercado con gente dispuesta a comprar las cosas más inverosímiles. Ahí van unas cuantas de estas iniciativas:

• KogiBBQ (http://kogibbq.com). A principios del 2009 se hizo bastante conocido el caso de este negocio sobre ruedas que opera en Los Ángeles. Se trata de una camioneta que vende de forma ambulante tacos de comida coreana a la barbacoa. Conforme se mueve va twitteando su posición para atraer a los clientes que estén cerca en ese momento. La cosa funciona, porque su cuenta en Twitter (http://twitter.com/KOGIBBQ) ya cuentan con más de 80.000 seguidores.

Page 138: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad IV Daniel Yucra S. / Santiago Gonzáles S.

138 Sistema a Distancia

• BakerTweet (www.bakertweet.com). A todos nos gusta llegar a la panadería justo en el momento en el que nuestra pieza favorita sale caliente del horno. Esa es la base de BakerTweet, el horno de que avisa por Twitter. El sistema se maneja desde una pequeña caja que se instala junto al horno.

Desde la web de bakertweet, se configuran los diferentes productos que pueden salir del horno, junto con el mensaje asociado a cada uno de ellos. Con un simple movimiento en la pequeña rueda del dispositivo, se emite el tweet correspondiente al producto que vaya a salir del horno en ese momento. El establecimiento pionero en implantar este sistema a principios del 2009 fue el Albion Café de Londres (www.albioncaff.co.uk) a través de http://twitter.com/albionsoven.

Hasta ahora estamos viendo aplicaciones en las que las maquinas sólo hablan (no escuchan) pero no sería nada raro ver comunicación a través de mensajes de Twitter en los que ordenáramos una determinada acción, como regar la planta del ejemplo anterior, o pedir a la casa que encienda la calefacción.

Fuera de estas iniciativas de Twitter también podemos encontrar otros objetos inteligentes, un buen ejemplo sería el sensor Nike+iPod (www.apple.com/es/ipod/nike). Este sensor se coloca en un compartimento bajo la plantilla de la zapatilla y se conecta con el iPod o el iPhone. El sensor hace un seguimiento de la carrera y envía la información al iPod. Es posible elegir un programa determinado con objetivos de tiempo, distancia o calorías, así como una lista de canciones. Durante la carrera, el iPod va informando del tiempo, la distancia, la velocidad y las calorías quemadas, ofreciendo también comentarios tanto al alcanzar la mitad del entrenamiento, como en el tramo final.

Después de la carrera, el iPod se sincroniza con nikeplus.com, lo que permite ver todas las carreras, controlar los progresos, establecer objetivos, así como compartir información con otros usuarios.

En otra novedosa iniciativa, Google tiene disponible en diferentes partes de Estados Unidos, Alemania y Reino Unido, Google PowerMeter que, en alianza con varias compañías eléctricas, permite monitorear el consumo eléctrico del hogar desde cualquier parte, por medio de Internet.

Bienvenida. Web 3.0 Guía para sobrevivir en la Internet del 2011 Eduardo Albalá Ubiergo

Editado por Grupo Barrabés Pp. 118-129

Page 139: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad IV Daniel Yucra S. / Santiago Gonzáles S.

139 Sistema a Distancia

AUTOEVALUACIÓN

1. Una contramedida para la confidencialidad de un sistema web es:

a. Cifrado, proxy web

b. No se puede prevenir

c. Encriptar la base de datos

d. Colocar un Firewall físico

e. Utilizar alguna técnica de criptografía

1. El protocolo Kerberos se encuentra ubicado en el nivel de:

a. Red

b. Físico

c. Transporte

d. Aplicación

e. Sesión

2. El protocolo SET actúa solo en el nivel:

a. Transporte

b. Red

c. Transporte

d. Físico

e. Aplicación

4. El comando htpasswd nos permite:

a. crear usuarios web

b. Proteger el navegador web

c. crear un archivo de contraseñas

d. Crear password para el sistema Linux

e. Crear usuarios para el protocolo HTTP

5. El puerto del protocolo HTTPS es:

a. 442

b. 443

c. 8080

d. 80

e. 43

Page 140: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad IV Daniel Yucra S. / Santiago Gonzáles S.

140 Sistema a Distancia

6. El protocolo SET utiliza el estándar:

a. SSL

b. Kerberos

c. TSL

d. XML

e. Socket

7. OpenBravo es una aplicación empresarial del tipo :

a. CMS

b. LMS

c. Gestión documental

d. ERP

e. BI

8. Intalio es una solución del tipo:

a. ERP

b. SCM

c. ERP

d. BPM

e. BI

9. OS-Commerce ha sido desarrolla en el lenguaje:

a. Java

b. Php

c. Python

d. C#

e. ASP

10. EyeOS está desarrollado con las siguientes tecn ologías:

a. HTML - PHP - AJAX

b. HTML - Java - AJAX

c. HTML - JSP - AJAX

d. Solo PHP

e. PHP - AJAX - XML

Page 141: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad IV Daniel Yucra S. / Santiago Gonzáles S.

141 Sistema a Distancia

RESPUESTAS DE CONTROL

1. a 2. d 3. c 4. c 5. b 6. a 7. d 8. d 9. b 10. a

Page 142: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad IV Daniel Yucra S. / Santiago Gonzáles S.

142 Sistema a Distancia

EJERCICIOS PROPUESTOS

1. Implementar un Servidor Web utilizando el protocolo HTTPS

2. Implementar el ERP Openbravo y describa los módulos de SCM, CRM y Ventas

3. Implementar una tienda virtual para productos deportivos, utilizando OS-Commerce

4. Implementar el CMS Drupal y hacer una breve comparación con el CMS Joomla.

5. Implementar EyeOS, y mencionar sus ventajas como sistema operativo web

Page 143: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad IV Daniel Yucra S. / Santiago Gonzáles S.

143 Sistema a Distancia

EXPLORACIÓN ON LINE

• URL: http://httpd.apache.org/docs/2.2/howto/htaccess.html#how

Puede encontrar una guía oficial sobre el uso de htaccess para el servidor web httpd 2.2

• URL: http://www.arcert.gov.ar/webs/manual/manual_de_seguridad.pdf

Un manual sobre seguridad en redes

• URL: http://www.iec.csic.es/criptonomicon/ssl.html

Sitio web del Departamento de Tratamiento de la Información y Codificación del Instituto de Física Aplicada del Consejo Superior de Investigaciones Científicas de España, que explica de manera detalla el protocolo SSL

• URL: http://www.cl.cam.ac.uk/~lp15/papers/Auth/SET-overview-2002.pdf

Paper original sobre el protocolo de Secure Electronic Transaction (SET), planteado por Lawrence C. Paulson del Computer Laboratory, University of Cambridge

• URL: http://tools.ietf.org/html/rfc2818

Este documento describe cómo utilizar TLS para garantizar las conexiones HTTP más Internet. La práctica actual es la capa HTTP.

Page 144: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad IV Daniel Yucra S. / Santiago Gonzáles S.

144 Sistema a Distancia

REFERENCIA BIBLIOGRÁFICA

Colobran, M. (2008) Administración de sistemas operativos en red. Barcelona: Editorial UOC.

España, M.C. (2003) Servicios avanzados de telecomunicaciones. Madrid: Ediciones Díaz de santos, S.A.

Revista IDEA (2000) Protocolos SET. Editorial IberLibro.

Revista: Qué pasa (2006) WebOS. Editorial IberLibro.

Stallings, W. (2003) Fundamentos de Seguridad en Redes (Segunda Edición). Madrid: Pearson Educación, S.A.

Page 145: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad IV Daniel Yucra S. / Santiago Gonzáles S.

145 Sistema a Distancia

BIBLIOGRAFÍA COMENTADA

- Molcalvo, A. (2007) Administración de Negocios Digitales. Editorial Libros en red.

Revisar el capítulo y sobre la diferencia de aplicaciones de e-commerce y e-bussiness además del capítulo 8, sobre estrategias digitales

- Cabrera, M. A. (2010) Evolución tecnológica y cibermedios. Zamora: Ediciones Comunicación Social.

Revisar la unidad 5, sobre los efectos de la tecnología sobre la participación de las audiencias.

- Bravo, C. y Redondo, M.A. (2005) Sistemas interactivos y colaborativos en la web. Castilla de la Mancha: Ediciones de la Universidad Castilla de la Mancha.

Revisar el capítulo 1, sobre el diseño y desarrollo de aplicaciones colaborativas y la página 51, sobre herramientas y técnicas para la construcción de sistemas colaborativos.

- Stallings, W. (2003) Fundamentos de Seguridad en Redes (Segunda Edición). Madrid: Pearson Educación, S.A.

Revisar el capítulo 2, sobre criptografía de clave pública y autentificación de mensajes. Además revisar el capítulo 4 sobre aplicaciones de autentificación.

- Asensio, G. (2006) Seguridad en Internet: una guía práctica y eficaz para proteger su PC con software gratuito. Madrid: Ediciones Nowtilus S.L.

Revisar la unidad 2, sobre seguridad informática para todos, unidad 11 sobre Amenazas en Internet.

Page 146: Manual de Tecnologías Web 2015

Tecnologías Web (E) - Unidad IV Daniel Yucra S. / Santiago Gonzáles S.

146 Sistema a Distancia

GLOSARIO

API Application Programming Interface

BPEL4WS Business Process Execution Language for Web Services

GPL General Public License

HTML Hyper Text Markup Language

HTTP Hyper Text Transfer Protocol

JDBC Java Data Base Connectivity

JNDI Java Naming Directory Interface

LGPL Lesser General Public License

OWL Ontology Web Language

RMI Remote Method Invocation

RPC Remote Procedure Call

SAX Simple API for XML

SOAP Simple Object Access Protocol

UDDI Universal Description, Discovery and Integration

URL Uniform Resource Locator

WSP Web Services Proveedor

WSC Web Services Consumidor

WSDL Web Service Definition Language

WWW World Wide Web

XML Extensible Markup Language

XSD XML Schema Definition

XSL Extensible Stylesheet Language