Sistemas Distribuidos Basados en la WEB

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Sistemas Distribuidos Basados en la WEB"

Transcripción

1 Sistemas Distribuidos Basados en la WEB Andrew Tanembaum M. L. Liu Buyya Dilleym Maggs, et all Globally Distributed Content Delivery Aplicaciones en Internet La aplicación distribuida más conocida es la World Wide Web o la Web Se trata de un sistema distribuido de servidores HTTP y clientes WEB para acceder a documentos vinculados. La web nació gracias a Tim Berners-Lee a finales de 1990 en el CERN, el laboratorio Europeo de Física de partículas de Suiza. Aplicaciones en Internet La idea era permitir que un grupo numeroso de investigadores, dispersos geográficamente tuviera acceso a documentos compartidos. Vinculando los documentos entre sí, fue fácil integrarlos desde diferentes proyectos en un nuevo documento sin necesidad de realizar cambios centralizados. 1

2 Aplicaciones en la Internet Actualmente, con la introducción de servicios se está viendo el surgimiento de un enorme sistema de distribución donde se están utilizando, componiendo y ofreciendo servicios a cualquier usuario o aplicación que sea capaz de utilizarlos. Arquitectura El WWW es una aplicación cliente/servidor basada en el protocolo HTTP (hypertext Transfer Protocol, Protocolo de Transferencia de Hipertexto) Un servidor WEB es un servidor orientado a conexión que implementa HTTP y que por defecto ejecuta en el puerto 80. Arquitectura La parte central de un sitio WEB está conformada por un proceso que tiene acceso a un sistema de archivos local que guarda documentos. El modo más simple de referirse a un documento es por medio de una referencia llamada localizador uniforme de recursos (URL). El URL especifica la localización del documento, a menudo incluye: el nombre DNS de su servidor junto con el nombre del archivo, mediante el cual el servidor puede buscar el documento en el sistema de archivos local. 2

3 Arquitectura Un usuario ejecuta un cliente WWW (normalmente conocido como navegador) en una máquina local. Un navegador es responsable de desplegar adecuadamente los documentos solicitados por el cliente. También acepta entradas del usuario, en su mayor parte para permitirle seleccionar referencias a otros documentos, los cuales el navegador busca y despliega. Client machine Browser Server machine Web server 2. Server fetches document from local file OS 3. Response 1. Get document request (HTTP) Documentos Web - Todo en la web llega en forma de documento. - Un documento no sólo contiene texto simple, sino que puede poseer características dinámicas tales como: audio, video, animaciones, etc. En la mayoría de los casos se requieren de aplicaciones especiales para interpretar todos los componentes de un documento. - Un documento tiene dos partes: la parte principal o plantilla y la información en sí. La parte principal se construye en un lenguaje de marcas. 3

4 HTML Hypertext Markup Language o Lenguaje de Marcado de hypertexto, es el lenguaje de etiquetado (tags) utilizado para crear documentos que pueden ser recuperados usando WWW. HTML permite insertar vínculos a otros documentos. Cuando se activan o se seleccionan estos vínculos, el documento requerido será solicitado al servidor. Ejemplo Código de HTML <html> <body> <p>this is a paragraph.</p> <p>this is a paragraph.</p> <p>this is a paragraph.</p> This is a paragraph. This is a paragraph. This is a paragraph </body> </html> Ejemplo Código de HTML <html> <body> <p> <a href="lastpage.htm"> This text</a> is a link to a page on this Web site. </p> This text is a link to a page on this Web site. This text is a link to a page on the World Wide Web. <p> <a href="http://www.microsoft.com/"> This text</a> is a link to a page on the World Wide Web. </p> </body> </html> 4

5 XML (lenguaje de marcado extensible) Mientras que HTML permite etiquetar un documento para la presentación posterior de la información, el XML permite estructurar su información. Utiliza etiquetas para describir la información o los elementos contenidos en el documento. HTML y XML incluyen toda clase de señalizaciones que se refieren a documentos embebidos (empotrados), es decir, referencias a archivos que deberán incluirse para que el documento esté completo. Un documento embebido puede ser un programa completo. Ejemplo XML <note> <to>mary</to> <from>jani</from> <heading>reminder</heading> <body>don't forget me this weekend!</body> </note> Ejemplo XML <breakfast_menu> <food> <name>belgian Waffles</name> <price>$5.95</price> <description> two of our famous Belgian Waffles with plenty of real maple syrup </description> <calories>650</calories> </food> <food> <name>strawberry Belgian Waffles</name> <price>$7.95</price> <description> light Belgian waffles covered with strawberries and whipped cream </description> <calories>900</calories> </food> </breakfast_menu> 5

6 MIME Los documentos insertados pueden ser de varios tipos. Cómo se pueden equipar los navegadores para manejar los diferentes tipos de formatos de archivos y las maneras de interpretarlos? Se requieren dos cosas: Una forma de especificar el tipo de documento embebido Un modo de permitir que el navegador maneje tipos de datos específicos. MIME Cada documento insertado lleva un tipo MIME (multipurpose Internet Mail Interchange) asociado. Tipo text message application image audio Vídeo Subtipo Plain rich text, html, xml, etc. , news Octect-stream (puede usarse para enviar archivosjava.class) Adobe-postcript, xml, pdf Jpeg, gif Basic, midi, mp3 Mpeg, quicktime Documentos WEB El tipo de documento se representa en la forma de una combinación tipo/subtipo, ejem: aplicación/pdf. En algunos casos se espera que se utilicen aplicaciones distintas para procesar los diferentes tipos de documentos. Esta aplicación la proporciona el servidor, puede ser un programa aparte que funcionará del lado del navegador o un plug-in (componente de software adicional) que puede instalarse como parte del navegador. 6

7 Documentos WEB Esta variedad cambiante de tipos de documentos obliga a que los navegadores sean extensibles. Con este objeto se ha llevado a cabo cierta estandarización para permitir que los plug-in se inserten fácilmente dentro del navegador. Contenido WEB generado en forma dinámica: Arquitectura de Varios Niveles Al principio la web se utilizaba para transmitir contenido estático: un archivo plano, un archivo con una imagen. Según fue evolucionando, las aplicaciones comenzaron a utilizar http con diferentes propósitos: El navegador puede ejecutar un programa (consultar a una BD) tomando los datos de un usuario como entrada. Contenido WEB generado en forma dinámica Una de las primeras mejoras de la arquitectura básica fue la de soportar la interacción de un usuario por medio de la interfaz de compuerta común (Common Gateway Interface) CGI define la forma estándar mediante la cual un servidor WEB es capaz de ejecutar un programa (script cgi) tomando los datos de un usuario como entrada. En general los datos del usuario provienen de un formulario html; este formulario especifica el programa a ser ejecutado del lado del servidor, junto con los valores de los parámetros. 7

8 Contenido WEB generado en forma dinámica Cuando el servidor procesa la solicitud, inicia el programa nombrado en la solicitud y transfiere los valores de los parámetros. El programa realiza su trabajo y, por lo general, regresa los resultados en la forma de un documento que podrá desplegar el navegador donde se encuentra el usuario. script cgi servidor http cliente web petición de hola.html contenido de hola.html petición de hola.cgi datos, del cliente respuesta del servidor incluyendo páginas generadas automáticamente. 2. Start process to fetch document 1. Get request 5. Return result HTTP request handler Web server CGI program 4. HTML document created CGI process 3. Database interaction Database server 8

9 CGI Un script CGI puede estar escrito en cualquier lenguaje de programación, incluyendo los lenguajes interpretados (perl, TKL, Python, JavaScript, Visual Basic Script), al igual que lenguajes compilados (C, C++, Ada) Un script cgi se invoca normalmente desde una página web especial, conocida como formulario. El formulario web Es un tipo especial de página web que: Proporciona una interfaz gráfica que le permite al usuario introducir datos. Cuando el usuario presiona el botón de envío, invoca la ejecución de un programa externo en la máquina del servidor web. Arquitectura: 3 Niveles Como el procesamiento del lado del servidor WEB cada vez requiere de más flexibilidad, no es sorprendente que ahora muchos sitios web estén organizados como una arquitectura de 3 niveles: servidor web, un servidor de aplicaciones y una BD. Servidor de aplicaciones: ejecuta toda clase de programas que pueden o no acceder al tercer nivel, que se compone por una BD. 9

