Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la...
Transcript of Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la...
![Page 1: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/1.jpg)
Máster en Sistemas y Servicios en la Sociedad de la Información
Especialidad Derecho y Tecnologías de la Información y Comunicaciones
Introducción a la tecnología web
![Page 2: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/2.jpg)
Web y Lenguajes de programación
Introducción a la tecnología web (parte 3)
![Page 3: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/3.jpg)
World Wide Web
o El triunfo de la anarquía
o La (limitada) visión inicial del WWW tiene muypoco que ver con lo que es su (impresionante)realidad actual.
o Los usuarios de la web han innovado de maneraconsistente inventando nuevas formas de aplicaciónde este potente medio de comunicación.
o Los desarrolladores de la Web intentan ampliar(parchear) la infraestructura para soportar losnuevos usos.
Introducción a la tecnología web (parte 3)
![Page 4: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/4.jpg)
¿Cómo se inicio?
o Tim Barnes Lee (CERN, 1989).
o Repositorio estático de documentos:
o Una forma cómoda de acceder a documentos estáticosinterrelacionados almacenados en servidoresdistribuidos alrededor del mundo.
o La especificación inicial incluía:
o Un lenguaje para dar formato a los documentos(HTML).
o Un protocolo sencillo para comunicar navegadores(clientes) y servidores (HTTP).
Introducción a la tecnología web (parte 3)
![Page 5: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/5.jpg)
El primer navegador gráfico
o En 1993 Marc Andreesen (estudiante) escribe
Mosaic. Precursor de Netscape.
Introducción a la tecnología web (parte 3)
![Page 6: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/6.jpg)
Cómo funciona la web
Introducción a la tecnología web (parte 3)
Servidor de nombres
(DNS)
Servidor WebCliente Web
(Mosaic, Netscape,
Internet Explorer, Firefox, etc.)
Internet
Abrir dirección “http://www.uv.es/mastic/index.html”
![Page 7: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/7.jpg)
Estructura de un URL
Introducción a la tecnología web (parte 3)
URL = Uniform Resource Locator
http://www.uv.es/mastic/index.html
Nombre del protocolo de comunicación
con el servidor
(http es el estándar para web)
Nombre del dominio del servidor web
donde se almacena el documento (página)
Localización del documento dentro del
sistema de archivos del servidor web
![Page 8: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/8.jpg)
Cómo funciona la web
Introducción a la tecnología web (parte 3)
Servidor de nombres
(DNS)
Servidor Web
Cliente Web
(Mosaic, Netscape,
Internet Explorer, Firefox, etc.)
Internet
Abrir dirección “http://www.uv.es/mastic/index.html”
Buscando
host:
www.uv.es
¿Dirección IP
de www.uv.es?
147.156.11.1
![Page 9: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/9.jpg)
Cómo funciona la web
Introducción a la tecnología web (parte 3)
Servidor de nombres
(DNS)
Servidor Web
Cliente Web
(Mosaic, Netscape,
Internet Explorer, Firefox, etc.)
Internet
Abrir dirección “http://www.uv.es/mastic/index.html”
Envíame el documento
mastic/index.html
Conectando
con:
www.uv.es
![Page 10: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/10.jpg)
WWW es un sistema Cliente/Servidor
o Clientes Web:
o Utilizan el protocolo HTTP para conectar con los servidores.
o Solicitan y muestran las páginas web almacenadas en los
servidores.
o Clientes típicos: navegadores web.
o Servidores Web:
o "Escuchan" conexiones entrantes desde clientes.
o Utilizan el protocolo HTTP para conversar con los clientes.
o Almacenan y transmiten páginas web a los clientes.
Introducción a la tecnología web (parte 3)
![Page 11: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/11.jpg)
El concepto original WWW
o Lectores humanos acceden a documentos estáticos
interconectados.
o Principal ventaja:
o Universalidad
o Principal desventaja:
o Falta de interactividad
Introducción a la tecnología web (parte 3)
![Page 12: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/12.jpg)
Hagamos una página web
Introducción a la tecnología web (parte 3)
Act.1
![Page 13: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/13.jpg)
Evolución de la web
o Posibilita transacciones.
o Permite interactividad entre navegador y servidor.
o Permite personalización.
o Soporta múltiples dispositivos de navegación.
o Mejor organización y recuperación de contenidos
Web.
o Soporta aplicaciones B2B (negocio a negocio).
Introducción a la tecnología web (parte 3)
![Page 14: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/14.jpg)
La web facilita las transacciones
o Mecanismo barato que permite a los clientes
conectarse al sistema de la empresa:
o Registro de clientes / Cambio de direcciones
o Seguimiento de pedidos / Soporte al cliente
o Transacciones online: comercio electrónico (eCommerce)
o Cómo se consigue tecnológicamente: …
Introducción a la tecnología web (parte 3)
![Page 15: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/15.jpg)
Formularios web (Web Forms)
o Páginas que contiene campos a cumplimentar por el
usuario.
o Normalmente poseen un botón "enviar" (Submit).
o Cuando el usuario pulsa "Enviar" el servidor
responde enviando una página con información
específica sobre los datos proporcionados.
o Ejemplo:
o Herramientas de búsqueda en la web
o Formularios de pedidos en web comerciales
Introducción a la tecnología web (parte 3)
![Page 16: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/16.jpg)
Formularios web (2)
o El servidor envía la página html original conteniendo loscampos de entrada.
o El usuario completa los campos y pulsa el botón de envío.
o El cliente establece una conexión con un programa en elservidor que procesará los datos (el nombre del programaestá contenido en la página web).
o El cliente recopila los datos de entrada del usuario enforma de cadena y lo envía con una orden HTTP alservidor:
o POST cliente=Jesus+Albert&tarjeta=1234&expira=01/08
o El programa en el servidor lee la cadena de datos y,generalmente, produce como resultado una nueva página.
Introducción a la tecnología web (parte 3)
Act.2
![Page 17: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/17.jpg)
CGI
o CGI = Common Gateway Interface
o Conjunto de normas para escribir programas en el
servidor.
o Cómo funciona:
o Todas las URL que hacen referencia a un directorio
especial (p.ej. /cgi) provocan la ejecución del
correspondiente programa en el servidor.
o Los programas pueden estar escritos en diferentes
lenguajes de programación.
Introducción a la tecnología web (parte 3)
![Page 18: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/18.jpg)
ASP
o ASP = (Microsoft) Active Server Pages
o Es una tecnología "competidora" con los CGI
o Utiliza un lenguaje propio similar a Visual Basic
o Requiere un servidor web de Microsoft.
Introducción a la tecnología web (parte 3)
![Page 19: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/19.jpg)
Evolución de la web
o Posibilita transacciones.
o Permite interactividad entre navegador y servidor.
o Permite personalización.
o Soporta múltiples dispositivos de navegación.
o Mejor organización y recuperación de contenidos
Web.
o Soporta aplicaciones B2B (negocio a negocio).
Introducción a la tecnología web (parte 3)
![Page 20: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/20.jpg)
La Web interactiva
o Permite interacciones complejas entre el usuario y
los servidores de empresa.
o La Web se convierte en una extensión del
ordenador personal del usuario.
o El navegador web se convierte en una ventana de
acceso a una gran variedad de aplicaciones
empresariales.
Introducción a la tecnología web (parte 3)
![Page 21: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/21.jpg)
Problemas con Formularios/CGI/ASP
o En los 3 casos el procesamiento se realiza en el
servidor.
o No es posible una interacción rápida con la página
web.
o Es necesario el procesamiento local (en el cliente)
para crear páginas web altamente interactivas.
Introducción a la tecnología web (parte 3)
![Page 22: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/22.jpg)
Java Applets
o Programas escritos en Java que se descargan en elcliente desde una página web y que se ejecutan enel ordenador del usuario.
o Los Applets son independientes de la máquina(plataforma):
o Se pueden ejecutar igualmente en Windows XP,Windows Vista, Linux, Mac OS.
o OJO!: Requieren navegadores que soporten Java. Esdecir, que incluyan un intérprete que traduzca allenguaje máquina.
Introducción a la tecnología web (parte 3)
![Page 23: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/23.jpg)
Introducción a la tecnología web (parte 3)
internetLinux
Windows XP
Windows Vista
Mac OS
Servidor
página
HTML
applet
Java
intérprete
HTML
intérprete
Java
Netscape (WinXP)
SO WinXP
Hardware PC
página
HTML
applet
Java
intérprete
HTML
intérprete
Java
Netscape (MacOS)
MacOS
Hardware PowerMac
Entornos de
Clientes
=
dife
ren
tes
![Page 24: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/24.jpg)
Evolución de la web
o Posibilita transacciones.
o Permite interactividad entre navegador y servidor.
o Permite personalización.
o Soporta múltiples dispositivos de navegación.
o Mejor organización y recuperación de contenidos
Web.
o Soporta aplicaciones B2B (negocio a negocio).
Introducción a la tecnología web (parte 3)
![Page 25: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/25.jpg)
Interacción personalizada
o Mecanismo barato para recopilar información
sobre los clientes que permite:
o Servicio personalizado,
o Publicidad específica, etc.
o Las técnicas tradicionales no permiten una sencilla
identificación de los distintos clientes.
Introducción a la tecnología web (parte 3)
![Page 26: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/26.jpg)
Cookies
o Son un método para identificar a los usuarios web yproporcionarles páginas web personalizadas.
o La primera vez que el usuario accede al portal web serecopila información personaliza del mismo.
o El servidor "empaqueta" la información en una "cookie" y laenvía en forma de archivo al navegador del cliente, que laalmacena en el sistema de archivos.
o Cada vez que el usuario se conecta al mismo portal web elnavegador envía la "cookie" al servidor como identificaciónpersonalizada.
o El servidor utiliza la información de la "cookie" parapersonalizar las páginas enviadas al usuario.
Introducción a la tecnología web (parte 3)
![Page 27: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/27.jpg)
Cookies
o Son un método para identificar a los usuarios web yproporcionarles páginas web personalizadas.
o La primera vez que el usuario accede al portal web serecopila información personaliza del mismo.
o El servidor "empaqueta" la información en una "cookie" y laenvía en forma de archivo al navegador del cliente, que laalmacena en el sistema de archivos.
o Cada vez que el usuario se conecta al mismo portal web elnavegador envía la "cookie" al servidor como identificaciónpersonalizada.
o El servidor utiliza la información de la "cookie" parapersonalizar las páginas enviadas al usuario.
Introducción a la tecnología web (parte 3)
¿¿¿¿ Privacidad ????
![Page 28: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/28.jpg)
Cookies: Ejemplo
Introducción a la tecnología web (parte 3)
Act.3
![Page 29: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/29.jpg)
Evolución de la web
o Posibilita transacciones.
o Permite interactividad entre navegador y servidor.
o Permite personalización.
o Soporta múltiples dispositivos de navegación.
o Mejor organización y recuperación de contenidos
Web.
o Soporta aplicaciones B2B (negocio a negocio).
Introducción a la tecnología web (parte 3)
![Page 30: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/30.jpg)
Múltiples dispositivos de acceso
o Actualmente es posible acceder a la web mediante:
o Ordenadores personales,
o PDA,
o Teléfono móvil, etc…
o Problemas:
o Cada dispositivo tiene diferentes requisitos de
visualización.
o HTML especifica formato pensando en PCs.
Introducción a la tecnología web (parte 3)
![Page 31: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/31.jpg)
Organizar e indexar contenidos
o La Web es poco útil si somos incapaces de localizar
recursos de información interesantes.
o Solución actual: Buscadores
o Indexan (categorizan) la Web de manera automática
organizando las páginas en función de palabras clave
localizadas en su texto.
Introducción a la tecnología web (parte 3)
![Page 32: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/32.jpg)
¿Cómo funciona un buscador?
o Incluso antes de introducir una consulta:
o Hay programas (web crawlers, spiders) que siguen losenlaces entre páginas en toda la web.
o Los programas construyen índices con qué palabrasaparecen en qué páginas y guardan esos índices en"granjas" de servidores en la sede de la empresa"buscadora".
o A cada página también se le asigna una puntuaciónbasada en el número de referencias que tiene.
o Páginas que son enlazadas desde otras muchas páginasreciben puntuacione más elevadas.
Introducción a la tecnología web (parte 3)
![Page 33: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/33.jpg)
Valoración de páginas de Google
o V(A) = (1-d) + d . [V(p1)/C(p1) + … + V(pn)/C(pn)]
o Donde:
o V indica valoración de la página,
o p1.. pn son páginas que enlazan con la página A,
o C es el número de enlaces externos que tiene una página,
o d es un factor, normalmente 0,85
o En otras palabras:
o V(A) = 0,15 + 0,85 * (una contribución de la
valoración de todas las páginas que referencian a la
página A)
Introducción a la tecnología web (parte 3)
![Page 34: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/34.jpg)
¿Cómo funciona un buscador? (2)
o Después de introducir una consulta:
o Hay programas que comprueban los índices para
determinar que páginas contienen la combinación de
palabras introducidas.
o El buscador proporciona como resultado un listado de
esas páginas por orden de valoración.
o El orden suele depender también de otros factores
Introducción a la tecnología web (parte 3)
![Page 35: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/35.jpg)
Google en cifras
o Aproximadamente 5 mil millones de páginascompletamente indexadas (promedio de 10Kb deinformación por página).
o Miles de PCs en un cluster.
o Varias decenas de clusters.
o Aproximademente 1 petabyte de datos por cluster.
o Transferencias sostenidas del orden de Gbps en uncluster.
o Estimación de que 2 máquinas por día van a fallar.
Introducción a la tecnología web (parte 3)
![Page 36: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/36.jpg)
Evolución de la web
o Posibilita transacciones.
o Permite interactividad entre navegador y servidor.
o Permite personalización.
o Soporta múltiples dispositivos de navegación.
o Mejor organización y recuperación de contenidos
Web.
o Soporta aplicaciones B2B (negocio a negocio).
Introducción a la tecnología web (parte 3)
![Page 37: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/37.jpg)
Soporte para aplicaciones B2B
o La web original estaba concebida para comunicarmáquinas y seres humanos.
o Se pueden generar nuevas aplicaciones si lasmáquinas pueden entender automáticamentepáginas web.
o "mi sistema de compras se entiende con tu sistema deventas"
o Problemas:
o HTML es un lenguaje desestructurado orientado a lapresentación y no a los contenidos.
Introducción a la tecnología web (parte 3)
![Page 38: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/38.jpg)
Problema subyacente
o Cuando se almacena un documento en la web se
necesita no sólo especificar su apariencia, sino
también su significado (semántica).
Introducción a la tecnología web (parte 3)
![Page 39: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/39.jpg)
Hacia la Web Semántica
o La web del futuro debe establecer la infraestructura paraespecificar información de forma precisa, legible por el serhumano e interpretable por una máquina.
o Debe permitir la interoperabilidad entre aplicaciones Web(independientemente desarrolladas), facilitando larealización de tareas complejas.
o Debe permitir el acceso a recursos Web en función de susemántica y no por palabras clave.
o Debe permitir la inferencia:
o “Jesús es profesor titular en la Universitat de València”
o “Los profesores titulares ocupan un puesto de trabajo estable”
o “Jesús tiene un puesto de trabajo estable en la Universitat deValència”
Introducción a la tecnología web (parte 3)
![Page 40: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/40.jpg)
eXtensible Markup Language
XML
Introducción a la tecnología web (parte 3)
![Page 41: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/41.jpg)
W3C
o World Wide Web Consortium
o Fundado en 1994 por Tim Barnes Lee.
o Objetivos del Consorcio:
o Guiar el uso y ampliación de la web medianteRecomendaciones consensuadas por la comunidadinternacional.
o Asegurar la estabilidad de la web y el accesouniversal a ella.
o Las Recomendaciones del W3C son estándares defacto en la comunidad web.
Introducción a la tecnología web (parte 3)
![Page 42: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/42.jpg)
Qué es XML
o Lenguaje de marcas (en realidad, un metalenguaje)
con un formato consistente, que permite
intercambiar datos por medio de cualquier
programa, en no importa qué lenguaje o
plataforma.
o Utiliza etiquetas que tienen un sentido semántico.
o "esto es una dirección"
Introducción a la tecnología web (parte 3)
![Page 43: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/43.jpg)
Ejemplo de documento
Introducción a la tecnología web (parte 3)
<! Ejemplo de documento -->
<universidad>
<nombre>
Universitat de València
</nombre>
<departamento>
<nombre>
Departamento de Informática
</nombre>
<direccion>
Av. Vicente Andrés Estellés s/n
</direccion>
</departamento>
</universidad>
![Page 44: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/44.jpg)
Familia XML
o Esquemas XML: definen la estructura y semántica de
los documentos.
o Qué entidades pueden aparecer en un documento
XML.
o Naturaleza de los datos y restricciones.
o XPath, XPointer: localización de elementos en
documentos.
o XLink, XBase, XInclude: permiten la inclusión y
vinculación entre documentos.
Introducción a la tecnología web (parte 3)
![Page 45: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/45.jpg)
Familia XML (2)
o XQuery: consultas sobre documentos.
o XSLT: eXtended Stylesheet Language Tranformation.
Lenguaje basado en reglas para la transformación
de documentos XML en otro formato, de acuerdo
con una hoja de estilos
Introducción a la tecnología web (parte 3)
![Page 46: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/46.jpg)
Ejemplo de transformación de XML
Introducción a la tecnología web (parte 3)
<?xml version = “1.0”?>
<?xml-stylesheet type = “text/xsl” href = “intro.xsl”?>
<miMensaje>
<mensaje> Prueba de XSLT </mensaje>
</miMensaje>
<?xml version = “1.0”?>
<xsl:stylesheet version = “1.0”
xmlns:xsl = “http://www.w3c.org/199/XSL/Transform”>
<xsl:template match = “miMensaje”>
<html>
<body><xsl:value-of select = “mensaje”/></body>
</html>
</xsl:template>
</xsl:stylesheet>
intro.xml
intro.xsl
![Page 47: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/47.jpg)
La transformación
Introducción a la tecnología web (parte 3)
<html>
<body>Prueba de XSLT</body>
</html>
intro.xml
DATOS
intro.xsl
VISUALIZACIÓN/TRANSFORMACIÓNPrueba de XSLT
intro.xml
Act.4
![Page 48: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/48.jpg)
Lenguajes de programación
Introducción a la tecnología web (parte 3)
![Page 49: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/49.jpg)
Tipos de software (programas)
o Software de sistema:
o Sistemas operativos,
o Lenguajes de programación,
o Sistemas de bases de datos, …
o Software de aplicación:
o Tareas de oficina (procesador de textos, hoja de
cálculo, etc.),
o Contabilidad,
o Diseño gráfico, …
Introducción a la tecnología web (parte 3)
![Page 50: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/50.jpg)
Lenguajes de programación
o Todo el software se ha construido utilizando un
lenguaje de programación.
o Tipos de lenguajes de programación:
o Lenguaje máquina
o Ensamblador
o Lenguajes de alta nivel
o Cualquier programa para poder ejecutarse en el
ordenador debe de estar traducido a lenguaje
máquina.
Introducción a la tecnología web (parte 3)
![Page 51: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/51.jpg)
Lenguaje Máquina
o Lenguaje binario.
o Dependiente de la máquina (CPU).
o Ejemplo:
o 00010101100010100101….
Introducción a la tecnología web (parte 3)
![Page 52: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/52.jpg)
Lenguaje Ensamblador
o Traducción literal del lenguaje máquina peroutilizando elementos simbólicos:
o Leng. Alfanumérico.
o Palabras reservadas para las operaciones, en lugar decódigos binarios.
o Almacenamiento simbólico, nombres de variables, enlugar de direcciones de memoria.
o Ejemplo:
o store w
o load b
o add b
Introducción a la tecnología web (parte 3)
![Page 53: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/53.jpg)
Traducción de Ensamblador a Máquina
Introducción a la tecnología web (parte 3)
get x
add y
store z
…
11001000100
01100100011
10001011001
…
Ensamblador
Programa en
Leng. Ensamblador
(“código Fuente”)
Programa en
Leng. Máquina
(“código Objeto”)
![Page 54: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/54.jpg)
Un programa en ensamblador
Introducción a la tecnología web (parte 3)
Instrucciones Reconocidas
por el procesador (CPU)
Cód. Op. Simbólico
000 stop
1xx add
2xx substract
3xx store
5xx load
901 get
902 put
Leng. máquina Leng. ensamblador
Leng. Máquina
(Código objeto)
Posición Instrucción
00 901
01 398
02 901
03 399
04 598
05 199
06 902
07 000
Leng. Ensamblador
(Código fuente)
Paso Instrucción
00 get
01 store w
02 get
03 store b
04 load w
05 add b
06 put
07 stop
w = w + b
![Page 55: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/55.jpg)
Lenguajes de alto nivel
o Poseen elementos que les aproximan a la forma en
que las personas piensan.
o Las instrucciones no corresponden a instrucciones del
lenguaje máquina.
o Son de propósito general.
o Ejemplo:
o z = x + y
Introducción a la tecnología web (parte 3)
![Page 56: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/56.jpg)
Ejemplos de leng. de alto nivel
o Fortran
o Visual Basic
o C/C++
o Java
Introducción a la tecnología web (parte 3)
![Page 57: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/57.jpg)
Ejemplo 1: Basic
Introducción a la tecnología web (parte 3)
CLS
PRINT “ESTE PROGRAMA CALCULA LA MEDIA DE LOS ENTEROS INTRODUCIDOS.”
PRINT “ESCRIBE 999 PARA INDICAR EL FINAL DE LOS DATOS”
SUMA=0
CONT=0
PRINT “INTRODUCE UN NUMERO”
INPUT NUMERO
DO WHILE NUMERO <> 999
SUMA=SUMA+NUMERO
CONT=CONT+1
PRINT “INTRODUCE EL SIGUIENTE NUMERO”
INPUT NUMERO
LOOP
MEDIA=SUMA/CONT
PRINT “LA MEDIA ES:”; MEDIA
END
![Page 58: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/58.jpg)
Ejemplo 2: C++
Introducción a la tecnología web (parte 3)
#include <iostream.h>
main()
{
float media;
int numero, cont = 0;
int suma = 0;
cout << “ESTE PROGRAMA CALCULA LA MEDIA DE LOS ENTEROS INTRODUCIDOS.”;
cout << “ESCRIBE 999 PARA INDICAR EL FINAL DE LOS DATOS”;
cout << “INTRODUCE UN NUMERO”;
cin >> numero;
while (numero != 999)
{
suma = suma + numero;
cont++;
cout << “INTRODUCE EL SIGUIENTE NUMERO”;
cin >> numero;
}
media = suma / cont;
cout << “LA MEDIA ES:” << media;
}
![Page 59: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/59.jpg)
Ejemplo 3: Java
Introducción a la tecnología web (parte 3)
import java.io.*;
import java.lang.*;
class MediaNumeros {
public static void main(String[] args) {
float media;
int cont = 0, suma = 0;
System.out.println (“ESTE PROGRAMA CALCULA LA MEDIA DE LOS
ENTEROS INTRODUCIDOS. ESCRIBE 999 PARA INDICAR EL FINAL DE LOS DATOS”);
try {
BufferedReader in = new BufferedReader (new InputStreamReader (system.in));
String cin = “0”;
System.out.println (“INTRODUCE UN NUMERO”);
while ( !(cin=in.readLine()).equals(“999”)) {
suma = suma + Integer.parseInt (cin);
cont++;
System.out.println ( “INTRODUCE EL SIGUIENTE NUMERO”);
}
in.close();
media = suma / cont;
System.out.println (“LA MEDIA ES:” + media);
}
catch (IOException e) {
System.out.println (“Error”);
}
}
}
![Page 60: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/60.jpg)
Traducción de Lenguaje AN a Máquina
Introducción a la tecnología web (parte 3)
z = x + y
…
11001000100
01100100011
10001011001
…
Compilador
Programa en
Leng. de Alto Nivel
(“código Fuente”)
Programa en
Leng. Máquina
(“código Objeto”)
Intérprete
Act.5
![Page 61: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/61.jpg)
Compilador vs. Intérprete
o El compilador traduce todo el programa fuente y
genera una versión en lenguaje máquina del
programa que es directamente ejecutable.
o Visión global del problema.
o Más eficiente
o El intérprete traduce y ejecuta una a una las
instrucciones del programa fuente.
o Visión local del problema.
o Menos eficiente, más sencillo.
Introducción a la tecnología web (parte 3)
![Page 62: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/62.jpg)
Programación orientada a objetos
o Un tipo especial de lenguajes de alto nivel
o Incrementa la posibilidad de "reutilización" de
software.
o Combina datos y operaciones en los llamados
"objetos".
o La mayoría de los lenguajes más utilizados
actualmente son orientados a objetos.
o Java es un lenguaje orientado a objetos.
Introducción a la tecnología web (parte 3)
![Page 63: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/63.jpg)
Java
o Java es el lenguaje "de moda" actualmente.
o Portabilidad: Si el ordenador tiene instalada una
"máquina virtual de Java" puede ejecutar cualquier
programa escrito en Java
Introducción a la tecnología web (parte 3)
Código fuente
progr.java
Byte Code
progr.class
javac
Código
ejecutable
java
![Page 64: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/64.jpg)
Java (2)
o Java y Web:
o Las aplicaciones tradicionales basadas en Web se
ejecutan en el servidor y el resultado es enviado al
cliente.
o Los applets de Java se descargan en el cliente y es allí
donde se ejecutan.
o Lenguaje "seguro".
Introducción a la tecnología web (parte 3)
![Page 65: Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la tecnología web. Web y Lenguajes de programación Introducción a la tecnología](https://reader033.fdocuments.net/reader033/viewer/2022050403/5f807894e9a35c607a6df369/html5/thumbnails/65.jpg)
Introducción a la tecnología web (parte 3)
internetLinux
Windows XP
Windows Vista
Mac OS
Servidor
página
HTML
applet
Java
intérprete
HTML
intérprete
Java
Netscape (WinXP)
SO WinXP
Hardware PC
página
HTML
applet
Java
intérprete
HTML
intérprete
Java
Netscape (MacOS)
MacOS
Hardware PowerMac
Entornos de
Clientes
=
dife
ren
tes