Introducción a la tecnología webmural.uv.es/maromo3/downloads/ITWxtema3.pdf · Introducción a la...

65
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

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

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

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

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

¿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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

¿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

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

¿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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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”

PRINT

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

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

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

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

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

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

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

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

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