10 Arquitectura: 3 Niveles Aunque desde el punto de vista arquitectónico tiene sentido distinguir los tres niveles, se pueden presentar problemas de desempeño. El servidor de aplicaciones y la BD son potenciales cuellos de botella. Sesiones web y datos de estado de la sesión Durante una sesión de una aplicación web, se emiten diversas peticiones HTTP, cada una de las cuales puede invocar a un programa externo como puede ser un script cgi. Varios de los scripts invocados, pueden necesitar los mismos datos (ejm, el identificador del usuario). Es decir hay datos que necesitan ser compartidos por los scripts a lo largo de la sesión. Sesiones web y datos de estado de la sesión Sin embargo, debido a que los scripts web son programas separados ejecutados en contextos independientes, no comparten datos (por otro lado se activan y mueren con la petición) Ni HTTP, ni CGI, tienen soporte para datos de estado de sesión. Ambos protocolos son sin estado y no tienen el concepto de sesión. 10

11 Sesiones web y datos de estado de la sesión Debido a la popularidad de las aplicaciones de internet han surgido diversos mecanismos que permiten compartir datos de sesión entre scripts CGI (y otros programas externos). Estos mecanismos se clasifican en: Mecanismos del lado del servidor: se pueden usar archivos o bases de datos como repositorios de datos de una sesión. La desventaja de este mecanismo es el overhead que genera y la necesidad de administrar estos archivos donde se guardan los datos que deben persistir entre sesiones. Mecanismos del lado del cliente: campos ocultos del formulario, cookies. Sesiones web y datos de estado de la sesión Campos ocultos en el formulario: En este caso se introducen los datos de estado de sesión en los formularios web generados dinámicamente. Es un campo oculto. Es simple, ya que sólo requiere de la introducción de nuevos campos en el formulario y no se necesitan recursos adicionales ni el cliente ni en el servidor. La simplicidad conlleva el riesgo de privacidad y seguridad, ya que los datos de estado se transmiten como campos ocultos sin proteger. Este esquema no debe utilizarse para transmitir datos sensibles tales como el número de las tarjetas de crédito. Sesiones web y datos de estado de la sesión Uso de cookies: Este esquema hace uso de una extensión del protocolo HTTP básico que permite que una respuesta del servidor pueda contener información de estado que el cliente deberá almacenar en un objeto. Un script puede crear un cookie como parte de la respuesta HTTP. SE incluye la línea de cabecera Set-Cookie. 11

12 Sesiones web y datos de estado de la sesión Cuando el navegador recibe esta respuesta, crea un objeto, una cookie, que contiene el par nombre-valor especificado para cada elemento de datos de estado, por ejemplo: id= La cookie se almacena en la máquina cliente de forma temporal o de forma persistente. Cuando sea necesario, el cookie (el par nombre-valor) se envía en las peticiones al servidor web. Servlets Son otro tipo de programa Java. Son extensiones del servidor, ejecutados en la máquina del servidor, como una acción desencadenada por la petición del cliente. A diferencia de los scripts CGI, pueden usarse para extender cualquier servidor que tenga un protocolo del tipo peticiónrespuesta. No obstante, se utilizan normalmente con servidores HTTP, en cuyo caso se denominan servlets http. Servlets: Soporte Arquitectónico A diferencia de los scripts cgi, que ejecutan en el servidor sin ningún sistema de soporte arquitectónico adicional, la ejecución de los servlets requiere la existencia de un módulo conocido como motor de servlets o contenedor de servlets. Dependiendo de la implementación del servidor, un servlet puede persistir mientras siga teniendo peticiones, o de forma indefinida hasta que se apague el servidor. 12

13 Servlets: Soporte Arquitectónico Persistencia: Un script cgi se carga y ejecuta cada vez que un cliente lo solicita, mientras que una sola instancia de un servlet seguirá ejecutando cuando tenga peticiones. Debido a esta característica un servlet puede mantener datos de estado de las sesiones de los clientes durante su tiempo de vida. Existen varias implementaciones que proporcionan la arquitectura de servlets: el JSWDK y el Apache Tomcat. Applets Son clases java solicitadas por el navegador a un servidor web, utilizando el protocolo HTTP y ejecutadas a continuación por la máquina virtual java en el entorno del navegador. Un applet se especifica en una página HTML usando la etiqueta APPLET Applets Cuando el navegador analiza la etiqueta, se lanza una petición al servidor HTTP. GET /applets/holamundo.class HTTP/1.1 El servidor localiza el archivo y envía su contenido al cliente en el cuerpo de la respuesta http. Una vez recibido el archivo de la clase del applet, el navegador lo ejecuta en su maquina virtual de Java y muestra su resultado. 13

14 Servidor Petición HTTP Respuesta HTTP Cliente Applets Debido a que los applets se descargan de una máquina remota y se ejecutan en la máquina local, su ejecución está sometida a restricciones por razones de seguridad. Una de estas restricciones es que el applet no tiene permitido leer o escribir archivos almacenados en el computador en que se está ejecutando. Otra restricción es que no tiene permitido la realización de conexiones de red excepto a la máquina de donde proviene Servicios WEB Se proponen para la construcción de aplicaciones a partir de componentes distribuidos (servicios) independientes del lenguaje y de la plataforma. Un servicio lo proporciona un servidor y es accedido por un cliente. Un servicio web es un servicio tradicional puesto a disposición de todo el mundo en internet. Este servicio web se apega a un conjunto de estándares que le permiten ser descubierto y accedido a través de la red por aplicaciones que también se apegan a dichos estándares. 14

15 Servicios WEB Ejemplos de servicios: reporte meteorológico, validación de tarjetas de crédito, generador de números primos, Mapping de una dirección IP a un país, Información sobre el campeonato de fútbol europeo 2008, envío de texto para eliminar lenguaje obsceno, envíos de sms, conversión de temperatura (celcius- farenheit) etc. (www.xmethods.net) Arquitectura de Servicios Servicio de Directorio: permite al servicio ser registrado y localizado. Se adhiere al estándar de descripción, descubrimiento e integración universales: UDDI (Universal Description, Discovery and Integration) Capa de descripción de servicios: permiten que un servicio sea descrito en el directorio (WSDL, Web service description language, muy parecido a los lenguajes de definición de interfaz). Capa de mensajería: proporciona mecanismos para la intercomunicación entre procesos, incluyendo la funcionalidad del empaquetamiento de datos (Soap, XML) Capa de transporte: envía los mensajes (TCP, HTTP, SMTP, etc) Capa de red: se encarga de la transmisión física y del encaminamiento de paquetes (IP) Protocolos Capa de descripción de servicios: Permite describir un servicio en el directorio (WSDL, Web service description language). Es un lenguaje formal muy parecido a los lenguajes de definición de interfaz. Una descripción WSDL contiene definiciones precisas de las interfaces provistas por un servicio, es decir procedimientos, tipos de datos, etc. Las descripciones pueden transformarse automáticamente en resguardos del lado del cliente y del lado del servidor. 15

16 Soap Soap: es un protocolo que al igual que Corba o JAVA RMI incorpora el paradigma de los objetos distribuidos. La diferencia es que también incorpora los protocolos de Internet. Es un protocolo que extiende HTTP para permitir acceso a objetos distribuidos que representan servicios web. Cada mensaje soap se codifica en XML por razones de inter-operabilidad. El mensaje se transporta en una petición o respuesta http Soap Nombre del método, lista de parámetros servidor web Cliente Web objeto de servicio valor devuelto Petición Respuesta Look up a service Client machine Client application Server machine Server application Publish service Stub Stub Communication subsystem Generate stub from WSDL description SOAP Communication subsystem Generate stub from WSDL description Service Service Service description description description (WSDL) (WSDL) (WSDL) Directory service (UDDI) 16

17 Procesos: Clientes La pieza más importante del lado del cliente es el navegador, que permite al usuario navegar a través de páginas web, que provienen del servidor. La navegación se realiza a través de hipervínculos. Idealmente, los navegadores deben ser independientes de la plataforma. User interface Browser engine (motor de navegador) Display back end Network comm. Rendering engine (motor de proceso de imagen) Client-side script interpreter HTML/XML parser Componentes lógicos de un Navegador WEB Componentes de un navegador El motor de proceso de imagen contiene todo el código para mostrar apropiadamente los documentos en pantalla. Este proceso de imagen requiere, por lo menos, el análisis sintáctico del XML o del HTML, aunque también puede requerir de la interpretación de un script. El motor del navegador proporciona los mecanismos indispensables para que el usuario final revise el documento, seleccione algunas partes, active los hipervínculos, etc. 17

18 Componentes de un navegador Plug-in: es un pequeño programa que puede ser dinámicamnete cargado en un navegador para manejar un tipo de documento específico. Proxy web: originalmente se utilizaba para permitir que un navegador manejara protocolos, a nivel de aplicación, diferentes de HTTP. Esta funcionalidad ya la poseen los navegadores. No obstante los Proxies siguen usándose para filtrar solicitudes y respuestas, almacenamiento en cache, entre otras funciones. Un proxy web ampliamente utilizado es Squid. Procesos: Servidores El servidor WEB más popular es Apache, que se estima es utilizado para alojar aproximadamente el 70% de todos los sitios WEB. Es una pieza compleja de software, altamente configurable y flexible. Servidores WEB basados en Clusters Un servidor WEB puede sobrecargarse con facilidad. Solución: replicar el servidor en un cluster de servidores y utilizar un front-end para direccionar las solicitudes de los clientes hacia una de las réplicas. 18

19 Web server Web server Web server Web server LAN Front end Front end handles all incoming requests and outgoing responses Request Response Servidores WEB basados en Clusters El front end se puede convertir en un cuello de botella. Si la conmutación se hace a nivel de capa de transporte, no se puede tomar en cuenta el contenido de la solicitud HTTP enviada a lo largo de la conexión TCP. En este caso se pasan los datos a uno de los servidores de acuerdo con sus características de carga. Servidores WEB basados en Clusters Distribución consciente del contenido: primero se inspecciona la solicitud HTTP entrante y luego se re-direcciona al servidor más adecuado. Ventajas: Si se remiten las solicitudes para el mismo documento al mismo servidor, dicho servidor puede ser capaz de guardar en memoria cache el documento. Los tiempos de respuesta son más rápidos (Y si es muy popular?) Es posible distribuir el conjunto de documentos entre los servidores en lugar de tener que replicar cada documento en cada servidor. 19

20 Servidores WEB basados en Clusters Distribución consciente del contenido. Desventajas: el front end tiene que realizar mucho trabajo. Otras opciones para establecer grupos de servidores web: utilizar un round robin DNS, mediante el cual: un sólo nombre de dominio se asocia con múltiples direcciones IP. Cuando se resuelve el nombre de un servidor WEB, el navegador recibe una lista de múltiples direcciones, correspondiendo cada dirección a un servidor del grupo. Los navegadores eligen normalmente al primero de la lista. Existen otras alternativas (Cardellini y colaboradores 2002) Comunicación: HTTP Es un protocolo, orientado a conexión, sin estado y de petición respuesta. Los clientes WEB o navegadores implementan el protocolo, para poder conectarse a los servidores web y obtener documentos HTML. El HTTP está basado en TCP. Siempre que un cliente envía una solicitud a un servidor, primero establece una conexión TCP con el servidor y luego envía su mensaje a través de la conexión. Al utilizar TCP, HTTP no tienen por qué preocuparse por solicitudes y respuestas perdidas. Comunicación: HTTP Un servidor HTTP o servidor WEB ejecuta por defecto en el puerto 80. En http/1.0 cada conexión sólo permite una ronda de petición-respuesta: un cliente obtiene una conexión y manda una petición; el servidor procesa la petición, emite una respuesta y cierra la conexión (conexiones no persistentes) 20

21 HTTP Si un cliente necesita contactar al mismo servidor más de una vez en una misma sesión debe reconectarse al servidor por cada nueva petición. Este esquema trabaja bien si sólo se van a recibir documentos simples, no obstante, no es muy eficiente para recibir documentos que contienen un gran número de enlaces a otros documentos. HTTP Como resultado http/1.0 se extendió para permitir la cabecera de petición Connection: Keep-Alive, que es enviada por los clientes que desean una conexión persistente con el servidor; el servidor mantiene la conexión abierta después de enviar la respuesta. En http/1.1 las conexiones son persistentes por defecto. Para mejorar aún más el desempeño, un cliente puede emitir varias solicitudes en fila sin esperar la respuesta de la primera solicitud (canalización o pipelining) HTTP El protocolo, independientemente de si se mantiene o no la sesión abierta, sigue siendo sin estado. Cada petición se maneja como una nueva. 21

22 HTTP Http es un protocolo de petición-respuesta basado en texto, ya que tanto la petición como la respuesta son cadenas de caracteres. Cada petición y respuesta están compuestas, en orden, por las siguientes partes: La línea de petición/respuesta Una sección de cabecera Una línea en blanco El cuerpo. Ejemplos Método http URI Solicitado Protocolo GET /index.html HTTP/1.1 <línea en blanco> Línea de Petición Métodos: GET: para solicitar el contenido de un documento WEB referenciado por el URI especificado. HEAD: Para solicitar sólo la cabecera del documento, no el documento completo. POST: Usado para enviar datos a un proceso servidor. HTTP La sección de cabecera puede estar compuesta por una o más líneas con el siguiente formato: <clave>: <valor>\r\n Algunas de las claves son: - Accept: especifica los tipos de contenido aceptados por el cliente. - User-Agent: especifica el tipo de navegador. - Connection: Se puede especificar Keep-Alive - Host: Nombre del servidor. 22

23 Ejemplos HEAD / HTTP/1.1 Accept:*/* Connection: Keep-Alive Host: algunamaquina.com User-Agent: Generic <linea en blanco> POST /cgi/miservidor.cgi HTTP/1.0 Accept: */* Connection: Keep-Alive Host: algunamaquina.com User-Agent: Generic Content-type: application/x-www.form-urlencoded Content-length: 11 <linea en blanco> La especificación del tipo de contenido sigue un esquema establecido en el protocolo conocido como MIME Códigos devueltos por HTTP En respuesta a un petición del cliente, el servidor HTTP debe enviar una respuesta. La respuesta también se compone de varias partes: 1. La respuesta o línea de estado 2. Una sección de cabecera 3. Una línea en blanco El cuerpo. Códigos devueltos por HTTP Los códigos de estado son los siguientes: Informativo Petición del cliente satisfactoria Petición del cliente redirigida Petición del Cliente incompleta Errores en el servidor. Ejemplos: HTTP/ OK HTTP/ NOT FOUND 23

24 Asignación de Nombres La web utiliza un solo sistema de asignación de nombres para referirse a documentos. Los nombres utilizados se llaman identificadores de recursos uniformes o URI Los URI se presentan en dos formas: Un URL (localizador de recursos uniforme): identifica el documento e incluye información sobre cómo y dónde accederlo (depende de la localización) Un URN (nombre de recursos uniforme): se utiliza como referencia globalmente única a un documento, independiente de la localización y persistente. Asignación de Nombres La sintaxis de un URL está determinada por: Su esquema asociado o protocolo. El nombre del esquema es parte de l URI (http, mailto, ftp, telnet, etc). El nombre DNS del servidor que contiene el documento, aunque también es posible utilizar una dirección IP. También se incluye el número de puerto; cuando se deja afuera se usa un puerto pre-establecido. Finalmente, el nombre del documento. Scheme Host name Pathname http :// /home/steen/mbox (a) Scheme Host name Port Pathname http :// : 80 /home/steen/mbox (b) Scheme Host name Port Pathname http :// : 80 /home/steen/mbox (c) urn:issn:

25 Consistencia y Replicación La mayoría de los productos de investigación y desarrollo en este sentido se han dirigido hacia el soporte del contenido estático. Almacenamiento en el CACHE En el navegador. Los clientes, en general, pueden indicar en qué momento se verificará la consistencia. En el Proxy web. El proxy puede guardar el resultado de una búsqueda y éste puede ser utilizado por más de un cliente (cache compartido). Caches Jerárquicos: aparte de los caches en los navegadores y/o proxies también es posible colocar caches que cubran una región o país. Las latencias suelen ser más altas comparados con caches no jerárquicos (se verifica en múltiples caches). Los documentos muy populares tienen mayor probabilidad de encontrarse en el cache más cercano al cliente. Almacenamiento en el CACHE Caches Cooperativos: Varios proxies trabajan en conjunto. Si hay una falla en un proxy, éste verifica en los proxies vecinos para comprobar si alguno tiene el documento solicitado. Si la verificación falla, se remite la búsqueda al servidor web responsable del documento. Estudios muestran que esta técnica puede ser altamente efectiva para grupos pequeños conectados a través de una LAN. 25

26 Caches Cooperativos Web server 3. Forward request to Web server 1. Look in local cache Cache Web proxy 2. Ask neighboring proxy caches Web proxy Cache Client Client HTTP Get request Client Web proxy Cache Client Client Client Client Client Client Consistencia Para garantizar que un documento sea consistente, algunos navegadores utilizan la instrucción GET del protocolo HTTP, para preguntar por el tiempo de la última modificación. Si el documento cambió con respecto a la versión del navegador, se trae el documento del servidor, de lo contrario se regresa la versión local. Desventaja: comunicación Navegador-proxy en cada solicitud. Consistencia El proxy web Squid trabaja con tiempos de expiración. Texpiración Tguardado en cache Túltima_modificación: tiempo de modificación de un documento (registrado pos su propietario) T exp iración=α Tguardado _ en_ cache Túltima_modificación) ( + T α = 0.2 guardado_ en_ cache 26

27 Traído al cache modificado Traído al cache modificado Si los documentos que no han sido modificados durante mucho tiempo, el tiempo de expiración será mayor (no serán verificados tan pronto) como aquellos recientemente modificados. La desventaja, es que un proxy puede regresar un documento inválido. El cliente no tiene forma de detectar que se ha recibido un documento obsoleto. Consistencia Protocolos Push: el servidor notifica a los proxies que un documento ha sido modificado enviando una invalidación. Problema: el servidor tiene que llevar información sobre los proxies, lo cual provoca un problema de escalabilidad. Otro problema inherente a los proxies web es que sólo pueden ser utilizados para documentos estáticos. Replicación Redes de Entrega de Contenido (Content Delivery Networks). Surgen de la observación de que servir o proveer contenido WEB de un sólo servidor puede traer serios problemas de escalabilidad, confiabilidad y desempeño. Especialmente en la presencia de Flash crowds (múltitudes rápida): Cargas que pueden ser hasta un orden de magnitud mayor que las cargas medias. 27

28 2 days (a) 2 days (b) 6 days (c) 2.5 days (d) Replicación (CDN) z z La sobre-carga de una multitud rápida puede dejar temporalmente fuera de servicio a un site, u ocasionar tiempos de respuesta inusualmente altos. Consecuencia: descontentos por parte de los clientes. Enfoques Existentes Para manejar contenido en forma confiable y escalable: 1.) Clusters de Servidores WEB: - Si falla el centro de datos o el ISP que provee la conectividad el cluster entero queda inaccesible. - Es difícil aumentar a miles de servidores. - Se puede ofrecer mirroring...pero requiere de la sincronización entre sitios espejo, que puede ser difícil. 28

29 Enfoques Existentes 2.) Proxy Caches: permiten reducir la latencia y los anchos de banda requeridos. No obstante, las tasas de acierto tienden a ser bajas (25 a 40%). Una de las principales razones es que se está utilizando mucho contenido dinámico. Redes de Entrega de Contenido Solución: Se diseña un sistema con varios servidores sustitutos de los servidores originales, que están en los bordes de la internet, más cercanos a los clientes. El contenido se replica en estos servidores, reduciendo así la demanda a los servidores origen (proveedores de contenido) y proporcionando un tiempo de respuesta más rápido para los usuarios. Redes de Entrega de Contenido Las redes de este tipo: Trabajan muy de cerca con los proveedores de contenido a fin de desarrollar funcionalidades que le permitan mejorar el servicio para el web site. Ofrecen caching y control de consistencia. Ensamblaje de contenido dinámico, lo cual permite almacenar en cache algunas de sus partes. El CDN de la red controla la red (hw) y el software. 29

Sistemas Distribuidos Basados en la WEB

Sistemas Distribuidos Basados en la WEB Sistemas Distribuidos Basados en la WEB Andrew Tanembaum M. L. Liu Contenido Introducción Lenguajes: HTML, XML El Protocolo: HTTP Contenido Web Generado en Forma Dinámica: CGI Sesiones Web y datos de estado

Más detalles

Redes de Computadores II

Redes de Computadores II Redes de Computadores II Capa de Aplicación HTTP Las siguientes láminas son material de apoyo para el estudio de la materia de Redes II. No son un contenido exhaustivo del material. Se recomienda suplementar

Más detalles

JAVA EE 5. Arquitectura, conceptos y ejemplos.

JAVA EE 5. Arquitectura, conceptos y ejemplos. JAVA EE 5. Arquitectura, conceptos y ejemplos. INTRODUCCIÓN. MODELO DE LA APLICACIÓN JEE5. El modelo de aplicación Java EE define una arquitectura para implementar servicios como lo hacen las aplicaciones

Más detalles

Tema 2 El Servicio Web

Tema 2 El Servicio Web Tema 2 El Servicio Web Eduardo Martínez Graciá Humberto Martínez Barberá Departamento de Ingeniería de la Información y las Comunicaciones Universidad de Murcia Introducción Nace en el CERN, en 1989 Surge

Más detalles

Internet - Web. Internet - Web. Internet. Internet. Diseño de Sitios Web Desarrollo de Paginas Web. Qué es la Internet? - Qué es la Web?

Internet - Web. Internet - Web. Internet. Internet. Diseño de Sitios Web Desarrollo de Paginas Web. Qué es la Internet? - Qué es la Web? Desarrollo de Paginas Web Internet - Web Internet - Web Qué es la Internet? - Qué es la Web? Internet: Una red de computadoras a nivel mundial Web: Una forma de organizar la información existente en Internet

Más detalles

Clase 22 Nivel de Aplicación WWW Tema 6.- Nivel de aplicación en Internet

Clase 22 Nivel de Aplicación WWW Tema 6.- Nivel de aplicación en Internet Clase 22 Nivel de Aplicación WWW Tema 6.- Nivel de aplicación en Internet Dr. Daniel Morató Redes de Computadores Ingeniero Técnico de Telecomunicación Especialidad en Sonido e Imagen 3º curso Temario

Más detalles

Servidores web. Qué es un servidor web? Tipos de servidores. Lic. Lorena Bernis

Servidores web. Qué es un servidor web? Tipos de servidores. Lic. Lorena Bernis Servidores web Qué es un servidor web? Tipos de servidores. Lic. Lorena Bernis Servidores web 2 SERVIDOR En informática, un servidor es un tipo de software que realiza ciertas tareas en nombre de los usuarios.

Más detalles

5.1. Qué es Internet? controla todo el sistema, pero está conectado de tal manera que hace

5.1. Qué es Internet? controla todo el sistema, pero está conectado de tal manera que hace 5. Internet 5.1. Qué es Internet? Internet es una red mundial de equipos que se comunican usando un lenguaje común. Es similar al sistema telefónico internacional: nadie posee ni controla todo el sistema,

Más detalles

TEMA 3: La Aplicación World Wide Web

TEMA 3: La Aplicación World Wide Web TEMA 3: La Aplicación World Wide Web 1. Introducción 2. Terminología 3. El protocolo HTTP 4. Conexiones HTTP 5. Mensajes HTTP 6. Interacción Usuario-Servidor 7. El GET condicional 8. Distribución de contenidos

Más detalles

La Capa de Aplicación Protocolos de Aplicación Básicos

La Capa de Aplicación Protocolos de Aplicación Básicos La Capa de Aplicación Protocolos de Aplicación Básicos mayo de 2008 DNS DNS (RFC 1034 y 1035) Idea básica: Cada nodo tiene un nombre único asignado a una dirección IP. El Sistema de Nombres de Dominio

Más detalles

INTRODUCCIÓN AL WEB. Pag. 1 de 10

INTRODUCCIÓN AL WEB. Pag. 1 de 10 INTRODUCCIÓN AL WEB La World Wide Web o simplemente WWW o Web es uno de los métodos más importantes de comunicación que existe en Internet. Consiste en un sistema de información basado en Hipertexto (texto

Más detalles

Especificación de la secuencia de mensajes que se han de intercambiar. Especificación del formato de los datos en los mensajes.

Especificación de la secuencia de mensajes que se han de intercambiar. Especificación del formato de los datos en los mensajes. SISTEMAS DISTRIBUIDOS DE REDES 2.- MODELOS ORIENTADOS A OBJETOS DISTRIBUIDOS 2.1. Tecnologías de sistemas distribuidos Para la implementación de sistemas distribuidos se requiere de tener bien identificados

Más detalles

Glosario Acoplamiento. API. Archivos de recursos. ASCII. Balanceo de carga. Bases de datos federadas. BBDD. Clientes. Constructores.

Glosario Acoplamiento. API. Archivos de recursos. ASCII. Balanceo de carga. Bases de datos federadas. BBDD. Clientes. Constructores. GLOSARIO Glosario Acoplamiento. Posibilidad que tiene un servicio de funcionar de forma autónoma. Se dice que un servicio o aplicación es bajamente acoplado cuando puede funcionar de forma independiente

Más detalles

DESARROLLO WEB EN ENTORNO CLIENTE

DESARROLLO WEB EN ENTORNO CLIENTE DESARROLLO WEB EN ENTORNO CLIENTE CAPÍTULO 1: Selección de arquitecturas y herramientas de programación Juan Manuel Vara Mesa Marcos López Sanz David Granada Emanuel Irrazábal Jesús Javier Jiménez Hernández

Más detalles

Capa de Aplicación (Parte 2 de 2)

Capa de Aplicación (Parte 2 de 2) Capa de Aplicación (Parte 2 de 2) Redes de Computadoras HTTP (Hypertext Transfer Protocol) 1 Qué es Internet? Internet conecta a un conjunto de redes usando protocolos estándar Protocolos de enrutamiento,

Más detalles

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web.

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web. Modulo I. Introducción a la Programación Web. 1.1 Servidor Web. Antes de analizar lo que es un servidor Web y llevara a cabo su instalación, es muy importante identificar diferentes elementos involucrados

Más detalles

LA ARQUITECTURA TCP/IP

LA ARQUITECTURA TCP/IP LA ARQUITECTURA TCP/IP Hemos visto ya como el Modelo de Referencia de Interconexión de Sistemas Abiertos, OSI-RM (Open System Interconection- Reference Model) proporcionó a los fabricantes un conjunto

Más detalles

Servicios Telemáticos Avanzados 4º Grado en Ingeniería en Tecnologías de Telecomunicación Especialidad de Telemática

Servicios Telemáticos Avanzados 4º Grado en Ingeniería en Tecnologías de Telecomunicación Especialidad de Telemática Servicios Telemáticos Avanzados 4º Grado en Ingeniería en Tecnologías de Telecomunicación Especialidad de Telemática 2 Hora 1 1. Problemática de sistemas de información un servidor-un sitio 2. Mirrors

Más detalles

desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el

desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el Capitulo II. Análisis de herramientas y tecnologías de desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el lenguaje de Modelo de Objetos llamado UML (Unified

Más detalles

URL. Después de los dos puntos: se interpreta según el método de acceso. Suele contener direcciones y puntos de acceso en una máquina. Esquema URL.

URL. Después de los dos puntos: se interpreta según el método de acceso. Suele contener direcciones y puntos de acceso en una máquina. Esquema URL. URL. Un URL ó Uniform Resource Locator (Localizador Uniforme de Recurso) es un medio estándar de identificar direcciones internet en la Web. Tiene dos partes, separadas por dos puntos: Antes de los dos

Más detalles

HTTP, CGI, Applets y Servlets

HTTP, CGI, Applets y Servlets HTTP, CGI, Applets y Servlets Sistemas de Operación II CI-4821 Sep-Dic 2006 Mercedes Martínez 00-33042 Aixbel Martínez 01-34114 Mario Felaco 02-34888 José Luís Castillo 01-33691 Yonathan Ledo 01-34033

Más detalles

Servicio Web: características de la demanda

Servicio Web: características de la demanda Servicio Web: características de la demanda Varios problemas (World-Wide Wait): Proveedor: planificación de capacidad para dar servicio (horas punta: carga, avalancha) Cliente: Elección del mejor servidor

Más detalles

Capítulo 5. Implementación y Tecnologías Utilizadas

Capítulo 5. Implementación y Tecnologías Utilizadas Capítulo 5. Implementación y Tecnologías Utilizadas Cada vez más, se está utilizando Flash para desarrollar aplicaciones basadas en Web, pues permite la construcción de ambientes con mayor interacción.

Más detalles

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN Los protocolos de capa de aplicación de TCP/IP más conocidos son aquellos que proporcionan intercambio de la información

Más detalles

JSP(JAVA SERVER PAGES)

JSP(JAVA SERVER PAGES) JSP(JAVA SERVER PAGES) Introducción En la actualidad, la mayoría de los sitios Web quieren mostrar contenido dinámico basado en el usuario y en la sesión. La mayor parte del contenido, tal como imágenes,

Más detalles

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN Los protocolos de capa de aplicación de TCP/IP más conocidos son aquellos que proporcionan intercambio de la información

Más detalles

INTRODUCCION. Tema: Protocolo de la Capa de aplicación. FTP HTTP. Autor: Julio Cesar Morejon Rios

INTRODUCCION. Tema: Protocolo de la Capa de aplicación. FTP HTTP. Autor: Julio Cesar Morejon Rios INTRODUCCION Tema: Protocolo de la Capa de aplicación. FTP HTTP Autor: Julio Cesar Morejon Rios Qué es FTP? FTP (File Transfer Protocol) es un protocolo de transferencia de archivos entre sistemas conectados

Más detalles

Para el desarrollo de aplicaciones Web se han generado múltiples tecnologías entre ellas se encuentran:

Para el desarrollo de aplicaciones Web se han generado múltiples tecnologías entre ellas se encuentran: Desarrollo de aplicaciones y servicios web Cinxgler Mariaca Minda Cinxgler@udistrital.edu.co Presidente Capítulo de Computadores Rama IEEE Universidad Distrital Francisco José de Caldas Resumen: Este articulo

Más detalles

Recuperación de Información en Internet Tema 2: La web

Recuperación de Información en Internet Tema 2: La web Recuperación de Información en Internet Tema 2: La web P.O.P. Língua e usos profesionais Miguel A. Alonso Jorge Graña Jesús Vilares Departamento de Computación Facultad de Informática Universidade da Coruña

Más detalles

Tema 3. 3.3 Tecnologías de Desarrollo

Tema 3. 3.3 Tecnologías de Desarrollo Tema 3 3.3 Tecnologías de Desarrollo HTML pronto pasa a ser insuficiente para todas las posibilidades de la Red No se puede interactuar con el servidor Aparecen los primeros scripts para propocionar dichar

Más detalles

TECNOLOGÍAS ASOCIADAS A LAS APLICACIONES WEB

TECNOLOGÍAS ASOCIADAS A LAS APLICACIONES WEB TECNOLOGÍAS ASOCIADAS A LAS APLICACIONES WEB Existen varios tipos de tecnologías para los Servidores Web, estas tecnologías se pueden dividir en 4 grupos principales que son: Tecnologías al lado del cliente

Más detalles

Arquitecturas Distribuidas. TEMA 1. Introducción a las arquitecturas distribuidas

Arquitecturas Distribuidas. TEMA 1. Introducción a las arquitecturas distribuidas Arquitecturas Distribuidas TEMA 1. Introducción a las arquitecturas distribuidas Contenido del tema I I. Arquitecturas Distribuidas: definición y requisitos II. Ejemplo de Arquitectura Distribuida: el

Más detalles

2524 Developing XML Web Services Using Microsoft ASP.NET

2524 Developing XML Web Services Using Microsoft ASP.NET 2524 Developing XML Web Services Using Microsoft ASP.NET Introducción La meta de este curso es de proveer a los estudiantes con el conocimiento y habilidades requeridas para desarrollar soluciones basadas

Más detalles

Introducción a las Redes de Computadoras

Introducción a las Redes de Computadoras Introducción a las Redes de Computadoras Capitulo 2 Capa de Aplicación Nota acerca de las transparencias del curso: Estas transparencias están basadas en el sitio web que acompaña el libro, y han sido

Más detalles

DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB

DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB DENOMINACIÓN: CON TECNOLOGÍAS WEB Código: IFCD0210 Familia profesional: Informática y Comunicaciones Área profesional: Desarrollo Nivel de cualificación profesional: 3 Cualificación profesional de referencia:

Más detalles

HTTP Introducción. Redes de Datos Ing. Marcelo Utard / Ing. Pablo Ronco FACULTAD DE INGENIERIA UNIVERSIDAD DE BUENOS AIRES

HTTP Introducción. Redes de Datos Ing. Marcelo Utard / Ing. Pablo Ronco FACULTAD DE INGENIERIA UNIVERSIDAD DE BUENOS AIRES Introducción Protocolo de capa de aplicación utilizado para la transferencia de Recursos u objetos. Opera sobre TCP típicamente en el puerto 80 Simple Stateless Genérico Utiliza las extenciones MIME. Transporte

Más detalles

DESARROLLO WEB EN ENTORNO SERVIDOR

DESARROLLO WEB EN ENTORNO SERVIDOR DESARROLLO WEB EN ENTORNO SERVIDOR CAPÍTULO 7: Programación de servicios Web Marcos López Sanz Juan Manuel Vara Mesa Jenifer Verde Marín Diana Marcela Sánchez Fúquene Jesús Javier Jiménez Hernández Valeria

Más detalles

1.- REDES E INTERNET TIPOS DE REDES COMUNICACIÓN POR INTERNET PROTOCOLO IP PROTOCOLO TCP

1.- REDES E INTERNET TIPOS DE REDES COMUNICACIÓN POR INTERNET PROTOCOLO IP PROTOCOLO TCP 1.- REDES E INTERNET TIPOS DE REDES LAN (Local Area Network). Enlazan ordenadores dentro de un área limitada: un departamento, una oficina, un edificio, etc La forma más sencilla para crear una LAN es

Más detalles

Telnet. Telnet Operación

Telnet. Telnet Operación Telnet Protocolo utilizado para la ejecución de procesos en sistemas remotos. Emulación de Terminal Utiliza las funcionalidades de TCP Well Known Service, port number 23 Telnet Operación NVT (Network Virtual

Más detalles

GUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII

GUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII GUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII GUIA DISPONIBLE EN: http://preparadorivan.blogspot.com/ - http://preparadormssi.50webs.com/inicio.html La World Wide Web o la Web, es una de las múltiples

Más detalles

5.1 Introducción. 5.2 El protocolo HTTP.

5.1 Introducción. 5.2 El protocolo HTTP. TEMA 5:. 5.1 Introducción. Inicialmente la idea del World Wide Web 1 surgió en el laboratorio de altas energías del CERN, el Centro Europeo de Investigación Nuclear. La mayoría de los experimentos, altamente

Más detalles

Aspectos prácticos de Internet

Aspectos prácticos de Internet Aspectos prácticos de Internet Tema 6 Web y buscadores Introducción Conceptos Básicos HTML HTTP URL DNS Servidores web Caches y proxies Web 2.0 Buscadores Introducción Nació en 1990- Tim Berners-Lee Documentos

Más detalles

LOGO. Modulo 2. Carlos Villanueva

LOGO. Modulo 2. Carlos Villanueva SSO5501 Hardening de un Sistema Operativo de Red LOGO Modulo 2 Carlos Villanueva Introduccion Hardering, del ingles Endurecimiento, se refiere al proceso de segurizar un Sistema o Aplicación Objetivos

Más detalles

SERVIDOR WEB MULTIPLATAFORMA CON IMPLEMENTACIÓN CGI

SERVIDOR WEB MULTIPLATAFORMA CON IMPLEMENTACIÓN CGI SERVIDOR WEB MULTIPLATAFORMA CON IMPLEMENTACIÓN CGI C.U. Loraine E. Gimson Saravia a, C.U. Julián J. Fernández b L.I.D.T.I. Universidad Nacional de Salta. Facultad de Ciencias Exactas a E-Mail: saraviag@unsa.edu.ar

Más detalles

CAPA DE APLICACIÓN. 80 s : Aplicaciones basadas en texto o email o acceso remoto o transferencia de ficheros o grupos de noticias o chat

CAPA DE APLICACIÓN. 80 s : Aplicaciones basadas en texto o email o acceso remoto o transferencia de ficheros o grupos de noticias o chat CAPA DE APLICACIÓN 80 s : Aplicaciones basadas en texto o email o acceso remoto o transferencia de ficheros o grupos de noticias o chat A mediados de los 90: Web Aplicaciones Multimedia: o Streaming video

Más detalles

La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la

La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la Servicios web Introducción Un servicio web es un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones. Distintas aplicaciones de software desarrolladas en lenguajes

Más detalles

MÓDULO: SERVICIOS E RED. Nombre: Curso: 2º SMR (9-6-2011) [Examen Final Junio]

MÓDULO: SERVICIOS E RED. Nombre: Curso: 2º SMR (9-6-2011) [Examen Final Junio] MÓDULO: SERVICIOS E RED Nombre: Curso: 2º SMR (9-6-2011) [Examen Final Junio] PARTE 1: Responde las siguientes preguntas tipo TEST. Solo hay una respuesta correcta. Dos respuestas incorrectas anulan una

Más detalles

Clase. geniería de la Computación. Departamento de Ciencias e Ing. Diego C. Martínez - DCIC-UNS

Clase. geniería de la Computación. Departamento de Ciencias e Ing. Diego C. Martínez - DCIC-UNS Ingeniería de Ap plicaciones Web Clase 2 Diego C. Martínez Departamento de Ciencias e Ing geniería de la Computación Universidad Nacional del Sur Internet y sus servicios Internet define una forma de conexión

Más detalles

Introducción al desarrollo WEB. Tecnologías Web

Introducción al desarrollo WEB. Tecnologías Web Introducción al desarrollo WEB Tecnologías Web Un poco de Historia World Wide Web (WWW) Inventada por Tim Berners Lee en 1989!!! Mientras trabajaba European Organization for Nuclear Research (CERN) http://www.w3.org/consortium/history.html

Más detalles

Qué es la Web? (I) Arquitecturas Distribuidas 10/11

Qué es la Web? (I) Arquitecturas Distribuidas 10/11 TEMA 2. La Web Tema 2. La Web 1. Qué es la Web? 2. Cronología 3. Comparación entre servidores web Funcionamiento del WWW 4.1. Identificadores URL 4.2. Protocolo HTTP 4.3. Lenguaje HTML 5. Mejoras actuales

Más detalles

Selección de arquitecturas y herramientas de programación

Selección de arquitecturas y herramientas de programación 1 Selección de arquitecturas y herramientas de programación Objetivos del capítulo 44 Caracterizar y diferenciar los modelos de ejecución de código en un entorno cliente/servidor. 44 Conocer los mecanismos

Más detalles

Servidores Web E2B2C. Leandro Radusky Esteban Lanzarotti. Nov 2014

Servidores Web E2B2C. Leandro Radusky Esteban Lanzarotti. Nov 2014 Servidores Web E2B2C Leandro Radusky Esteban Lanzarotti Nov 2014 Agenda Mañana HTTP: Arquitectura Cliente/Servidor: introducción teórica. Elementos de una página web: HTML, JavaScript y CSS básicos. python-bottle:

Más detalles

Sistemas Operativos Distribuidos. Introducción a los Servicios Web (Web Services)

Sistemas Operativos Distribuidos. Introducción a los Servicios Web (Web Services) Introducción a los Servicios Web (Web Services) 2 Evolución de la Web Pasado: Web de documentos Páginas estáticas Web como un enorme repositorio de información Tecnologías: HTTP + HTML Presente: Web de

Más detalles

Servicio Web. Estándares empleados. Ventajas de los servicios web. Inconvenientes de los servicios Web

Servicio Web. Estándares empleados. Ventajas de los servicios web. Inconvenientes de los servicios Web Servicio Web Un servicio web (en inglés, Web services) es una tecnología que utiliza un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones. Distintas aplicaciones

Más detalles

Internet y World Wide Web. Informática Aplicada Grado en GAP Fac. de Admón. y Dir. de Empresas Univ. Politécnica de Valencia

Internet y World Wide Web. Informática Aplicada Grado en GAP Fac. de Admón. y Dir. de Empresas Univ. Politécnica de Valencia Internet y World Wide Web Informática Aplicada Grado en GAP Fac. de Admón. y Dir. de Empresas Univ. Politécnica de Valencia Objetivos de este capítulo Conocer cuándo y cómo fue creada Internet Aprender

Más detalles

DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL

DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL Página 1 de 21 CUALIFICACIÓN DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC154_3 Versión 5 Situación RD 1087/2005 Actualización

Más detalles

TEMA 5. Otras arquitecturas distribuidas IV. Web Services

TEMA 5. Otras arquitecturas distribuidas IV. Web Services TEMA 5. Otras arquitecturas distribuidas IV. Web Services IV. Web Services 1. Qué son los Web Services? 2. Ejemplos de Web Services 3. Tecnologías y arquitectura 3.1. Arquitectura 3.2. Lenguaje de descripción:

Más detalles

Configuración del acceso a Internet en una red

Configuración del acceso a Internet en una red Configuración del acceso a Internet en una red Contenido Descripción general 1 Opciones para conectar una red a Internet 2 Configuración del acceso a Internet utilizando un router 12 Configuración del

Más detalles

Utilizar los servicios de Index Service para buscar información de forma rápida y segura, ya sea localmente o en la red.

Utilizar los servicios de Index Service para buscar información de forma rápida y segura, ya sea localmente o en la red. Funciones de servidor La familia Windows Server 2003 ofrece varias funciones de servidor. Para configurar una función de servidor, instale dicha función mediante el Asistente para configurar su servidor;

Más detalles

Indice Dominio y Hosting... 1 Dominio y Hosting fácil de entender con una imagen... 3 Cómo funciona el dominio y hosting?... 4 Términos más usados en

Indice Dominio y Hosting... 1 Dominio y Hosting fácil de entender con una imagen... 3 Cómo funciona el dominio y hosting?... 4 Términos más usados en Dominio y Hosting Indice Dominio y Hosting... 1 Dominio y Hosting fácil de entender con una imagen... 3 Cómo funciona el dominio y hosting?... 4 Términos más usados en el internet... 5 http: hyper text

Más detalles

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor. Procesamiento del lado del servidor La Programación del lado del servidor es una tecnología que consiste en el procesamiento de una petición de un usuario mediante la interpretación de un script en el

Más detalles

Introducción a Internet

Introducción a Internet Introducción a Internet Localización y acceso a la informacion Instituto de Ciencias de la Educación Jesús Tramullas Dpto. CC. Documentación http://tramullas.com/lai Historia de Internet Inicio proyecto

Más detalles

Módulo II Unidad Didáctica 2

Módulo II Unidad Didáctica 2 Módulo II Unidad Didáctica 2 Introducción Una vez que el sitio está desarrollado y hemos cumplido con todas las etapas para su diseño es necesario incorporar algunos conceptos que nos permitan comprender

Más detalles

Service Broker. Bind. Service Consumer. Service Provider

Service Broker. Bind. Service Consumer. Service Provider En este capítulo, usted podrá empezar por mirar a la arquitectura orientada al servicio como un concepto en arquitectura para aplicaciones distribuidas. A continuación usted examinará cómo estas arquitecturas

Más detalles

TEMA 37: Arquitecturas Cliente / Servidor. Tipos de cliente. Tipos de Servidor. Clasificación del software.

TEMA 37: Arquitecturas Cliente / Servidor. Tipos de cliente. Tipos de Servidor. Clasificación del software. . TEMA 37: Arquitecturas Cliente / Servidor. Tipos de cliente. Tipos de Servidor. Clasificación del software. Índice 1 INTRODUCCIÓN 2 2 CARACTERÍSTICAS 2 2.1 Características del cliente...2 2.2 Características

Más detalles

CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL. Nivel 2. Versión 5 Situación RD 1201/2007 Actualización

CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL. Nivel 2. Versión 5 Situación RD 1201/2007 Actualización Página 1 de 18 CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 2 Código IFC297_2 Versión 5 Situación RD 1201/2007 Actualización

Más detalles

FUNDAMENTOS DE REDES CONCEPTOS DE LAS CAPAS SUPERIORES

FUNDAMENTOS DE REDES CONCEPTOS DE LAS CAPAS SUPERIORES FUNDAMENTOS DE REDES CONCEPTOS DE LAS CAPAS SUPERIORES Dolly Gómez Santacruz dollygos@univalle.edu.co CAPA DE SESION Conceptos El propósito principal de la capa de sesión en la pila OSI es minimizar los

Más detalles

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo. GLOSARIO Actor: Un actor es un usuario del sistema. Esto incluye usuarios humanos y otros sistemas computacionales. Un actor usa un Caso de Uso para ejecutar una porción de trabajo de valor para el negocio.

Más detalles

Características de OpenCms

Características de OpenCms Características de OpenCms Se basa en Java y Xml OpenCms está totalmente desarrollado en java bajo el estándar servlet. Por lo tanto, se puede integrar fácilmente en entornos hardware y software existentes,

Más detalles

Aplicaciones Distribuidas. Informática III

Aplicaciones Distribuidas. Informática III Aplicaciones Distribuidas Informática III Temario Elementos arquitecturales Arquitecturas tradicionales Arquitecturas Cliente/Servidor Arquitecturas distribuidas Elementos Arquitecturales Componentes de

Más detalles

Desarrollo y servicios web

Desarrollo y servicios web Desarrollo y servicios web Luisa Fernanda Rincón Pérez 2014-2 2 Sesión 3. Arquitectura web básica parte 2 Qué haremos hoy? 3 1. La era post pc 2. Nombres de dominio 3. URL 4.HTTP( GET / POST) La era post-pc

Más detalles

Servlets. Unidad: 4 Laboratorio de Programación. Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos

Servlets. Unidad: 4 Laboratorio de Programación. Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos Servlets Unidad: 4 Laboratorio de Programación Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos Indice Introducción CGI Servlets: concepto, caracteristicas Servlets Vs. CGI Ciclo

Más detalles

ACCIÓN FORMATIVA FINANCIADA POR EL SERVICIO PÚBLICO DE EMPLEO ESTATAL

ACCIÓN FORMATIVA FINANCIADA POR EL SERVICIO PÚBLICO DE EMPLEO ESTATAL MF0491_3: PROGRAMACIÓN WEB EN EL ENTORNO CLIENTE. (IFCD0210: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB) 180 HORAS PRESENCIALES Nº DE EXPEDIENTE: FC/2013/0064 ACCION 141 GRUPO 1 ACCIÓN FORMATIVA FINANCIADA

Más detalles

Objetivo de aprendizaje del tema

Objetivo de aprendizaje del tema Computación II Tema 13. Servlets Objetivo de aprendizaje del tema Al finalizar el tema serás capaz de: Describir las características ti de las aplicaciones i Web y los protocolos que intervienen en la

Más detalles

MWEB 2007 Acceso Dinámico a Servicios de una Infraestructura Web desde Teléfonos Móviles

MWEB 2007 Acceso Dinámico a Servicios de una Infraestructura Web desde Teléfonos Móviles MWEB 2007 Acceso Dinámico a Servicios de una Infraestructura Web desde Teléfonos Móviles Elena Sánchez Nielsen Sandra Martín Ruiz Jorge Rodríguez Pedrianes UNIVERSIDAD DE LA LAGUNA CONTENIDO DE LA PRESENTACIÓN

Más detalles

Sistemas de distribución y entrega de contenidos. Nuevos paradigmas.

Sistemas de distribución y entrega de contenidos. Nuevos paradigmas. Sistemas de distribución y entrega de contenidos. Nuevos paradigmas. Encarna Pastor Dpto. Ingeniería de Sistemas Telemáticos ETSIT - Entrega de contenidos clásica: web y HTTP Internet Cliente web Servidor

Más detalles

Funcionamiento de Servicios Web, FTP

Funcionamiento de Servicios Web, FTP Funcionamiento de Servicios Web, FTP Tema 2.- Nivel de aplicación en Internet Dr. Daniel Morató Redes de Computadores Ingeniero Técnico en Informática de Gestión, 2º curso Material adaptado del libro Computer

Más detalles

Cabecera de los mensajes de correo electrónico RFC 822

Cabecera de los mensajes de correo electrónico RFC 822 Internet: Aplicaciones Transmisión de datos y redes de ordenadores Internet: Aplicaciones La familia de protocolos TCP/IP La capa de red en Internet El protocolo IP Protocolos auxiliares La capa de transporte

Más detalles

TEMA 8. Internet y la World Wide Web. Álvarez, S., Bravo, S., Departamento de Informática y automática Universidad de Salamanca

TEMA 8. Internet y la World Wide Web. Álvarez, S., Bravo, S., Departamento de Informática y automática Universidad de Salamanca TEMA 8 Internet y la World Wide Web Álvarez, S., Bravo, S., Departamento de Informática y automática Universidad de Salamanca Qué es Internet? Algunos autores, Internet es un acrónimo de INTERconected

Más detalles

PREPARATORIA DIURNA DE CUAUTLA

PREPARATORIA DIURNA DE CUAUTLA PREPARATORIA DIURNA DE CUAUTLA Taller de computación II Profr. ING. AARON TABOADA LOMEZ Tecnologías de la Información y Comunicación (TIC) Son aquellas herramientas computacionales que procesan, almacenan,

Más detalles

CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL. Nivel 2. Versión 6. Actualización

CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL. Nivel 2. Versión 6. Actualización Página 1 de 19 CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 2 Código IFC297_2 Versión 6 Situación Contraste externo Actualización

Más detalles

Tema 4: Internet y Teleinformática. Informática Básica

Tema 4: Internet y Teleinformática. Informática Básica Tema 4: Internet y Teleinformática Informática Básica Licesio J. Rodríguez-Aragón Departamento de Informática, Estadística y Telemática Universidad Rey Juan Carlos Tema 4: Internet y Teleinformática 1

Más detalles

WEB Y HTTP. HTTP: Hypertext Transfer Protocol [RFC 1945] [RFC 2616] Web Page URL (Uniform/Universal Resource Identifier)

WEB Y HTTP. HTTP: Hypertext Transfer Protocol [RFC 1945] [RFC 2616] Web Page URL (Uniform/Universal Resource Identifier) WEB Y HTTP Al comienzo de los 90 Prodigy, america online, compuserve, redes de datos nacionales, x.25, framerelay Télefono 1870, radio/televisión broadcast- 1920, 1930, Web Web: Forms, javascript, java

Más detalles

Estándares y Protocolos de IABIN

Estándares y Protocolos de IABIN La arquitectura del sistema adoptada por IABIN se basa en la amplia flexibilidad y soporte de los sistemas desarrollados con base en el web, y tiene una inherente capacidad de soportar los requerimientos

Más detalles

SISTEMAS DE INFORMACIÓN III TEORÍA

SISTEMAS DE INFORMACIÓN III TEORÍA CONTENIDO: Introducción a los Web services Las bases de los Web services La nueva generación de la Web Interactuando con los Web services La tecnología de Web services XML: Lo fundamental WSDL: Describiendo

Más detalles

Poder Judicial de Tucumán Año 2013

Poder Judicial de Tucumán Año 2013 Internet y Correo electrónico El presente instructivo corresponde a una guía básica para el manejo de los programas y para la adquisición de conceptos en relación a estos utilitarios. No obstante ello,

Más detalles

Servicios web. Jorge Iván Meza Martínez jimezam@gmail.com

Servicios web. Jorge Iván Meza Martínez jimezam@gmail.com Servicios web Jorge Iván Meza Martínez jimezam@gmail.com Especialización en Gestión de Redes de Datos Universidad Nacional de Colombia Sede Manizales 1/71 Contenidos Que es un servicio web. Tecnologías

Más detalles

Servicio de publicación de información web (HTTP)

Servicio de publicación de información web (HTTP) Servicio de publicación de información web (HTTP) La Web es uno de los servicios más comunes en Internet, tanto que se ha convertido en su cara visible para la mayoría de los usuarios. Una página Web empezó

Más detalles

Entorno. @xavipalu. Multimedia

Entorno. @xavipalu. Multimedia Entorno Multimedia 07 World Wide Web World Wide Web Qué es? Cómo funciona? Lenguaje Tipologias World Wide Web / Qué es? World Wide Web WWW Sistema de distribución de información basado en hipertexto o

Más detalles

Desarrollo y servicios web

Desarrollo y servicios web Desarrollo y servicios web Luisa Fernanda Rincón Pérez 2014-2 Qué vimos la clase pasada? Introducción a Big Data Introducción a bases de datos NOSQL Características bases de datos NOSQL MongoDB como motor

Más detalles

Simulador de Protocolos de Red a tráves de WEB

Simulador de Protocolos de Red a tráves de WEB Simulador de Protocolos de Red a tráves de WEB Propuesta de Estudio 20071608 Director Ing. Francisco Antonio Polanco Montelongo Resumen Introducción Actualmente, el desarrollo tecnológico a alcanzado niveles

Más detalles

Antes de comenzar un sitio. Empezar un sitio web

Antes de comenzar un sitio. Empezar un sitio web Antes de comenzar un sitio Es muy recomendable realizar la siguiente actividad, de evaluación de páginas web, para tener ideas y recursos. http://www.uamvirtual.es/mod/assignment/view.php?id=3228 Empezar

Más detalles

1. Instala servicios de configuración dinámica, describiendo sus características y aplicaciones.

1. Instala servicios de configuración dinámica, describiendo sus características y aplicaciones. Módulo Profesional: Servicios en Red. Código: 0227. Resultados de aprendizaje y criterios de evaluación. 1. Instala servicios de configuración dinámica, describiendo sus características y aplicaciones.

Más detalles

Memoria Compartida Distribuida (DSM) Sistema de Archivos

Memoria Compartida Distribuida (DSM) Sistema de Archivos Memoria Compartida Distribuida (DSM) La memoria compartida distribuida es una abstracción que se propone como alternativa a la comunicación por mensajes. Memoria compartida basada en páginas: este esquema

Más detalles

Escuela de Ingeniería en Informática Empresarial SYLLABUS

Escuela de Ingeniería en Informática Empresarial SYLLABUS Nombre módulo PROGRAMACIÓN Y TALLER DE INTERNET Nº créditos 10 ECTS ( 270 horas totales, 108 horas presenciales, 162 horas de trabajo autónomo) Nivel Requisitos Responsable(s) de la construcción del syllabus

Más detalles

Bienvenidos a la presentación: Introducción a conceptos básicos de programación.

Bienvenidos a la presentación: Introducción a conceptos básicos de programación. Bienvenidos a la presentación: Introducción a conceptos básicos de programación. 1 Los programas de computadora son una serie de instrucciones que le dicen a una computadora qué hacer exactamente. Los

Más detalles

Introducción a RIA. Andrés Pastorini. TRIA Tecnólogo Informático

Introducción a RIA. Andrés Pastorini. TRIA Tecnólogo Informático a RIA Andrés Pastorini TRIA Tecnólogo Informático El objetivo principal de la asignatura es forma al estudiante en el diseño y desarrollo de aplicaciones web ricas. Los objetivos de la asignatura son:

Más detalles

Web Services. Richard Rossel rrossel@inf.utfsm.cl. 23 de noviembre de 2004. Web Services

Web Services. Richard Rossel rrossel@inf.utfsm.cl. 23 de noviembre de 2004. Web Services Richard Rossel rrossel@inf.utfsm.cl 23 de noviembre de 2004 JAVA2 TOC s JAVA2 JAVA2 Definición Aplicaciones Autocontenidas y Modulares Basado en estándares (XML,HTTP) Aplicaciones se anuncian por la red

Más detalles

Qué es una aplicación web

Qué es una aplicación web Departamento de Lenguajes y Sistemas Informáticos Qué es una aplicación web Programación en Internet Curso 2006-2007 Índice Introducción Cliente Servidor Transferencia páginas web Entornos web Ventajas

Más detalles